2010-10-12 5 views
2

J'ai un peu d'expérience avec la nouvelle syntaxe Razor, mais aucune avec Iron Python. Je me demandais si les deux répondent aux mêmes besoins? L'un est-il favorisé par Microsoft par rapport à l'autre (ou le sera-t-il)? Appréciez vos pensées, comme je suis en train de jouer avec l'idée d'apprendre Iron Python, mais si Razor peut répondre au même besoin, je ne le ferai probablement pas.Iron Python vs Razor

Répondre

7

Pour développer la réponse donnée par PaulStack:

rasoir est un moteur de templating (avec une pente vers des documents XML de style matriçage, par exemple les pages Web HTML) qui est disponible sous forme de vue moteur dans MVC 3 et comme la syntaxe de page par défaut dans ASP.NET Web Pages (qui fait partie de la pile WebMatrix). L'analyseur Razor utilise des hypothèses sur la structure des documents XML ainsi que des constructions disponibles dans les deux langages de programmation pris en charge (C# et Visual Basic) pour minimiser le nombre de caractères de transition requis pour passer du mode code au mode balisage. Bien qu'il ait été écrit en mettant l'accent sur l'émission de HTML, il a été généralisé pour prendre en charge des tâches arbitraires de création de modèles de texte (même si vous devez parfois utiliser des jetons de transition spéciaux pour forcer le passage entre le code et le texte). Par contre, IronPython est un langage de programmation. Par contre, IronPython est un langage de programmation. Ce n'est pas un moteur de template, bien qu'il puisse naturellement être utilisé pour écrire du code qui émet un flux de texte.

Si vous êtes déjà à l'aise avec C# (ou VB) alors je vous suggère d'essayer Razor. C'est une extension assez simple de la syntaxe du langage et permet des transitions très fluides entre le balisage et le code.

5

rasoir est un moteur d'affichage pour ASP.NET MVC 3 - donc je crois qu'il n'a rien à voir avec l'espace qui occupe IronPython

si im tort, j'ai certainement manqué quelque chose

+0

Merci, j'ai vu ce post et il m'a fait penser à utiliser Razor comme plus d'un moteur de vue pour MVC http://blog.andrewnurse.net/2010/07/22/UsingTheRazorParserOutsideOfASPNet.aspx ainsi la question. Je sais que je peux inclure des espaces de noms dans le code Razor existant, donc ça m'a dérouté (je suis toujours) si ça va rivaliser avec des choses comme Iron Python et une implémentation .net de Ruby. – infocyde

1

J'étais à une conférence de l'un des gars travaillant sur IronPython et IronRuby. Le sentiment général qu'il semblait exprimer est que IronPython n'est pas aussi à la hauteur de la tâche de construire des sites ASP.NET MVC modernes comme IronRuby ou C#. Cela dit, cela aurait pu changer depuis.

Mais vous comparez les pommes aux oranges ici. IronPython est un langage dynamique à part entière. Razor est juste un langage de balisage et un moteur de vue pour définir des vues dans un site ASP.NET MVC. Les contrôleurs et la majeure partie du code de l'application doivent toujours être écrits dans une langue réelle (telle que C#, Python ou similaire).