UI landscape evaluation.

So glad to be back in Webix world, after meandering through React and Angular aimlessly for the past couple weeks evaluating hundreds of ui frameworks, templates, boilerplates on github! (I evaluated 1500 projects).

Here are my take-aways:

  1. Angular2 - not ready for production yet.

  2. React - virtual DOM is a nice idea, but 2-way binding and other features make it overly complicated (like Angualar 1x is).

Also, React is just view, and there are dozens of different viewmodel implementations, most of which are copies of the Elm Architecture, without the underlying Elm language support features.

  1. Typing: Elm, Flow, Typescript all offer static typing
  • webix needs a better answer here (I’d recommend Typescript - current Webix.d.ts is several versions behind, and doesn’t use latest Typescript concepts, e.g:
  • Stateless View Components, and
  • String literal types.
  1. Browser-based Development tools:
  • React, Redux, CerebralJS, all implement some version of the Elm Time-traveling debugger.
  1. Hot-swap development.

  2. React and Angular components have spotty browser support - especially for complex components like DataTables. e.g. React’s fixed-data-tables (from Facebook’s React team) - completely broken in most versions of IE.

So, my suggestions for Webix:

  1. Implement or integrate a reactive view model framework, (Kefir.js/Bacon.js/or RxJs), possible an immutable one.

  2. look at above projects for Browser-based debugging tools.

  3. Implement hot-reloading browser development (I have an example working with Typescript, Webpack, and BrowserSync).

  4. Update Typescript definitions, with the TS 1.8 features.

  5. Provide an example with the above features

Dave