Ne la syntaxe Razor fournir une irrésistible avantage dans l'INTERFACE utilisateur de balisage?
Je remarque Scott Guthrie est de commencer à mention de Rasoir un peu juste sur son blog, mais je ne suis pas si sûr que c'est un bon ajustement pour mon style.
Accordé c'est un assez peu familier de style pour quelqu'un qui est assez utilisé pour "standard", sorte de ASP.Net le balisage de contenu (les détenteurs de place et de code en ligne), mais il se sent juste comme beaucoup de pages supplémentaires à gérer et moins claire de balisage pour moi.
Quelles sont les autres les sentiments des peuples sur elle? Est-ce quelque chose que vous croyez doit être sérieusement pris en considération lors de l'échafaudage nouveau MVC pages ou est-ce juste pour essayer de résoudre un problème qui n'existe pas?
- Je pensais que la syntaxe est facile pour quelqu'un qui est familier avec l'affichage normal du moteur. Il vous suffit d'utiliser @ au lieu de <% et ne fermez pas votre code de pépites de...
Vous devez vous connecter pour publier un commentaire.
[Disclaimer: je suis l'un des développeurs de Microsoft sur MVC et Rasoir, donc j'ai peut-être un peu biaisée :)]
Nous avons conçu de Rasoir pour être concis création de modèles de langage qui utilise uniquement le minimum de quantité nécessaire de caractères de contrôle. Je dirais qu'une grande partie de vos points de vue peuvent être exprimés avec moins de caractères que le même code à l'aide de la "traditionnelle" WebForms syntaxe.
Par exemple l'extrait de code suivant dans ASPX syntaxe:
Peut être exprimée comme suit dans le Rasoir:
Tandis que le ASPX version a 21 de transition de caractères (le
<%
et%>
), le Rasoir version a seulement trois (@
)Je dirais que les avantages de Rasoir sont comme suit:
La page des concepts liés à la carte facilement à partir de ce que vous avez à ASPX
@functions { ... }
blocs au lieu de<script runat="server"> ... </script>
En plus de Rasoir a un certain nombre de concepts utiles que je dirais mieux que ce qui est disponible dans ASPX:
@helper
fonctions pour faciliter la création de fonctions qui émettent de balisage@model
mot-clé pour préciser votre point de vue du type de modèle sans avoir à écrire une<%@ Page ...
directive avec le nom complet de la classeJe me plais à penser que nous avons abordé un problème réel, qui est de vous permettre de plus facilement écrire concis et conforme aux normes de vues, tandis que dans le même temps vous fournir les moyens de refactoriser le code commun.
Bien sûr, pas tout le monde préfère la syntaxe qui est pourquoi nous sommes aussi de soutenir pleinement le ASPX moteur d'affichage. En outre, vous pouvez vérifier l'Étincelle et l'NHaml, qui sont deux de la 3e partie de la vue des moteurs qui jouissent d'une importante communauté suivantes. Le blog suivant a une bonne comparaison des différentes offres: http://blogs.msdn.com/b/coding4fun/archive/2010/10/04/10070953.aspx
relaxedUrlToFileSystemMapping
travailler avec les nouvelles Pages Web. Alors que cela fonctionnait bien en MVC 2.0, ayant"
dans une url dans MVC 3.0 jette toujours caractères illégaux dans le chemin d'exception.<a href="mailto:[email protected]">
?@@
Personnellement, j'apprécie vraiment la réduction dans le nombre de caractères d'échappement sont utilisés. À l'aide de
<% %>
devient très pénible quand par rapport à@{}
et n'est pas aussi attrayant du point de vue syntaxique.De plus, l'écriture d'un ensemble de définition dans le code-behind et la page est simplifié à un seul
@model model
.Comme noté par marcind, de ne pas avoir à toujours inclure
runat=server
est très belle aussi.Dans l'ensemble, j'apprécie vraiment l'aide du moteur de Rasoir et de trouver non seulement rend les choses plus facile pour moi de se développer, mais aussi rend le code plus facile à lire.
Vous pouvez essayer ce convertisseur. Pour plus d'informations, consultez ce blog.