What do we do?

How do we choose?

  • Support des développeurs
  • Communauté (documentation, packages)
  • Performance / PWA
  • Architecture
  • License
  • Hypes ?!

What drives the choice?

  • Sortie du Profile Capture d'ici la fin de l'année
  • Peu d'évolution du code dès la fin de la reprise Desktop
  • Une équipe constituée de Sénior

A Little Bit of Context

Ember

Backbone

jQuery

Cycle

Knockout

Angular 1.x

Angular 4.x

React

Vue 2

Polymer

Angular 1.x

+

  • Stack actuelle
  • Communauté
  • Framework

-

  • Support incertain
  • Stack vieillissante
  • Hype ?!
  • Performances
  • Cycle de $digest

Angular 4.x

+

  • Framework
  • Communauté
  • TypeScript
  • Performances

-

  • TypeScript
  • Coupling
  • Complexité du code
  • Complexité générale
  • Hype !!

React

+

  • Communauté
  • Librairie
  • Performances
  • Architecture
  • react-router
  • react-intl
  • redux
  • Hype !!

-

  • Choices
  • No separation of concern

Vue 2.x

+

  • Communauté
  • Librairie
  • Performances
  • Architecture
  • vuex
  • vue-router
  • Hype !
  • Separation of concern
  • vuex / router by Vue developers

-

  • Choices
  • binding FormatJS

Polymer

+

  • Normes natives HTML
  • Librairie
  • Performances
  • Architecture
  • Hype !
  • Separation of concern
  • Librairies Google nombreuses

-

  • Communauté
  • binding FormatJS
  • Polyfills un peu lourds

i18n

State Management

Axios

  • basée sur XHR
  • cancel request
  • timeout request
  • riche avec transformers et interceptors

Fetch

  • bas level
  • native
  • streaming par défaut
  • Service Worker
  • peu intuitive

deck

By Kevin Le Brun

deck

  • 1,192