J'ai commencé à apprendre ASP.NET MVC3.
Ainsi, en lisant des tutoriels en ligne et dans des livres, je suis tombé sur ce terme "moteur de visualisation" assez fréquemment. Je ne sais pas ce que c'est.
Que fait-il réellement?
Pourquoi cela devrait-il m'importer?
Le moteur de vue est responsable de la création HTML à partir de vos vues. Les vues sont généralement une sorte de mélange de HTML et un langage de programmation. Le motif derrière la plupart d'entre eux s'appelle vue en deux étapes .
Par exemple, ASP.NET est livré avec son propre moteur de vue prêt à l'emploi. C’est celui où les vues ont beaucoup d’étiquettes comme <% %>
et <%: %>
. Il utilise l'extension .aspx
.
Avec ASP.NET MVC3, un autre moteur de vue prêt à l'emploi a été ajouté, Razor , qui possède une syntaxe plus attrayante, par exemple. <div>@Model.UserName</div>
.
Le choix du moteur de vue est important, car les ensembles de fonctionnalités des moteurs de vue sont très différents. Certains prennent en charge le rendu des fichiers PDF, par exemple; certains ne peuvent pas être utilisés en dehors d'un contexte Web (c'est le cas pour l'ancien moteur de vue ASP.NET), tandis que d'autres le peuvent (par exemple, Razor). Le rendu "hors ligne" des vues est pratique lorsque vous souhaitez créer des courriers électroniques HTML de la même manière que vous créez vos vues. Ces courriels doivent être envoyés par un opérateur en arrière-plan plutôt que par une application Web.
Il existe une comparaison intéressante des moteurs de vue asp.net ici sur SO.
La bonne nouvelle est que vous pouvez utiliser plusieurs moteurs de vue en parallèle dans ASP.NET MVC, bien que je ne le recommande pas, sauf en cas de nécessité.
Il existe déjà de très jolis points d’extension dans le moteur Razor. Par exemple, vous pouvez fournir une classe de base de vue personnalisée, un concept puissant qui facilite l'ajout de nombreuses fonctionnalités au bon endroit sans avoir à se soucier de tous les détails difficiles auxquels vous auriez à faire face autrement.
Je vais actuellement pour Razor.
Le moteur de visualisation est ce qui est responsable du rendu de votre vue et de la conversion de votre code en HTML glorieux. En tant que tels, ils sont directement responsables de la façon dont vous devez écrire du code dans vos vues.
Il y en a essentiellement deux dont vous devez vous soucier: ASPX et Razor. Razor est, à mon avis, beaucoup plus élégant et facile à utiliser, au prix d’être supporté uniquement par MVC3.
Par exemple, un bloc de code dans ASPX pourrait ressembler à ceci:
<% foreach(var item in Model) { %>
<tr>
<td><%: item.Name %></td>
</tr>
<% } %>
Alors que l’équivalent Razor ressemblera à ceci:
@foreach(var item in Model) {
<tr>
<td>@item.Name</td>
</tr>
}
MVC utilise un moteur de vue pour rechercher et afficher les vues que vous demandez au contrôleur. Si vous êtes satisfait du routage par défaut, vous n'aurez probablement pas besoin de changer quoi que ce soit, mais supposons que vous souhaitiez que vos fichiers partagés soient généralement situés dans root/views/shared afin d'être situés dans root/common. besoin de créer pour pouvoir le faire.
Ici vous pouvez voir comment construire un moteur de visualisation:
http://coderjournal.com/2009/05/creating-your-first-mvc-viewengine/
Le moteur de vue est également responsable du rendu de la vue, mais comme vous venez d'apprendre à utiliser MVC, vous n'aurez probablement pas besoin de modifier la fonctionnalité de rendu pour l'instant.
Dans MVC, le moteur de vue est celui qui fonctionne entre votre vue et votre navigateur pour fournir une sortie HTML valide à votre navigateur en compilant le code dans votre vue. Il existe de nombreux moteurs d'affichage et certains d'entre eux sont les suivants:
ASPX
Rasoir
Étincelle
NHaml
NDJango
Hasic
Brail
Bellevue
Tuiles pointues
Modèle de chaîne
Battements d'aile
SharpDOM
Actuellement, la plupart des développeurs préfèrent utiliser le moteur de vue Razor car il fournit un moyen très pratique de programmation. Tous ces moteurs de vue peuvent ne pas prendre en charge ASP.NET MVC.
Pour plus de détails, vous pouvez visiter cet article .
View Engine fonctionne dans l'application pour rendre la page HTML au navigateur ou à l'utilisateur. Il peut contenir des balises HTML, des contrôles serveur et certains langages de programmation.
Razor est le moteur de visualisation préféré pour le framework MVC4.
View Engine rend la vue au format HTML pour le navigateur. Si nous parlons d'une application MVC dans .Net Framework, elle prend en charge les 2 moteurs de vue suivants:
1. Razor View Engine2. Formulaire Web/ASPX View Engine
Différences:1. Razor View Engine utilise des présentations mais le moteur de vue ASPX utilise des pages maîtres.
2. Razor View Engine utilise une page partielle, mais le moteur de vue ASPX utilise le contrôle de l'utilisateur Web.
3. Le moteur d'affichage Razor n'est pas un langage, c'est une syntaxe de balisage.
4. Le symbole @ ’utilise le logiciel Razor Engine pour écrire le code. @ Html.ActionLink ("Login", "LoginView") Les délimiteurs <%: "sont utilisés comme point de départ et"%> "comme point final. Vous pouvez écrire le code entre eux dans ASPX Engine.
5. Razor View Engine est doté des extensions .cshtml (avec C #) et .vbhtml (avec VB) pour les vues, les présentations et les vues partielles . ASPX View Engine a une extension similaire à celle d'une application Web simple. aspx pour les vues, .acsx pour UserControls et .master pour les pages maîtres.
J'ai lu un article descriptif sur http://questionbox.in/view-engine-asp-net-mvc-razor-view-engine-asp-net-mvc-web-form-aspx-view-engine-asp- net-mvc/
Le moteur de visualisation permet de rendre le code HTML de votre vue au navigateur.
ASP.NET MVC prend en charge de nombreux moteurs de vue, mais les moteurs de vue les plus utilisés sont
Moteur de vue de formulaire Web/Moteur de vue ASPX:
.aspx, pour les vues semblables aux pages de formulaire Web ..ascx, pour les vues partielles et le modèle d'éditeur, tout comme les contrôles utilisateur .. maître, pour la mise en page et les pages maîtres, tout comme les pages maîtres des formulaires Web.
Moteur de vue rasoir:
La syntaxe Razor est facile à comprendre et beaucoup plus propre que la syntaxe Web Form Razor utilise @ symbol pour que le code ressemble à:
@ Html.ActionLink (“Home”, “Index”)
Dans ASP.Net MVC, le moteur de vue est celui qui fonctionne entre votre vue et votre navigateur pour fournir une sortie HTML valide à votre navigateur en prenant en compte la sortie fournie par votre vue.
1) ASPX
2) rasoir
3) étincelle
4) NHaml
5) NDJango
6) Hasic
7) Brail
Jusqu'à présent, chaque réponse est liée à ASP.NET. Si vous recherchez un moteur de vue pour nodejs, voici certaines des options suivantes:
Jade (Pug)
express-handlebars
ejs
React
Il y en a toute une liste que j'ai trouvée sur https://github.com/expressjs/express/wiki#template-engines mais celles-ci semblent être celles que j'entends le plus souvent.