AngularJS - Présentation

AngularJS est un framework d'application Web open source. Il a été développé à l'origine en 2009 par Misko Hevery et Adam Abrons. Il est maintenant maintenu par Google. Sa dernière version est la 1.2.21.

La définition d'AngularJS telle que présentée par sa documentation officielle est la suivante -

AngularJS est un cadre structurel pour les applications Web dynamiques. Il vous permet d'utiliser HTML comme langage de modèle et vous permet d'étendre la syntaxe de HTML pour exprimer clairement et succinctement les composants de votre application. Sa liaison de données et son injection de dépendances éliminent une grande partie du code que vous devez actuellement écrire. Et tout se passe dans le navigateur, ce qui en fait le partenaire idéal de toute technologie de serveur.

Caractéristiques générales

Les caractéristiques générales d'AngularJS sont les suivantes -

  • AngularJS est un framework efficace qui peut créer des applications Internet riches (RIA).

  • AngularJS fournit aux développeurs des options pour écrire des applications côté client à l'aide de JavaScript d'une manière propre Model View Controller (MVC).

  • Les applications écrites en AngularJS sont compatibles avec tous les navigateurs. AngularJS gère automatiquement le code JavaScript adapté à chaque navigateur.

  • AngularJS est open source, entièrement gratuit et utilisé par des milliers de développeurs à travers le monde. Il est sous licence Apache version 2.0.

Dans l'ensemble, AngularJS est un framework permettant de créer des applications Web à grande échelle, hautes performances et faciles à entretenir.

CARACTERISTIQUES de base

Les principales fonctionnalités d'AngularJS sont les suivantes:

  • Data-binding - C'est la synchronisation automatique des données entre les composants du modèle et de la vue.

  • Scope- Ce sont des objets qui font référence au modèle. Ils agissent comme un lien entre le contrôleur et la vue.

  • Controller - Ce sont des fonctions JavaScript liées à une portée particulière.

  • Services- AngularJS est livré avec plusieurs services intégrés tels que $ http pour créer un XMLHttpRequests. Ce sont des objets singleton qui ne sont instanciés qu'une seule fois dans l'application.

  • Filters - Ceux-ci sélectionnent un sous-ensemble d'éléments dans un tableau et renvoie un nouveau tableau.

  • Directives- Les directives sont des marqueurs sur les éléments DOM tels que les éléments, les attributs, les css, etc. Ceux-ci peuvent être utilisés pour créer des balises HTML personnalisées qui servent de nouveaux widgets personnalisés. AngularJS a des directives intégrées telles que ngBind, ngModel, etc.

  • Templates- Il s'agit de la vue rendue avec les informations du contrôleur et du modèle. Il peut s'agir d'un seul fichier (tel que index.html) ou de plusieurs vues sur une page à l'aide de partiels .

  • Routing - C'est le concept de changement de vue.

  • Model View Whatever- MVW est un modèle de conception permettant de diviser une application en différentes parties appelées modèle, vue et contrôleur, chacune avec des responsabilités distinctes. AngularJS n'implémente pas MVC au sens traditionnel du terme, mais plutôt quelque chose de plus proche de MVVM (Model-View-ViewModel). L'équipe Angular JS l'appelle avec humour Model View Whatever.

  • Deep Linking- Le lien profond permet d'encoder l'état de l'application dans l'URL afin qu'elle puisse être mise en signet. L'application peut ensuite être restaurée à partir de l'URL dans le même état.

  • Dependency Injection - AngularJS dispose d'un sous-système d'injection de dépendances intégré qui aide le développeur à créer, comprendre et tester facilement les applications.

Concepts

Le diagramme suivant décrit certaines parties importantes d'AngularJS que nous discuterons en détail dans les chapitres suivants.

Avantages d'AngularJS

Les avantages d'AngularJS sont -

  • Il offre la possibilité de créer une application à page unique d'une manière très propre et maintenable.

  • Il fournit une capacité de liaison de données à HTML. Ainsi, il offre à l'utilisateur une expérience riche et réactive.

  • Le code AngularJS est testable unitaire.

  • AngularJS utilise l'injection de dépendances et utilise la séparation des préoccupations.

  • AngularJS fournit des composants réutilisables.

  • Avec AngularJS, les développeurs peuvent obtenir plus de fonctionnalités avec un code court.

  • Dans AngularJS, les vues sont de pures pages HTML et les contrôleurs écrits en JavaScript effectuent le traitement métier.

En plus de tout, les applications AngularJS peuvent fonctionner sur tous les principaux navigateurs et téléphones intelligents, y compris les téléphones / tablettes Android et iOS.

Inconvénients d'AngularJS

Bien qu'AngularJS présente de nombreux avantages, voici quelques points de préoccupation -

  • Not Secure- Étant uniquement un framework JavaScript, les applications écrites en AngularJS ne sont pas sûres. L'authentification et l'autorisation côté serveur sont indispensables pour garantir la sécurité d'une application.

  • Not degradable - Si l'utilisateur de votre application désactive JavaScript, alors rien ne sera visible, sauf la page de base.

Directives AngularJS

Le framework AngularJS peut être divisé en trois parties principales -

  • ng-app - Cette directive définit et lie une application AngularJS à HTML.

  • ng-model - Cette directive lie les valeurs des données d'application AngularJS aux contrôles d'entrée HTML.

  • ng-bind - Cette directive lie les données d'application AngularJS aux balises HTML.