-
Notifications
You must be signed in to change notification settings - Fork 89
webide v3 guidelines
Nedelcho Delchev edited this page Oct 7, 2017
·
3 revisions
Since version 3.0 Dirigible WebIDE is no more based on Eclipse RAP and OSGi/Equinox frameworks. It is based on Google AngularJS and Twitter Bootstrap as a foundation as well as the GoldenLayout framework for window management. There are several "must know" principles on which the perspectives, views and editors are built as of now.
- Atomicity - each and every view and editor have to provide atomic set of capabilities without cross references to the other views/editors. For instance every editor have to perform the "save" functionality by itself by calling the corresponding backend service.
- Loosely Coupling - every view/editor must communicate with the other views/editors only via the MessageHub. More details about the current APIs below.
- Theming - each and every view/editor must be theme-able e.g. to refer to central managed theme service as well as to respond to the theme change.
- Extensibility - views/editors can provide Extension Points wherever is applicable for enhancement. The standard Dirigible's extensibility mechanism must be used.
- Isolation - every Perspective must be implemented as a separate "index.html" entry point and opened in a new window. Every view/editor is embedded in a HTML IFrame. There is a set of ready-to-use UI components for MenuBar, SideBar, StatusBar, etc. which helps in creation of new perspectives from scratch.