aurelia-ui-toolkits / aurelia-syncfusion-bridge

27 stars 21 forks source link

High level definition of the Aurelia-Syncfusion project #1

Closed adriatic closed 8 years ago

adriatic commented 8 years ago

This definition of the project is a proposal by Aurelia-UI-Toolkits team. Before it gets accepted in its original or modified form, it has to thoroughly vetted and approved by Syncfusion team

Please post your comments, as additional comments to this issue.

adriatic commented 8 years ago

High level definition of Aurelia-Syncfusion bridge project

Aurelia-Syncfusion bridge is a special type of an Aurelia application - Aurelia plugin, term defined by the following paragraph:

Aurelia integrates well with 3rd party libraries. Just jspm install the library you want to use, import it in your JavaScript module and then start coding with it. Some libraries may be built specifically for Aurelia. As a developer, you use those in the same way: install, import and code. However, the author of an Aurelia-specific library may choose to take advantage of our plugin model. By implementing a library as a plugin, the plugin author has the opportunity to run code as part of Aurelia's startup sequence, before anything is rendered. A plugin is provided with the same FrameworkConfiguration instance that is available to the app developer during the bootstrapping phase. As a result, a plugin can configure Aurelia in any way it wants. Typical tasks for a plugin might be to register services in the dependency injection container or customize some part of Aurelia's configuration. They might even do feature detection and install polyfills where appropriate.

In order to dramatically simplify the support for testing the bridge at the same time it is being developed , Aurelia-Syncfusion bridge is designed as a composite application: the _bridge plugin_ and the _catalog application_, both being a part of the same repository, sharing the private "connection" between them. So, the typical task of _adding_ a Syncfusion widget consists of the following steps:

  1. Create the Aurelia _widget wrapper_ and add it to the bridge (plugin). This process makes the original widget available to the application developer as fully conformant Aurelia _component._
  2. Create the sample Aurelia applet which fetches this new widget packaged as a component and shows all interesting aspects of this component on a single page of. above mentioned _catalog application_ . This catalog application is the (equivalent) Aurelia version of Syncfusion's Essential JS Showcase samples web application.

See quick bridge developer's tutorial document for more detailed description of the this two step process:


The following two images show this suggested equivalence. Note that the second image will be replaced with Syncfusion Rich Text Editor widget converted to Aurelia component.



Syncfusion Rich Text Editor widget




KendoUI Rich Text Editor component

bharathm03 commented 8 years ago

@adriatic this definition document is fine for us.

adriatic commented 8 years ago

Wonderful - I really appreciate having each issue (like this one) concluded with the confirmation that all is fine :-)