Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Scout/Coding Guidelines"

(Additions)
Line 5: Line 5:
 
== API Compatibility ==
 
== API Compatibility ==
  
The scout RT API are downwards compatible with your the previous release. Some modifications are marked with the keyword '''migration''' in bugzilla meaning that some modifications are requested.
+
We try to make migration to new releases as easy as possible, however to keep our code clean and simple we need to change the API in new releases.
  
=== Additions ===
+
=== Impact of API Changes ===
 +
'''Scout Runtime:''' API Changes in the Scout Client Model, Scout Services, Utilities, etc. can have a large impact for projects using Scout, wereas changes in the UI layer (*.swt, *.swing, *.rap) are usually not relevant for projects. API changes in the Scout Runtime may require changes in the Scout SDK, Scout Demo Application, documentation, etc.
 +
 
 +
'''Scout SDK:''' Not many projects are extending the Scout SDK, therefore API changes are not so critical there.
 +
 
 +
=== What is Puplic API in Scout?===
 +
'''Internal Packages:''' Packages ending with .internal are not considered API. The use of such packages is possible, but discouraged. All internal packages should be exported, such that they can be used, if really needed.
 +
 
 +
'''UI Plugins:''' Plugins *.ui.*  are not considered API. These plugins may change more frequently.
 +
 
 +
=== How to change/remove API===
 +
 
 +
=== Adding new API ===
  
 
Addition of a method on an interface is allowed if the default implementation is provided:
 
Addition of a method on an interface is allowed if the default implementation is provided:
Line 15: Line 27:
 
* UI Fields: e.g. rg.eclipse.scout.rt.ui.swing.AbstractSwingEnvironment, org.eclipse.scout.rt.ui.swing.form.fields.browserfield.internal.SwingScoutBrowserField
 
* UI Fields: e.g. rg.eclipse.scout.rt.ui.swing.AbstractSwingEnvironment, org.eclipse.scout.rt.ui.swing.form.fields.browserfield.internal.SwingScoutBrowserField
  
{{Note|TODO|extend this section}}.
+
=== Deprectations ===
 +
 
 +
The scout RT API are compatible with your the previous release. Some modifications are marked with the keyword '''migration''' in bugzilla meaning that some modifications are requested.

Revision as of 11:21, 1 April 2014

The Scout documentation has been moved to https://eclipsescout.github.io/.

This page collects the coding guidelines for the Eclipse Scout project

API Compatibility

We try to make migration to new releases as easy as possible, however to keep our code clean and simple we need to change the API in new releases.

Impact of API Changes

Scout Runtime: API Changes in the Scout Client Model, Scout Services, Utilities, etc. can have a large impact for projects using Scout, wereas changes in the UI layer (*.swt, *.swing, *.rap) are usually not relevant for projects. API changes in the Scout Runtime may require changes in the Scout SDK, Scout Demo Application, documentation, etc.

Scout SDK: Not many projects are extending the Scout SDK, therefore API changes are not so critical there.

What is Puplic API in Scout?

Internal Packages: Packages ending with .internal are not considered API. The use of such packages is possible, but discouraged. All internal packages should be exported, such that they can be used, if really needed.

UI Plugins: Plugins *.ui.* are not considered API. These plugins may change more frequently.

How to change/remove API

Adding new API

Addition of a method on an interface is allowed if the default implementation is provided:

This holds for

  • Abstract model classes: e.g. org.eclipse.scout.rt.client.ui.form.fields.stringfield.AbstractStringField
  • UI Fields: e.g. rg.eclipse.scout.rt.ui.swing.AbstractSwingEnvironment, org.eclipse.scout.rt.ui.swing.form.fields.browserfield.internal.SwingScoutBrowserField

Deprectations

The scout RT API are compatible with your the previous release. Some modifications are marked with the keyword migration in bugzilla meaning that some modifications are requested.

Back to the top