Skip to content
This repository was archived by the owner on Feb 25, 2019. It is now read-only.

Commit fc669f8

Browse files
docs(README): summarize project scope
1 parent 65254f9 commit fc669f8

File tree

1 file changed

+9
-23
lines changed

1 file changed

+9
-23
lines changed

README.md

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -22,31 +22,17 @@ The feature-level modularity offered by plugins makes writing large and complex
2222
programs more feasible. But it also helps to manage project scope, since every
2323
possible contingency for user requirements need not be planned for in advance.
2424
Users can obtain plugins created by third-party developers and even write their
25-
own. Open source and proprietary code can even coexist.
25+
own.
2626

27-
### Dependency Injection
27+
Sunstone aims to provide all the necessities for a successful plugin ecosystem:
28+
feature-level modularity, versioning, dependency and lifecycle management,
29+
component-level security, organizational conventions, and well-defined programming
30+
interfaces.
2831

29-
Nodejs' built in module system isn't adequate for a plugin architecture, because
30-
it would require the plugin developer to have knowledge of how the host
31-
application and even other plugins are implemented. Dependency injection solves
32-
this problem by abstracting the details of how to obtain plugin-component-level
33-
dependencies for use in other plugins. Sunstone's DI implementation borrows
34-
elements of the programming interface from AngularJS.
35-
36-
### Lifecycle Management
37-
38-
Plugins have a lifecycle that can be controlled during runtime. This enables
39-
features to be added and removed without restarting the application.
40-
41-
### Plugin Dependencies & Versioning
42-
43-
* Plugins are versioned and can depend on other plugins.
44-
45-
### Plugin Security
46-
47-
* Plugins can expose or protect components
48-
* Plugins are verified with signatures and checksums
49-
* Plugins be required to have permission to run
32+
Sunstone’s internal design is inspired by the Eclipse plugin model, and it’s API is
33+
modeled after AngularJS’ dependency injection. The former addresses application-level
34+
extensibility while the latter provides a programming interface that’s familiar and
35+
easy to learn.
5036

5137
## Completed Work
5238

0 commit comments

Comments
 (0)