Le moteur de visualisation a beaucoup plus à offrir que le langage de balisage. Quelques fonctionnalités de Spark qui vont me manquer :
- écrire des extensions html en utilisant le même langage de balisage, pas le C# (macros) - je vois que Razor supporte aussi cela, j'espère qu'il supporte la surcharge des méthodes/paramètres ;
- balises personnalisées (écrivez _Tag.spark pour utiliser <Tag />) ;
- des variables autogénérées comme varIsFirst, varIndex, etc ;
- les formes d'expression spéciales (?{} pour les attributs conditionnels, $!{} pour ignorer les erreurs, etc) ;
- support agréable des mises en page maître/partiel, y compris la possibilité de spécifier dans le partiel qu'une partie du balisage ne doit être rendue qu'une seule fois dans le maître (par exemple, script includes) ;
- vous pouvez toujours avoir un balisage WebForms - idéal pour la compatibilité et la mise à niveau incrémentielle ;
- possibilité d'utiliser les guillemets "" et '' à l'intérieur d'une même pièce (extrêmement utile).
J'aime mieux la syntaxe Spark pour les boucles/ifs - mélanger les accolades HTML <> et C# {} n'est pas très joli - mais c'est une opinion purement personnelle.
Il y a aussi des fonctionnalités très prometteuses dans Razor, par exemple les modèles en ligne. Étant donné que le créateur de Spark a été engagé par Microsoft, je pense qu'il y a un espoir que Razor soit un moteur de vues bien écrit, très utile et bien supporté. Bien sûr, je ne vais pas réécrire des centaines de mes vues Spark avec Razor (bien que j'aie réécrit des dizaines de mes vues WebForms avec Spark). Mais je vais certainement jeter un coup d'œil sérieux à Razor - je ne l'ai découvert que grâce à vos questions, merci - et ce que je vois maintenant semble prometteur. Il ne rivalise pas avec WebForms, bien sûr (tout moteur de vue est meilleur que WebForms), mais il semble être un bon choix pour un nouveau projet ASP.NET MVC, si vous n'avez pas encore trop investi dans un autre moteur de vue.