On m'a demandé de créer une petite application Web pour l'un de nos clients et je pense que cela pourrait être une bonne occasion d'essayer un cadre différent pour la création d'applications Web. La plupart des applications que nous construisons sont basées sur des formulaires Web asp.net et nous n’avons encore rien fait dans une architecture MVC, mais j’ai hâte de commencer à construire des applications Web de manière plus structurée avec les bons outils.
J'ai effectué des recherches sur des projets tels que asp.net MVC et autres produits similaires, mais je me demande s'il y a quelque chose à dire sur l'utilisation du Google AngularJS Framework.
Si possible, j'aimerais quand même pouvoir écrire mon code côté serveur en utilisant c # et je n'ai pas suffisamment cherché à AngularJS pour savoir si cela est même possible, même si je suppose que je pourrais utiliser des services Web.
Quelqu'un a-t-il déjà développé une application avec AngularJS et, dans l'affirmative, comment cela s'est-il passé et pouvez-vous m'indiquer la bonne direction pour certains tutoriels?
Nous développons depuis quelques mois une application Swing Fat client pour Swing dans les ports de base et je pense que cela vaut la peine de le recommander. En ce qui concerne les ressources d’apprentissage, consultez le site officiel du projet (et assurez-vous de lire le tutoriel) et la liste de diffusion (les auteurs sont très utiles).
Les bonnes choses:
Les mauvaises choses:
Quelques indications (si jamais vous décidez d'apprendre AngularJS):
+1 @ réponse de psycho
AngularJS est un framework côté client, vous pouvez donc utiliser n’importe quel langage sur le serveur. Il est conçu pour fonctionner correctement avec jQuery, en mettant l'accent sur les tests ...
Voici quelques ressources qui pourraient vous être utiles:
Quelques exemples d'applications:
Adaptateur pour SenchaTouch: https://github.com/tigbro/sencha-touch-angular-adapter
Adaptateur pour jQ Mobile: https://github.com/tigbro/jquery-mobile-angular-adapter
N'hésitez pas à poser n'importe quelle question sur mailing list !
Nous sommes toujours en version bêta, mais il existe déjà plusieurs applications internes chez Google, optimisées par AngularJS .
UPDATE (26 juillet 2012): _
AngularJS v1.0 a été publié.
Pour certaines applications publiques alimentées par AngularJS, consultez http://builtwith.angularjs.org
IMHO développer quelque chose pour un client qu'il pourrait avoir du mal à supporter n'est pas professionnel. N'oubliez pas qu'il sera difficile pour votre client d'engager des professionnels angulaires expérimentés ou de former leur propre personnel à franchir cette "courbe d'apprentissage abrupte". En outre, jusqu'à présent, la documentation n'est pas très bonne. Pouvez-vous facilement, dans quelques instants, répondre à la question "Comment puis-je connecter ma brillante application Angular à la base de données de mon client?" Votre client pourra-t-il ultérieurement, à l’avenir, saisir facilement du code existant et l’adapter à ses besoins futurs éventuels? Être honnête.
Comparez le bon vieux développement de LAMP fiable à Angular. Pour une "petite application Web", je crois vraiment qu'un professionnel devrait donner à son client quelque chose de simple et facile à gérer.
Cela ne veut pas dire qu'Annular n'est ni cool, ni sexy, etc. Mais vous avez la facilité de maintenance future de votre cliente à laquelle réfléchir en plus de la dernière lubie du framework. Marcher légèrement serait ma recommandation. Créez d'abord votre propre site Web avec Angular et voyez ce que vous en pensez avant de confier vos fabuleuses nouvelles compétences à un client digne de confiance.
Je me souviens avoir lu ce fil de discussion SO il y a quelques mois, avec la même question dans mon esprit, et nous avons décidé d'aller de l'avant avec AngularJS et la meilleure décision que nous ayons prise à propos de ce projet.
Nous utilisons AngularJS + ASP.NET MVC4 REST WebAPI.
Probablement après un tel framework MVC Javascript Javascript côté client, vous n’auriez besoin que de la couche API REST interagissant avec la couche logique logicielle du côté serveur, et pas de MVC côté serveur (ASP.NET MVC/Spring/Structs donnerait l’impression suivante: vieux souvenirs).
Vous trouverez un bon add-on sur l'interface utilisateur angulaire (en particulier sur la grille).
Peu de temps après la fin de notre projet, nous pourrions mettre en œuvre certaines des directives que nous avons écrites pour le monde open source.
Je fais des recherches sur les avantages d’AngularJS depuis de nombreux mois, à utiliser comme cadre principal du produit que je crée. Il existe de nombreux aspects de la SJA qui en valent la peine d'apprendre. Oui, il y a un peu de courbe d'apprentissage mais cela en vaut la peine, surtout si vous souhaitez avoir plus de contrôle sur les capacités du côté client.
JQuery manipule le DOM au moment de l'exécution, alors qu'AJS se situe dans le cycle de vie du rendu JS. Cela vous permet d'enseigner de nouvelles astuces au DOM en créant vos éléments et attributs HTML. C'est très, très puissant. En tant que ce que vous êtes capable de faire est d’introduire de nouveaux comportements d’élément, quels que soient vos objectifs et vos besoins. Dans AJS, ces attributs/éléments HTML personnalisés sont appelés des directives. Grâce à la possibilité d'élaborer vos propres directives, vous pouvez créer des fonctionnalités que le code HTML actuel ne possède pas, étendant les fonctionnalités qui s'exécuteront sur tous les navigateurs modernes, maintenant et dans le futur. Parmi les nombreuses approches pour induire un nouveau comportement, la SJA semble être la direction la plus sûre que l'on puisse prendre en raison de la manière dont ils ont choisi de la mettre en œuvre.
JQuery offre un gain de performance considérable par rapport à JDS.
J'adore la simplicité de la liaison de données bidirectionnelle et la séparation des préoccupations dans leur modèle MVC côté client, qui, comme indiqué ci-dessus, offre une grande testabilité. L'objet de portée est le lien entre la vue (HTML), le modèle (vos données) et vos contrôleurs personnalisés. La portée fournit un accès aux attributs parent et peut être isolée au niveau de la fratrie, ce qui est important pour certains modèles réutilisables.
Les modèles peuvent être créés et réutilisés dans votre application, ce qui peut contenir 0 directive personnalisée ou plus.
J'utilise des frameworks tels que PRISM et MEF, mais je constate qu'AJS possède la plupart des fonctionnalités qui existent dans ces frameworks .NET, mais dans une empreinte de 29 Ko. Il y a des rumeurs selon lesquelles ils travaillent sur le chargement paresseux qui, s'ils sont fournis, fourniront des fonctionnalités très intéressantes de type LOB.
Un certain nombre de structures d’interface utilisateur sont en cours de construction pour AJS, mais vous pouvez encapsuler toute bibliothèque de contrôle tierce au besoin, moyennant quelques efforts. L'astuce consiste à s'assurer que, lorsque ces contrôles tiers ont des modifications induites, vous vous assurez que AJS est correctement informé en utilisant leur méthode apply.
Si vous combinez AJS avec MS TypeScript dans VS 2012, vous avez ainsi la possibilité de gérer et de construire des projets très impressionnants qui conviendront parfaitement à ceux qui sont plus à l'aise avec les projets de VS.
Il existe une tonne d'autres raisons de regarder la SJA, mais si vous envisagez des structures telles que KnockOut, je vous recommande fortement la SJA, quelle que soit sa courbe d'apprentissage. Knockout est une bibliothèque, AJS est un framework.
Jusqu'à présent, je pense que Google Angular est génial. Particulier comme la liaison de données et l'injection de dépendance.
Pour les autres frameworks js, il y a knockout.js, backbone.js etc . Voici quelques articles: angular.js par exemple dans backbone.js et/ou knockout.js
Je me rends compte que cet article est vieux et que vous n’êtes pas parti avec Angular, mais j’ai un passé similaire à vous et j’en suis au même point que vous lorsque vous posez la question.
Donc, pour le bénéfice des futurs visiteurs, quelques-uns des "risques" et des liens vers des ressources que j'ai trouvées utiles ...
Et enfin, les trois meilleures ressources que j'ai trouvées pour apprendre ce genre de choses
Je voudrais dire oui à cela et vérifier la mise en œuvre de la { hottowel de John Papa } _.