2
votes

Asp.net Core - Razor Pages (.cshtml) vs Angular 2+

J'ai appris à la fois le cœur d'asp.net et l'angular, mais je ne sais pas trop ce que sont les pages de rasoir de base d'asp.net. Je sais que angular est un framework frontal pour créer des applications dynamiques et je sais que le noyau asp.net est pour le côté serveur. Cependant, asp.net core comprend également des pages rasoir (.cShtml) qui vous permettent d'écrire du code html et d'y insérer également c #. Les pages Razor peuvent également inclure des vues partielles, etc., mais pouvez-vous créer un site Web complet sans utiliser quoi que ce soit comme react ou angular et avoir toujours les mêmes pages dynamiques? Si j'utilise angular pour le front-end, pouvez-vous toujours avoir la validation qui vient de c # pour les formulaires et ainsi de suite?


0 commentaires

3 Réponses :


1
votes

Oui, vous pouvez créer un site dynamique en utilisant des pages Razor, vous pouvez utiliser faire comme ça

@foreach (var item in itemList)
{
   <p>@item</p>
}

Si vous décidez d'utiliser angular, je suppose que vous aurez une courbe d'apprentissage plus raide et il sera plus difficile d'apprendre à court terme cependant pour répondre à votre deuxième question, oui vous pouvez utiliser l'authentification intégrée en stockant un jeton JWT et en le passant dans les en-têtes pour chaque requête que vous faites au serveur

Modifier : Angular 2+ est bien meilleur à mon avis car vous avez plus de flexibilité dans ce que vous faites, mais il nécessite beaucoup plus de frais généraux, alors que le rasoir sera plus rapide à court terme mais aura du mal à évoluer

p>


0 commentaires

1
votes

En termes simples - Razor est le moteur de visualisation que vous utiliseriez dans une application MVC classique qui vous permet d'écrire du code côté serveur (C #) dans le html (chtml) alors qu'angular est un framework d'application à page unique sur typographie.

Vous vous retrouverez toujours à inclure certaines bibliothèques javascript dans les packages Razor ou NPM en utilisant angular, cela revient vraiment à la même chose.

La décision d'utiliser l'un ou l'autre dépend de quelques facteurs tels que, mais sans s'y limiter

  • Performances
  • Compétence et expérience avec le framework
  • Hébergement

En général, vous pouvez utiliser les deux pour réaliser ce que vous demandez (créer un site), mais il serait déconseillé d'utiliser les deux en même temps.

Il semble que la tendance actuelle soit d'utiliser Angular comme application client et que .net core serve de backend pour la logique métier CRUD, etc.


0 commentaires

1
votes

Les pages dynamiques que Razor permet de créer sont «dynamiques» en termes de contenu qui peut varier en fonction de la logique de l'application. Mais c'est statique dès que la page a été rendue (apparaît à l'écran). Vous devez actualiser toute la page si vous souhaitez modifier un seul chiffre sur cette page.

Imaginez que vous vouliez avoir une liste de noms sur votre page. Vous disposez également d'un formulaire pour ajouter des personnes à cette liste sur la même page. Naturellement, vous souhaitez afficher un nouveau nom dans la liste immédiatement après que l'utilisateur appuie sur un bouton «soumettre». Dans Razor, vous devez redessiner la page entière. Ceci est visible pour l'utilisateur car le navigateur scintille et c'est quelque chose que les gens ne veulent ni n'attendent de nos jours.

Pour résoudre le problème des modifications dynamiques sans actualiser une page, vous devez ajouter des scripts JavaScript à votre page Razor. JS est quelque chose qui permet de parler directement avec un navigateur. Angular / React / Vue / Blazor sont essentiellement comme JavaScript mais offrent des moyens plus structurés et simplifiés pour atteindre cet objectif.


0 commentaires