Dans le passé, le développement frontal (Web ou mobile) a principalement utilisé JQuery + natif JS. Si certains cadres d'interface utilisateur frontaux sont utilisés, il peut également fournir des API à utiliser. De plus, de nombreux cadres d'interface utilisateur sont basés sur jQuery, donc la portée de jQuery à AngularJS est relativement grande. J'ai étudié les angularjs pendant un certain temps. Parlons de l'expérience globale:
À propos de la comparaison avec jQuery
Tout d'abord, Angular est un cadre MVC. La différence entre celui-ci et jQuery est que la première s'engage à découpler le code MVC et utilise le modèle, le contrôleur et la vue pour organiser le code. Ce dernier vous offre de nombreuses fonctions d'API. Vous ne pouvez pas avoir à écrire de nombreux JS natifs pour obtenir des effets plus complexes, tels que l'animation, $ .anim. Si vous devez écrire JS natif, le volume de code sera relativement important;
Deuxièmement, JQuery ne définit pas comment votre code est organisé. Vous pouvez le placer dans un fichier JS séparé pour référence, ou vous pouvez l'écrire directement dans la page pour l'envelopper avec des balises de script, ou même l'écrire directement dans la balise HTML en ligne. Cependant, AngularJS divisera une page HTML en plusieurs modules, chaque module peut avoir sa propre portée, service et directive, et la communication peut être effectuée entre les modules, mais la structure globale est relativement claire, c'est-à-dire que la méthode de l'organisation du code est modulaire.
Enfin, l'idée de JQuery est de concevoir la page d'abord, puis d'effectuer des opérations DOM sur la page existante et d'afficher la page. Cependant, la vue angulaire peut être juste un cadre, et les opérations DOM ou la surveillance temporelle de la vue sont implémentées dans la directive. En général, il est rarement écrit directement par vous-même, tant que vous écoutez le modèle. La vue changera également après les changements du modèle.
Sur les occasions applicables
JQuery devrait convenir à la plupart des développements Web, et il y a aussi jQueryMobile du côté mobile. Certaines personnes disent que AngularJS convient plus à Spa (je pense personnellement que Spa sur les téléphones mobiles peut causer des problèmes de performance car son mécanisme de vérification sale affectera les performances). Côté Web, certaines applications CRUD ou logiciels de gestion peuvent toujours être utilisées (bien sûr, la compréhension ici peut ne pas être exacte, et vous les comprendrez et l'utiliserez davantage avec un apprentissage approfondi).
À propos de la combinaison de l'interface utilisateur
Le développement de tout produit nécessite l'utilisation de l'interface utilisateur frontal. Actuellement, de nombreuses UIS sont basées sur jQuery, ce qui signifie que si vous souhaitez utiliser AngularJS et ces composants d'interface utilisateur, vous devez utiliser la directive d'AngularJS pour réécrire certains composants. Ce processus est assez gênant. Heureusement, Angular nous fournit des composants d'interface utilisateur qui peuvent être utilisés (le côté Web combine principalement les composants frontaux bootstrap), http://angular-ui.github.io/, et du côté mobile, il combine principalement le cadre ionique http://ionicframework.com/. Cependant, avec le développement d'angulaires, de nombreux cadres frontaux HTML5 ont progressivement intégré des versions AngularJS à utiliser.
Sur les caractéristiques d'AngularJS
1. Liaison bidirectionnelle des données: cela peut être sa caractéristique la plus excitante. Les données de la couche de vue et les données de la couche de modèle sont une liaison bidirectionnelle. Si l'un d'eux change, l'autre côté changera en conséquence. Vous n'avez pas besoin d'écrire de code! (Réfléchissez à la façon de le faire en mode jQuery)
2. Le code est modulaire, et le code de chaque module a sa propre portée, modèle, contrôleur, etc.
3. Directive puissante peut encapsuler de nombreuses fonctions en balises HTML, attributs ou commentaires, etc., qui embellit considérablement la structure du HTML et améliore la lisibilité;
4. Injection de dépendance, donnant le modèle de conception de ce langage backend au code frontal, ce qui signifie que le code frontal peut améliorer la réutilisabilité et la flexibilité. À l'avenir, le modèle peut placer un grand nombre d'opérations sur le client, et le serveur ne fournit que des sources de données et des opérations que d'autres clients ne peuvent pas terminer;
5. Développement axé sur les tests, AngularJS vise à commencer par cela. Les applications développées à l'aide d'Angular peuvent facilement effectuer des tests unitaires et des tests de bout en bout, ce qui résout les lacunes du code JS traditionnel difficile à tester et à entretenir.
Ce qui précède est la conclusion tirée en étudiant les angulaires pendant une période de temps. Certaines zones peuvent être omises. Cela n'a pas d'importance. Ensuite, nous développerons l'un des points et apprendrons étape par étape.