ASP.NET Core 2.0 Rasoir vs Angulaire/Réagir/etc
Mon équipe et j'ai reçu un financement pour la mise en développement d'une Entreprise au niveau de l'application web (n'entrerai pas dans les détails de ce qu'il fait). L'application aura un grand nombre de pages web mais deux de ces pages étant plus concentré et très lourd - lourd comme dans beaucoup d'interaction avec l'utilisateur, les auxiliaires modaux qui affichent des données en masse, websocket connexions, chat, etc.
J'ai été affecté à l'Architecte en Chef sur le projet, j'ai donc fais quelques recherches sur le web les plus récentes des cadres. Pour le back-end, nous avons fait quelques tests et ont décidé d'aller avec la plate-forme Azure SQL. Jusqu'à présent, je suis aimer les améliorations qui ont été faites, et sont en train d'être faite, à ASP.NET avec le Noyau 2.0. Plus précisément, le moteur de Rasoir, sur les précédentes versions de ASP.NET MVC.
Je voulais avoir quelques avis d'experts sur la "nouvelle" Rasoir vs Angulaire, de Réagir et de le comme. Je suis plus particulièrement concerné par les performances. Comment est-Core 2.0 Rasoir hold-up pour le rendu côté client cadres? Les différences sont négligeables? Notre application est le ciblage d'un potentiel de 1 000 000 d'utilisateurs (environ 100.000 personnes en même temps).
Merci d'avance!
- Avec "nouveau Rasoir" tu veux dire que les pages Razor?
- Alors, qui avez-vous choisi à la fin, et comment il va?
- Comment vous êtes-vous (ou avez-vous), avec ce projet? Je suis dans une situation quasi identique à vous maintenant et aimerait une mise à jour!
- Salut JLo et stt106. Désolé d'avoir mis si longtemps à répondre. Nous avons fini par aller avec un rapporteur d'angle frontal et un ASP.NET de Base de l'API backend, à l'aide de SQL Azure. Il a très bien fonctionné pour nous à ce jour! J'imagine Réagir serait similaire de remplacement Angulaire si vous êtes plus à l'aise avec elle. J'ai dû apprendre Angulaire, ce qui était très facile de transition, et je l'adore maintenant!
- Comparaison de la vitesse de ASP.Net Core vs Angulaire/Réagir est hors-sujet? Il peut être canonique réponses. Comme pour aujourd'hui, nous avons Noyau 2.2 et bientôt 3.0.
Vous devez vous connecter pour publier un commentaire.
Nous avons fini par aller avec un rapporteur d'angle frontal et un ASP.NET de Base de l'API backend, à l'aide de SQL Azure. Nous avons testé de Base de Rasoir et, bien que meilleur que celui de l'héritage de Rasoir, Angulaire a été beaucoup plus rapide pour nous à la fin. Aussi loin que l'expérience utilisateur va, Angulaire (ou Réagir) est de loin supérieur en termes de performances. Le modèle de liaison aspects Angulaire nous avons trouvé pour être un gigantesque avantage de rendu côté serveur. À l'aide de Rasoir(ou côté serveur de rendu en général) n'a, cependant, se prête à une meilleure intégrité dans la limite des données va et il permet une meilleure transition des données à partir de " front-end back-end. Il y a un vrai décalage entre un cadre et d'une API. Toutes les données qui est transmis au serveur doit être jeté dans les objets de type - cela signifie que vous avez à gérer deux POCO modèle fixe. Cela peut entraîner des problèmes si des objets de serveur frontal et les objets ne sont pas alignés. Pour le moment, Entity Framework de Base n'est pas très mûri si nous avons des problèmes avec la mise à jour des objets, interroger les objets, y compris les objets enfants, etc.
Dans l'ensemble, cette configuration a très bien fonctionné pour nous à ce jour! J'imagine Réagir serait similaire de remplacement Angulaire si vous êtes plus à l'aise avec elle. J'ai dû apprendre Angulaire, ce qui était très facile de transition, et je l'adore maintenant!
En utilisant Angulaire/Réagir avec l'api côté serveur:
mais en utilisant Angulaire/Réagir vous devez vous soucier des clients.
Je n'ai pas de repères. Mais, j'ai plusieurs projets en cours d'exécution JQuery, un Rasoir .NET MVC (C#), L'AJAX. Pas à l'échelle que vous êtes la lutte contre les.
Des conseils.. assurez-vous de penser les choses à travers et de suivre les meilleures pratiques. Pour garder les choses maintenable assurez-vous de briser les contrôleurs, les points de vue, le modèle en plus petit et groupes significatifs. Quand j'ai commencé, j'ai fait l'erreur de mettre le tout dans un contrôleur de la Maison, et une tonne de points de vue dans le dossier partagé. Était très bien au début, mais quand la fonction de fluage a commencé, il est devenu un gâchis et difficile de revenir en arrière et de remaniement.
J'utilise aussi Linq2SQL. J'ai fait l'erreur de créer des modèles pour tout, et alors réalisé que je pouvais juste retour de l'ensemble de résultats de mes requêtes comme un modèle. duh.
Si vous allez .NET MVC et êtes inquiet au sujet de la performance, ce sont les choses que j'ai rencontré:
NE PAS retourner les vues partielles qui créent de grands blocs de HTML! Assurez-vous de minimiser tout. Se débarrasser de tous les blancs de l'espace. Utilisez les petits noms de code. Prenez le temps de créer le code html qui est aussi léger que possible. De retour JSON et demander au client de faire une partie du travail.
Être prudent sur la façon d'élaborer votre feuille de style CSS. Ne pas utiliser un tas de styles en ligne, prenez le temps de les incorporer dans les fichiers CSS que vous pouvez ensuite réduire.
En va de même de votre côté client en JS. Il est tentant de mettre le JS dans les vues partielles. Garder les choses organisées.
Rendu sur IE est horrible. Surtout si il y a beaucoup d'images. Assurez-vous de compresser les images autant que possible, sans perdre de la qualité des cours.