Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rethinking Reactive Architectures

Frontend NE
November 02, 2017

Rethinking Reactive Architectures

Regardless of your JavaScript framework of choice, this talk should be interesting as it goes into detail about how and why the Dojo team implemented things the way they have in Dojo 2. ES6+, TypeScript, reactive programming, web components – it's all in there!

Frontend NE

November 02, 2017
Tweet

More Decks by Frontend NE

Other Decks in Technology

Transcript

  1. Quality • Robust tests, comprehensive coverage • Careful and deliberate

    effort to find the right combination of tools, tech, approach and patterns
  2. TypeScript • Superset of ES6+ • Semi-monthly release cycle •

    Types • Interfaces • Code intent, easier to reason about code • First class IDE support
  3. Reactivity • Uni-directional data flow • React to/observe changes to

    data • Easier to test UI components • Very efficient when used with VDOM • Virtual DOM, ES.Next Observables, Task/Scheduler
  4. • Everything in TS • No templates/parsing! • Raw CSS

    (and css-next)! • Suite of OOTB widgets • Easily extensible Widgets
  5. • dojo create -name MyApp && dojo build -w •

    Up and running in seconds… • Modifying and deploying real apps in minutes… Simple OOTB
  6. • Currently ~ 25 packages • @dojo npm scoped package

    • github.com/dojo/meta Modular Packages
  7. Foundational packages widgets dgrid i18n core shim has interfaces routing

    cli app create build test stores interop widget-core Tooling Applica7on Widgets Component Core
  8. Cleaner code • Declarative and easier to understand, test, &

    debug • More efficient with asynchronous operations • Standard mechanism for error recovery • More maintainable • Consistent API Reactivity benefits:
  9. Simpler UI • Simple handing of UI interactions/events • Easier

    management of the UI thread Reactivity benefits:
  10. Base theme CSS and TS source maps Mobile ready Theming

    (scoped classes, css-next, CSS modules) Themes
  11. Flexible and reactive data stores (successor to dstore) Easy to

    connect to widgets Manage client-side data Data Stores
  12. • Beta 1: March 28th • Beta 2: August 26th

    • Beta 3: September 21st • Beta 4: ~ November 9th • Beta 5: ~ December 7th • RC 1: Late December or early January • 2.0: January or February, 2018 Roadmap