Deviens un ninja avec Angular 2 : le livre

ng2-simple

Je ne vais rien vous apprendre en vous disant que la version 2 d'Angular est sortie, par contre il est toujours intéressant de savoir comment utiliser une technologie, une librairie ou un framework. Je ne vais non pas vous faire un article de type "quick start" mais plutôt vous parler d'un livre que je trouve particulièrement intéressant "Deviens un ninja avec Angular 2".

Un mot sur l'éditeur

Ce livre est édité par la société Ninja Squad, société française, dont les métiers sont le développement, la formation et l'expertise informatique. En plus de cela Ninja Squad a édité deux ouvrages "Devenez un ninja avec AngularJS" (que je recommande également si vous voulez faire du AngularJS version 1) et "Deviens un ninja avec Angular 2" accessibles à cette adresse.

Le concept

Tout d'abord ne cherchez pas ce livre en librairie, il est proposé uniquement sous la forme d'un livre électronique et disponible seulement sur le site Ninja Squad. Un point très intéressant concernant ce livre c'est son mode tarifaire, en effet il est proposé selon le principe du tarif libre, avec un montant minium très faible permettant au plus grand nombre de l'acquérir. Je trouve que cette démarche est tout à leur honneur d'autant qu'on peut également faire don d'une part du prix à "Electronic Frontier Fondation", une organisation à but non lucratif pour la défense de la libre expression sur Internet.

Vous pouvez aussi faire le choix du pack professionnel dont je vous laisse le soin de découvrir le contenu et son prix ;).

Sur le ton le livre se veut léger mais en gardant un objectif de qualité professionnelle pour partager leur expérience et leur expertise afin de présenter les avantages, les inconvénients et les pièges liés à Angular.

Le contenu

Avant de vous lancer directement dans le  bain d'Angluar, le livre prend le temps de faire un tour d'horizon d'ECMASCRIPT 6 et de TypeScript. Si vous ne connaissez ni l'un ni l'autre c'est une très bonne idée de les lire, surtout celui sur TypeScript, sinon vous aurez plus de difficultés à bien appréhender la suite du livre.

Bien qu'ECMASCRIPT 6 ne soit pas encore complètement pris en compte par tous les navigateurs actuels, il sera bientôt le standard. Il faut donc être familiarisé avec ses concepts clés dès à présent. TypeScript est un des choix possibles pour faire du développement en AngularJS 2, les autres étant en Javascript pur ou en Dart. TypeScript apporte des fonctionnalités très intéressantes qui rendront votre application plus robuste et qui feront peut être même aimé Javascript à certains réfractaires tels que les classes, les interfaces, le typage des variables et des retours de méthodes, et encore d'autres features forts sympathiques.

Après un peu de culture personnelle sur les Web Components, décrits de manière claire et concise, parfait pour comprendre les concepts vers lesquels tend AngularJs 2 décrits au chapitre suivant, vous allez voir ce que la bête a sous le capot.

Je ne vais pas vous faire un résumé complet du contenu de la dizaine de chapitres qui détaillent les différentes fonctionnalités d'Angular 2 traitées dans ce livre dont voici la liste :

  1. Commencer de zéro
  2. La syntaxe des templates
  3. Injection de dépendances
  4. Pipes
  5. Programmation réactive
  6. Créer des composants et directives
  7. Services
  8. Formulaires
  9. Envoyer et recevoir des données par HTTP
  10. Tests
  11. Routeur
  12. Les Zones et la magie d’Angular

mais plutôt vous donner mon ressenti.

Ce que j'ai apprécié c'est le côté accessible et pédagogique avec lequel l'auteur s'adresse aux lecteurs. On a vraiment la sensation que l'auteur veut nous apprendre quelque chose en expliquant pourquoi ça marche et comment ça pouvait marcher dans la version 1 d'Angular. On ne se retrouve pas dans une énumération de faits et principes à accepter bêtement sans réfléchir au pourquoi du comment.

Du point de vue du contenu, c'est un livre qui fait environ 200 pages, donc ce n'est pas une bible dans laquelle vous retrouvez tous les composants, les directives, classes et autres (pour ça il y a la documentation d'Angular), mais malgré tout, les fonctions essentielles pour la création d'une application web sont là et elles sont bien expliquées. Il y a la partie sur les routes qui demande encore à être développée, mais c'est dans les tuyaux au moment où je rédige cet article. Mais sinon tout est là, même les tests! Les exemples de code sont simples et courts - heureusement car les sources des exemples ne sont pas fournies 🙁 -, et fonctionnent :D. L'auteur a même pris le soin de donner des alternatives de code pour un même résultat, par exemple avec les notations condensées et canoniques, avec toujours ce ton léger, mélanger d'une pointe d'humour, la méthode de "la boîte à bananes" est diablement efficace.

Conclusion

Connaissant déjà Angular 1.x au travers de différents projets sur lesquels j'ai travaillé en tant que développeur, j'étais déjà en terrain connu vis à vis d'Angular mais vu le gap non négligeable qu'il y a entre la version 1 et 2, que l'on ait ou pas des connaissances en Angular 1 ne change pas beaucoup, à mon avis, la pris en main de ce livre et la compréhension de son contenu, il s'adresse à tout le monde.

La version que j'ai lu date du 11/05/2016 : je précise cela parce que le livre évolue, de même qu'Angular 2 évolue, et dans la road map du livre il y a par exemple ceci :

  • Routeur
    • Composants imbriqués
    • Routes auxiliaires
    • Route async
    • RouteData
  • Migration vers Angular 2
  • Concepts avancés
    • Rendu côté serveur
    • Pour les mobiles
    • Optimisation des performances

Donc beaucoup de sujets très intéressants que j'attends avec impatience de voir comment l'auteur les a abordés, comme les mises à jour sont gratuites c'est que du bonus.

Un petit bémol, j'aurais bien aimé que l'auteur accorde un petit chapitre sur webpack, à bon entendeur.

Sur ce je vous souhaite bonne lecture et vous salue bien.

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.