74 votes

Rasoir/CSHTML - aucun avantage par rapport à ce que nous avons ?

<p>Quelqu'un là-bas en utilisant la nouvelle fonctionnalité de pages CSHTML et consiste à trouver qu’ils préfèrent cette nouvelle syntaxe de moteur d’avis sur le moteur d’affichage par défaut ASP.NET MVC existant ou sur les formulaires web et dans l’affirmative, pourquoi ? Qu’en est-il CSHTML vous donne un avantage sur les formes de MVC ou web, ou vice versa ?</p> <p>Juste curieux d’entendre les gens à prendre à ce sujet.</p>

44voto

Simon Steele Points 8344

L'un des avantages est que le Rasoir points de vue peuvent être rendus à l'intérieur de tests unitaires, c'est quelque chose qui n'était pas facile avec la précédente ASP.Net moteur de rendu.

De ScottGu l'annonce de ce est répertorié comme l'un des objectifs de la conception:

Unité Vérifiable: Le nouveau moteur d'affichage de la mise en œuvre permettra de soutenir la capacité de test de l'unité de vues (sans avoir besoin d'un contrôleur ou d'un serveur web, et peuvent être hébergés dans tout projet de tests unitaires – n ° spécial-domaines d'application obligatoire).

43voto

Jason Sebring Points 4309

Pour donner de l'arrière-plan de l'opinion: je suis un ex-développeur de Microsoft qui a travaillé sur une équipe de base pour le site web MSDN. Maintenant, j'utilise c# rasoir pour les sites e-commerce avec mon équipe de programmation et nous mettons l'accent lourd sur jQuery frontal avec c# rasoir pages et LINQ-Entité de la mémoire de la base de données de sorte que les pages sont 1-2 millisecondes de temps de réponse, même sur des boucles for imbriquées avec les requêtes et pas de cache de la page. Nous n'utilisons pas de MVC, tout simplement ASP.NET avec rasoir pages mappé avec le module de Réécriture d'URL pour IIS 7, pas de pages ASPX ou ViewState ou côté serveur, la programmation des événements. Il n'a pas la supplémentaires (inutile) des couches MVC met dans des constructions de code pour l'expression rationnelle contestée. Le moins est le mieux pour nous. Son tout maigre et moyenne, mais je donne accessoires MVC pour sa testabilité, mais c'est tout.

Rasoir pages n'ont aucun événement de cycle de vie comme les pages ASPX. Son juste rendu comme une page demandée. C# est un langage et Rasoir sort de sa façon bien à laisser faire son travail. L'anonyme de taper avec les génériques et linq faciliter la vie avec c# et rasoir pages. À l'aide de Rasoir pages va vous aider à penser et code plus léger.

L'un des inconvénient de Rasoir et MVC est il n'y a pas de ViewState-comme la persistance. J'avais besoin de mettre en place une solution pour que j'ai donc fini par l'écriture d'un plugin jQuery pour qu'ici -> http://www.jasonsebring.com/dumbFormState ce qui est HTML 5 de stockage hors connexion pris en charge plugin pour l'état du formulaire qui fonctionne dans tous les principaux navigateurs maintenant. C'est juste pour la forme de l'état actuellement, mais vous pouvez utiliser la fenêtre.sessionStorage ou d'une fenêtre.localStorage très simplement à stocker n'importe quel type de l'état à travers les publications ou encore les demandes de page, j'ai juste pris la peine de faire la sauvegarde automatique et de l'espace de noms sur la base de l'URL et de la forme de l'indice de sorte que vous n'avez pas à y penser.

** EDIT **

En fait je m'éloigne du Microsoft tech au total aujourd'hui et a déménagé dans Linux et node.js. Je sais que j'aurais pu continuer à Windows + node.js mais il y avait trop de pièges. J'ai encore beaucoup de clients .NET, mais je suis en se concentrant sur node.js fortement pour tous les nouveaux projets. La performance, la facilité de code et le coût est vraiment le facteur déterminant. Fondamentalement, c'est juste mieux.

7voto

Nunery Points 1226
<ol> <li><p>Tout est codé par défaut !!! C’est assez énorme.</p></li> <li><p>Aides déclaratives peuvent être compilés afin que vous n’avez pas besoin de faire quelque chose de spécial pour les partager. Je pense qu’ils remplaceront les contrôles .ascx dans une certaine mesure. Vous devez sauter à travers des cerceaux pour utiliser un contrôle .ascx dans un autre projet.</p></li> <li><p>Vous pouvez faire une section requise qui est agréable.</p></li> </ol>

3voto

rball Points 3674

Le plus grand avantage est que le code est plus succinct. Le VS éditeur aurez également la itellesense soutien que certains de l'autre point de vue, les moteurs n'ont pas.

Déclarative HTML Helpers également look assez cool comme faisant HTML helpers dans le code C# me rappelle de contrôles personnalisés dans ASP.NET. Je pense qu'ils ont pris une page de partiels, mais avec le code en ligne.

De sorte que certains des avantages certains sur le asp.net moteur d'affichage.

Avec un contraste de vue moteur, comme spark bien que:

La Spark est encore plus succincte, vous pouvez garder le si et les boucles à l'intérieur d'une balise html lui-même. Le balisage encore juste une sensation plus naturelle pour moi.

Vous pouvez code partiels exactement comment vous feriez un déclarative helper, vous devriez juste de transmettre les variables à l'partielle et que vous avez la même chose. Cela a été autour avec spark pour un certain temps.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by: