Angular Js: Pros & Cons
Chez Toucan Toco on aime partager notre connaissance et participer à des meetups. En moyenne, nous faisons 3 meetups par semaine, sans compter les cours de dataviz à l’Ensae et de Data Science à Télécom ParisTech. Nous intervenons aussi sur des sujets tech comme les langages de développement.
Meetup D3.js: AngularJs fait partie de la catégorie des frameworks. C’est un ensemble de composants logiciels structurels à l’image de l’ensemble des pièces d’une armoire IKEA attendant d’être assemblées. Grâce à ces composants, on est en mesure de créer les fondations et l’architecture d’un logiciel.
On utilise AngularJS pour construire des sites Web mais on parle plutôt d’applications web. Le framework est l’un des plus populaires du moment grâce à son infrastructure MVVM ou Modèle-Vue-VueModèle. Il permet de développer des applications beaucoup plus rapidement. Plus besoin de tout gérer dans le code sans avoir une idée du rendu final. En utilisant la vue HTML d’origine dans laquelle on injecte des éléments de logique, AngularJS nous simplifie le prototyping et permet de communiquer facilement avec des intégrateurs. De plus, AngularJS répercute directement les mises à jour d’un élément à l’autre.
Le framework possède d’autres points forts. L’un d’eux: s’intégrer facilement avec à peu près tout ; pour peu qu’on ait compris comment indiquer à AngularJS qu’un composant a fait des modifications hors de ses cycles de mises à jour (le fameux $scope.$apply). Un autre point fort est de disposer de directives, ou blocs du DOM (Document Object Model), réutilisables que l’on peut voir comme des précurseurs des web components.
Il y a peu d’inconvénients à l’utilisation de ce framework pour commencer à créer une petite application ou un prototype. Il est d’ailleurs soutenu par les géants du web Google et Microsoft.
Les problèmes qui peuvent apparaître plus tard viennent de sa nature uniquement “rendu client” d’une part (le SEO – référencement – est complexe) et d’autre part de son système de propagation des mises à jour: le double-binding est très pratique pour des petites apps, mais devient compliqué à gérer lorsqu’un grand nombre de composants se mettent à modifier le state de l’application. Ces concerns sont adressés dans la version 2 du framework (en bêta), et en partie dans la version 1.5 déjà disponible.
D3.js, AngularJs, ce qu’il faut en retenir
En résumé, voilà ce qu’il faut retenir de l’utilisation de AngularJS :
- Un développement rapide des Web Apps
- Une intégration rapide des plugins existants avec un peu de plomberie
- Des directives que l’on peut partager et réutiliser
- Un référencement difficile sur Google
MongoDB: Pros & Cons
MongoDB est un système de gestion de base de données orienté documents, répartissable sur un nombre quelconque de serveurs.
MongoDB est schemaless, c’est-à-dire qu’on peut y stocker ensemble (i.e. dans une même collection) des données de nature variées. À l’opposé aux bases SQL qui nécessitent de définir des tables avec des colonnes bien précises, MongoDB permet de stocker des objets sans présupposer de cette catégorisation. Pour faire simple, dans une collection MongoDB, on peut stocker n’importe quel objet de type BSON, proche du format JSON.
MongoDB tire de cela un langage de query très expressif et simple pour les applications et APIs qui communiquent grâce à du JSON.
Cerise sur le gâteau, MongoDB propose un aggregation framework qui le rend très utile et simple pour faire de nombreux calculs intéressants en Business Intelligence.
MongoDB en résumé
Ce qu’il faut retenir de cette base de données :
- Schemaless, liberté aux apps de gérer des modèles de données comme elles l’entendent
- Des requêtes expressives et simples
- Particulièrement adapté au monde Web/JavaScript
- Agrégation facile
Et chez Toucan Toco ?
Chez Toucan Toco ces deux outils sont à la base du développement de nos Small Apps.
Notre philosophie, mobile-first et modulaire, se prête à l’utilisation d’AngularJS que nous combinons avec différentes bibliothèques pour les besoins plus particuliers de chacun de nos composants.
L’utilisation de MongoDB nous permet d’héberger les données de nos clients, toutes particulières et structurées différemment. Nous pouvons ainsi fournir un système efficace et simple pour intégrer rapidement aussi bien des informations de marché, des statistiques RH ou encore des résultats d’enquêtes.
Ces deux outils nous permettent de travailler avec agilité, permettant de déployer rapidement des fonctionnalités puissantes. C’est grâce à elles (et bien d’autres) que nous réalisons le data storytelling efficace que vous avez peut-être déjà vu lors d’une démonstration ou sur une de nos applications.
On vous attend !
Pour s’initier à AngularJS et MongoDB ou tout simplement redécouvrir ces deux outils, retrouvez le cours de David sur Github et n’hésitez pas à rejoindre un de nos meetup D3Js .
Surtout, n’hésitez pas à venir un midi pour poser vos questions.
David Nowinsky & Cécile Juen