User Tools

Site Tools


blog:eclipse_way_core_values

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Last revision Both sides next revision
blog:eclipse_way_core_values [2018/02/01 11:32]
djo [The Eclipse Modularity Story]
blog:eclipse_way_core_values [2018/02/01 11:33]
djo [The Eclipse Modularity Story]
Line 20: Line 20:
 In my experience, there are two key aspects to this plug-in system that help it to succeed as well as it has both technically and from a product-management perspective. ​ These are: In my experience, there are two key aspects to this plug-in system that help it to succeed as well as it has both technically and from a product-management perspective. ​ These are:
  
-  - **Internal vs. External API:​**  ​Separate ​code that is intended to be consumed by other projects from internal implementation detail.  ​Provide ​strong guarantees to customers that External API may be evolved, but not in a way that breaks their code.  Internal APIs, on the other hand, may break, change, or be completely rewritten as needed.+  - **Internal vs. External API:​**  ​Eclipse separates ​code that is intended to be consumed by other projects from internal implementation detail.  ​Further, developers provide ​strong guarantees to customers that External API may be evolved, but not in a way that breaks their code.  Internal APIs, on the other hand, may break, change, or be completely rewritten as needed.
   - **Isolate plug-ins from changes in dependencies of dependencies:​** ​ Eclipse'​s plug-in engine sandboxes and isolates plug-ins from being able to view or change transitive dependencies of dependencies. ​ This minimizes "​version hell" caused by these transitive dependencies utilizing conflicting versions of the same library. ​ The purpose is again to enable interdependent projects to evolve independently.   - **Isolate plug-ins from changes in dependencies of dependencies:​** ​ Eclipse'​s plug-in engine sandboxes and isolates plug-ins from being able to view or change transitive dependencies of dependencies. ​ This minimizes "​version hell" caused by these transitive dependencies utilizing conflicting versions of the same library. ​ The purpose is again to enable interdependent projects to evolve independently.
  
blog/eclipse_way_core_values.txt ยท Last modified: 2018/02/01 11:37 by djo