Skip to content

webide v3 guidelines

Nedelcho Delchev edited this page Oct 7, 2017 · 3 revisions

WebIDE v3.x Guidelines

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.

  1. 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.
  2. Loosely Coupling - every view/editor must communicate with the other views/editors only via the MessageHub. More details about the current APIs below.
  3. 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.
  4. Extensibility - views/editors can provide Extension Points wherever is applicable for enhancement. The standard Dirigible's extensibility mechanism must be used.
  5. 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.