Retour d’expérience sur Angular 4 et Ionic 3

Digital, Javascript

Angular 4, encore une nouvelle version ?

Vous connaissez sûrement AngularJS, un framework JavaScript pour créer facilement des applications web dynamiques et maintenables.

Vous aviez peut-être entendu de la sortie fracassante de son successeur, Angular 2.

Une application écrite dans la première version n’est pas du tout compatible avec la deuxième : changement de langage, changement de la syntaxe des templates, plus de “controllers” ou de “$scope”, mais des “components” …

Pour avoir travaillé plus d’un an sur un projet AngularJS 1.x, je peux vous dire qu’à première vue, ça peut surprendre. Une mise à jour qui implique une réécriture quasi-totale du code front-end demande un investissement conséquent.

Pour expliquer ces changements radicaux, il faut réaliser à quel point AngularJS est un projet ambitieux : il ne s’agit pas seulement d’un système de templates dynamique, mais d’un framework complet pour écrire des applications front-end complexes.

Il faut aussi prendre en compte l’évolution de l’écosystème javascript depuis sa sortie initiale, avec l’architecture orientée composant, ES2015, TypeScript, et les systèmes de gestion de dépendances et de build front-end basés sur node.js (npm, webpack).

L’equipe Angular a fait le choix de rester à jour, et a énormément simplifié l’architecture du framework, au prix de la rétro-compatibilité.

Mais qu’en est-il de la version 3 ? Pour une raison de convention de nommage d’un sous-projet angular (le routeur), il n’y aura pas de version 3.

Voir notre article : Mais où est passé Angular 3 ?

Et la version 4 ? Rassurez-vous, Angular 4 est quasiment identique à Angular 2, il s’agit en fait plutôt d’un patch que d’une version majeure. Pas besoin de réécrire votre application, vous pouvez faire la mise à jour sereinement.

Pour conclure, Angular 4 est plus facile d’accès, et encourage l’écriture d’un code plus maintenable et plus performant que la première version du framework.

Ionic 3, le développement mobile multi-plateforme accessible

Présentation

Ionic est un framework pour construire des applications mobiles hybrides, c’est à dire basées sur des technologies web (HTML5, CSS3, JavaScript) plutôt que native (Java pour Android, Swift pour IOS).

Il utilise plus particulièrement Angular 4, Cordova, et SASS.

Ses atouts sont les suivants :

  • “Write once, run anywhere”
  • L’écosystème JavaScript moderne avec NPM
  • Un serveur de développement avec live-reload et rendu android et ios
  • Une bibliothèque de composants UI qui imitent le rendu natif de chaque plateforme
  • Un système de thème, pour customiser facilement le design de l’application sans écrire des centaines de lignes de css
  • Un accès simplifié aux fonctionnalités natives de l’appareil, comme le GPS, la caméra, le scanner NFC …
  • Un système de build pour compiler et déployer l’application sur une VM ou un appareil
  • Un système de déploiement en ligne via ionic-view, pour faire tester son application sans passer directement par un apk
  • Un système de build et de publication en ligne, au cas où vous n’auriez pas de mac à disposition

Pour résumer, Ionic offre une expérience de développement productive et confortable.

Comparé au natif

Pour certains besoins bien particuliers les applications hybrides pourront être jugées moins performantes que leurs équivalents natifs. Certains diront que l’accès aux toutes dernières fonctionnalités d’un appareil peut s’avérer un peu expérimental.

Rassurez-vous, si c’était vrai il y a quelques années, les technologies mobiles évoluent vite et ces inquiétudes n’ont plus lieu d’être dans la plupart des situations.

Ajoutons à cela qu’avec des frameworks comme Ionic arrivés aujourd’hui à maturité, le coût d’un développement multiplateforme devient beaucoup plus rationnel avec une approche hybride que dans des environnements natifs multiple.

Dans un contexte de maintenance adaptative et évolutive d’une application sur un parc fractionné, cette approche prend alors tout son sens…

 

 

(Visited 2 943 times, 1 visits today)
Suivez nous sur Twitter
Envoyez nous un mail

Comments

comments