Un meilleur job mieux payé ?

Deviens chef de projet, développeur, ingénieur, informaticien

Mets à jour ton profil pro

ça m'intéresse

Une deuxième RC pour ASP.Net MVC 2
Plus rapide et plus complète, que reste-t-il à améliorer ?

Le , par Gordon Fowler, Expert éminent sénior
Mise à jour du 15/03/10

Sortie officielle de ASP.NET MVC 2
Pour Visual Studio 2008, Visual Web Developer 2008 Express et Net Framework 3.5

Le mois dernier, Microsoft avait mis en ligne une Release Candidate de sa nouvelle version de ASP.NET MVC spécialement conçue pour les développeurs d'applications webs.

Depuis la fin de la semaine dernière, la technologie est passé en version définitive. Elle peut être utilisée avec Visual Studio 2008 (ou Visual Web Developer 2008 Express) et Net Framework 3.5.

Pour mémoire, elle est rétro-compatible avec ASP.NET MVC 1 et/ou peut-être installée side-by-side avec ce dernier.

ASP.NET MVC 2 est à télécharger soit sur la Microsoft Web Platform, soit sur le Microsoft Download Center.

Plus d'informations sur les nouveautés de la nouvelle mouture dans les billets précédents de ce topic (lire ci-avant) et sur l'annonce officielle de la sortie sur le blog du père de la technologie en personne, Scott Guthrie.

Lire aussi :

Le responsable de Microsoft.NET revient sur les nouveautés de ses technologies ASP.NET MVC 2, Silverlight et VisualStudio 2010

Architecture Modèle-Vue-Contrôleur : 38 tutoriels pour maîtriser ASP.NET MVC

Et les rubriques (actu, forums, tutos) de Développez :

.NET
ASP.NET
Développement Web

MAJ de Gordon Fowler

Mise à jour du 08/02/10

Une deuxième RC pour ASP.Net MVC 2
Plus rapide, plus complète, avec un nouveau modèle de validation : que reste-t-il à améliorer ?

Microsoft vient de mettre en ligne une deuxième RC de sa technologie ASP.Net MVC 2.

La RC est conçue pour être utilisée avec Visual Studio 2008 et Net Framework 3.5.

Par rapport aux versions précédentes, elle embarque jQuery 1.4.1 comme librairie JavaScript par défaut et affiche des performances bien meilleures en terme de rapdité

Gros changement mis en avant par Scott Guthrie, le vice-président de Microsoft, et responsable de la plateforme de développement Microsoft .NET, le « model-validation » prend la place de l'« input validation». Autrement dit quand un développeur utilise un model binding, ce sont toutes les propriétés du modèle qui sont à présent validées.

La RC 2 de ASP.Net MVC 2 est téléchargeable sur cette page.

Et vous ?

Quelles sont d'après vous les points qui reste à améliorer dans ASP.Net MVC 2 ?

MAJ de Gordon Fowler

Mise à jour du 02/10/09

La preview 2 d'ASP.NET MVC 2 vient juste de sortir

La preview 2 d'ASP.NET MVC 2 vient tout juste de sortir. Elle s'appuie sur les fonctionnalités de la première (cf. ci-dessous) avec quelques améliorations et corrections supplémentaires.

Par exemple, la preview 2 approfondit le concept d'Areas qui avait été introduit dans la preview 1. A présent les Areas peuvent être utiliser dans un seul projet (et non plus uniquement dans du multi-projets comme précédemment).

Apparaissent également la validation Client-Side (côté-client en français) ainsi que les Model Validation Providers et Metadata Providers.

Phil Haack, responsable de programme Senior dans l'équipe MVC, précise sur son blog :

  • Client-Side Validation – ASP.NET MVC 2 includes the jQuery validation library to provide client-side validation based on the model’s validation metadata. It is possible to hook in alternative client-side validation libraries by writing an adapter which adapts the client library to the JSON metadata in a manner similar to the xVal validation framework.
  • Areas – Preview 2 includes in-the-box support for single project areas for developers who wish to organize their application without requiring multiple projects. Registration of areas has also been streamlined.
  • Model Validation Providers - allow hooking in alternative validation logic to provide validation when model binding. The default validation providers uses Data Annotations.
  • Metadata Providers - allow hooking in alternative sources of metadata for model objects. The default metadata provider uses Data Annotations.

La preview 2 est disponible au téléchargement ainsi que les Release Notes et le code source.

ASP.NET MVC 2 Preview 2 peut être utilisée side-by-side avec MVC 1, mais pas avec la preview 1 qui, elle, devra être désinstallée avant la propre installation de la V2 de la preview.

Vous pourrez trouver toutes les informations complémentaires sur ce projet sur le site de Phil Haack.

MAJ de Gordon Fowler.

La preview de l'ASP.NET MVC 2 est disponible sur le site de Microsoft.

L'ASP.NET (successeur de "Active Server Pages") est un ensemble de technologies destinées à créer des sites dynamiques ou des applications Web.
Cette technologie fait partie de la plateforme Microsoft .NET.

L'ASP.NET MVC 2 (MVC pour "Model-View-Controller"), toute nouvelle version du framework, est à présent disponible en téléchargement.
La preview fonctionne avec le Framework .NET 3.5 SP1 et peut être installée "side by side" avec l'ASP.NET MVC 1.0.

Parmi les nouveautés, on notera l'apparition des "Template Helpers" et des "Areas" qui permettent de découper un projet en plusieurs applications ASP.NET pour les regrouper par la suite.

Des notes de mise à jour et une une feuille de route ont été éditées par Microsoft et sont, elles aussi, disponibles en téléchargement.

Source :
La page de téléchargement de l'ASP.NET MVC 2
La Road-Map et les release-notes du projet.

Lire aussi :
Architecture Modèle-Vue-Contrôleur : 38 tutoriels pour maîtriser ASP.NET MVC
Les forums développement DotNET

Qu'en pensez-vous ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de anthyme anthyme - Membre expérimenté http://www.developpez.com
le 09/02/2010 à 10:02
je crois que tu confonds ... Vu l'état du zend framework, ce n'est pas a MVC qu'il faut le comparer mais au framework .net entier

AMF 3 est utilisable en .net mais pour avoir déjà développé une application .net/flex je peux te dire qu'on a pas gardé AMF3 car le gain de perf est négligeable et tu ne peux plus utiliser ces web service avec d'autres technologies comme ajax/Silverlight et co

Apres pour ce qui est de soap j'en ai fait dans bien des technos (java/php/python/ruby) et y a rien de plus rapide a mettre en place, fonctionnel et efficace que .net la dessus
Avatar de stailer stailer - Membre chevronné http://www.developpez.com
le 09/02/2010 à 11:13
Non je ne confonds pas :
Il y a C# .Net et le framework Asp.net MVC.
Il y a PHP et le framework Zend Framework.

On peut comparer la plateforme Zend et les extensions PHP à la plateforme .Net. Ensuite on peut comparer C# à PHP, enfin on peut comparer des outils MVC sur chacune des plateformes : ZF et ASP.NET MVC.

Sinon je suis d'accord en fait j'ai dévié un peu puisque le ZF propose bien d'autres choses que du MVC.

AMF 3 est utilisable en .net mais pour avoir déjà développé une application .net/flex je peux te dire qu'on a pas gardé AMF3 car le gain de perf est négligeable

Je ne garde pas tous les articles que je lis mais je reste quasi persuadé qu'AMF n'apporte pas du "néglieable". Après si ça rame avec du .Net c'est autre chose . Sur du LAMP no souci , ça fonctionne du feu de Dieu.

Peux tu me montrer le code C# qui permet de récupérer un objet AS3 en C# et inversement. Regarde ce que fait Zend_Amf et montre moi un équivalent en C#, je crois que toi aussi tu as l'air de confondre pas mal de choses

Apres pour ce qui est de soap j'en ai fait dans bien des technos (java/php/python/ruby) et y a rien de plus rapide a mettre en place, fonctionnel et efficace que .net la dessus

Oui moi aussi, je relatais uniquement mon expérience la dessus.

EDIT : Ce qui manque aussi c'est une gestion des droits très dynamiques dans ASP.NET MVC. Regardez ce que propose Zend_ACL, c'est énorme. Il y a de quoi fabriquer une véritable usine de gestion des droits (groupes, users , roles, héritages de droits) sans trop se prendre la tête.
Avatar de anthyme anthyme - Membre expérimenté http://www.developpez.com
le 15/02/2010 à 16:40
Citation Envoyé par stailer  Voir le message
Non je ne confonds pas :
Il y a C# .Net et le framework Asp.net MVC.
Il y a PHP et le framework Zend Framework.

C'est pourtant pas ce que tu disais 2 posts plus haut

Citation Envoyé par stailer  Voir le message
On peut comparer la plateforme Zend et les extensions PHP à la plateforme .Net. Ensuite on peut comparer C# à PHP, enfin on peut comparer des outils MVC sur chacune des plateformes : ZF et ASP.NET MVC.

ZF c'est bien plus comparable au framework .net qu'a MVC, MVC c'est un framework qui permet d'implementer le pattern MVC dans une application .net ni plus ni moins

Citation Envoyé par stailer  Voir le message
Je ne garde pas tous les articles que je lis mais je reste quasi persuadé qu'AMF n'apporte pas du "néglieable". Après si ça rame avec du .Net c'est autre chose . Sur du LAMP no souci , ça fonctionne du feu de Dieu.

La foi est une chose mais la réalité en est une autre ...
Petit cours sur ce qu'est AMF : AMF c'est un protocole qui permet de transférer de la données sous forme d'objets action script, le but étant d'avoir une conversion implicite et naturel entre le flux AMF et les objets mémoire action script, le gain étant maximal quand on a de l'action script coté client et serveur (coldfusion coté serveur il me semble)

Donc évidement si on compare SOAP : objet serveur => xml => objet client
et AMF : object AS => object AS => object AS
On a logiquement un gain de temps au niveau des conversions de type !
Après avec php ce gain doit être plus modeste vu qu'on gagne surtout coté client et non coté serveur.

En .net on a aussi la possibilité de faire des couche de communication hyper performante sans changer une ligne de code avec WCF en changeant juste le binding de la route (comme du binaire tcp ou des même des named pipe dans les cas extremes) ou encore de faire du remoting, ce qui se rapproche le plus de AMF et la on a des perfs extremes ...
Mais je ne fais pas ça ... pourquoi ? Pour ces raisons :

- SOAP est standard comme son support, XML, est un standard très répendu et facile a manipuler sans aucune lib, on peut facilement l'utiliser en Ajax par exemple ... par contre faire de l'AMF3 en ajax ?
- Les performances d'une application dépendent très peu de la couche de communication (du moins avec des services .net bien fait) et beaucoup plus de l'optimisation de ton accès au données
- Je préfère gagner des jours de charge a 500€ la journée à faire l'appli serveur en .net plutôt qu'en actionscript ou autre juste pour me dire que j'utilise un protocole qui rend les clients Flex "plus performants".
- Les performances c'est très subjectif... L'important dans une appli c'est plutôt le temps de réponse. Je n'aurais aucuns remord a coder une fonctionnalité 10 fois plus lente qui répondrai en 100ms au lieu de 10ms si j'ai pu la réaliser en 2 fois moins de temps.

Citation Envoyé par stailer  Voir le message
EDIT : Ce qui manque aussi c'est une gestion des droits très dynamiques dans ASP.NET MVC. Regardez ce que propose Zend_ACL, c'est énorme. Il y a de quoi fabriquer une véritable usine de gestion des droits (groupes, users , roles, héritages de droits) sans trop se prendre la tête.

Le Framework .net a une des gestions de droit les plus pointu de tous les framework de dev envié par bien des Javaistes ... documentes toi !
Avatar de stailer stailer - Membre chevronné http://www.developpez.com
le 15/02/2010 à 17:05
ZF c'est bien plus comparable au framework .net qu'a MVC, MVC c'est un framework qui permet d'implementer le pattern MVC dans une application .net ni plus ni moins

n'importe quoi... ASP.NET MVC n'est pas LE "MVC", c'est un produit comme le ZF. De quoi on parle la ? de MVC, des outils ?
C'est toi qui mélange tout désolé.

Le Framework .net a une des gestions de droit les plus pointu de tous les framework de dev envié par bien des Javaistes ... documentes toi !

Ben regarde le Zend_Acl et ce qu'on peut faire en quelques lignes et renvoi moi un exemple aussi puissant (mais simple de mise en oeuvre) en .net. Petit exemple avec utilisation d'une BDD :
http://codeutopia.net/blog/2009/02/1...-dynamic-acls/
A la fin de cet exemple simpliste : tout fonctionne et en restant dans la simplicité on peut aller beaucoup beaucoup plus loin.
Je n'ai rien vu dans .net me permettant de faire aussi bien.. je parle bien sur des droits APPLICATIFS et non sur le système. (il y a la doc officielle aussi sur le Zend_Acl qui montre toutes les possibilités par le code)

Si tu as quelque chose comme ça en .net, surtout MONTRE MOI , parce que ça m'intéresse.

Bref; tout ça pour dire encore une fois qu'un framework de dev MVC doit proposer autre chose qu'uniquement du MVC, sinon on a qu'à tous se faire son propre framework

Dans cette continuité et cette façon de penser qui est la mienne je trouve qu'il manque pleins d'outils facilitant pas mal de choses dans asp.net mvc par rapport à un ZF pour PHP.

Dernier exemple : dans une appli web tu as souvent besoin du générer du pdf (enfin moi ça m'est souvent arrivé) , solution Zend_Pdf.
Ce n'est pas à .net de te fournir des aides pour le PDF mais bien à ton outils de développement d'applications webs (c'est appelé comme ça dans visual studio je te rappelle) : asp.net mvc.
Donc la aussi ça manque, désolé.

On a peut-être pas la même vision de la chose, mais c'est la mienne et je donne ici mon avis.
Avatar de anthyme anthyme - Membre expérimenté http://www.developpez.com
le 16/02/2010 à 17:10
Écoute je n'ai jamais remis en cause Zend_Acl ou autre car personnellement (et contrairement à "d'autres" ...) je ne me permet de critiquer que ce que je connais ...
Je suis donc allé voir Zend_acl pour pouvoir te répondre... et je ne vois pas vraiment ce que tu trouves d'extraordinaire ?
L'héritage des rôles ? Je n'en ai jamais eu besoin et même les clients les plus "lourd" (banque assurance et co) ne se lance pas dans ce genre de gestion des roles ...

Perso je préfère 1000 fois la concision le système d'action filter, notamment l'héritage BaseController => Controller => Action qui est très concis,propre et surtout d'envahi pas le contenu des méthodes pour des questions de droit.
Perso je suis un grand partisan de la programmation orienté aspect et ton system d'ACL est purement procédurale et je n y vois aucune révolution, si je veux de l'héritage de rôles dans asp.net MVC je me prend l'après midi pour répondre a ce besoin spécifique et c'est réglé.

Sinon ensuite MVC c'est une brique de l'ecosysteme .Net je ne vois pas pourquoi ce dernier devrait réinventer la roue et se priver de la richesse du FX.Net (qui est un système très con trollé et cohérent car géré uniquement par MS) ou encore des entreprise library, unity, nhibernate, castle, et tous les projet .net de qualité ... Tu joues sur les détails pour prêcher ta bonne parole mais ce n'est pas du tout valide comme argument
Avatar de stailer stailer - Membre chevronné http://www.developpez.com
le 16/02/2010 à 19:15
Tu joues sur les détails pour prêcher ta bonne parole mais ce n'est pas du tout valide comme argument

Pas du tout, je suis à fond C# et PHP, ce sont mes langages préférés. Et comme je suis très fan du ZF tu penses bien que je me suis jeté sur ASP.NET MVC dès qu'il est sorti. J'ai même eu l'occasion de commencer un dev récemment avec la version 2 (et donc de pouvoir tester la partie modulaire).
Je suis très heureux de son intégration à VS 2010...

Mais voilà. Le ZF c'est tellement plus de choses, pour tout... On a parlé de Zend_Acl (tu m'as pas montré du code équivalent , de toute façon à part de grandes paroles tu n'as rien montré du tout : bref) .
Pour moi Zend_PDF n'est pas un détail. De même que Zend_Lucene que j'aimerais très prochainement expérimenter.

Je trouve l'architecture très efficace autour des layouts, views, bootstrap. On peut vraiment tout configurer de partout et comme on le souhaite.
Pour l'ajax il y a le Zend_Debug_Firebug qui est très sympa. Encore plus loin : selon le contexte de mon action (JSON, AJAX, XML, HTML ...) je peux définir quel debugger je vais utiliser.
J'ai de l'html ? ok j'imprime le message du debug à l'écran. C'est de l'Ajax ? ok je l'envoie dans firebug
Un envoi de fichier ou requête http en arrière plan ? je génère un fichier de log. Tout ça se fait quasi tout seul et presque sans config.

Je pourrais te parler en détail de nombreux composants du ZF (tiens la traduction avec Zend_Translate que j'ai utilisé récemment. La encore : simple, efficace, modulable à mort. J'ai tout de suite intégré le TMX dans ma gestion des langues ce qui permet de gérer les traductions avec différents logiciels du marché gérant le TMX).

Et tu vois tout ça ce sont pas des détails pour moi. J'ai choisi un outil de développement d'applications web : je veux du result
Je peux faire pareil en C# avec X Librairies merci je sais... Mais voilà. Alors je peux aussi faire pareil avec PHP avec X librairies. Encore une fois : de quoi on parle ?

Merci d'arrêter tes petites phrases concernant mon argumentation etc... Cesse d'être cassant. Montre moi du code et après on discute.

Les filters asp.net mvc sont en effet très intéressants et mieux que les filters du ZF... Wait and see. On va voir ce qu'ils nous préparent des les prochaines versions.

EDIT :
Sinon ensuite MVC c'est une brique de l'ecosysteme .Net je ne vois pas pourquoi ce dernier devrait réinventer la roue et se priver de la richesse du FX.Net (qui est un système très con trollé et cohérent car géré uniquement par MS)

Bla.... blabla... bla... Regarde MVC sur Wikipédia. Ca n'a rien à voir avec .Net, d'ou ma rélfexion du départ qui montre qu'aucun de nous 2 n'a ni raison ni tort :

Quitte à faire uniquement du MVC, autant développer soi même son propre framework.

On a une différence de point de vue, cesse de vouloir m'imposer la tienne.
Avatar de anthyme anthyme - Membre expérimenté http://www.developpez.com
le 17/02/2010 à 1:02
Ecoute j'ai pris la peine d'aller chercher moi même des exemples sur Zend_acl (que je n'utiliserai jamais) donc tu prendra la peine de faire de même pour les gestion hiérarchique des autorisation en asp.net MVC (et oui au cas ou tu ne comprendrai toujours pas je dis "MVC" je parlais bien du framework Asp.net MVC depuis le début).
Ensuite je te parle de concepts, pas la peine de parler de ligne de code pour pouvoir comparer des technologie, de framework et d'architectures applicative.
Je n'essai en rien de t'imposer un point de vue je ne fais que donner mon point de vue ... Je répond a tes assertions car tes messages manques clairement d'objectivité notamment vis a vis de WCF qui prend 2 clic a déployer avec Visual studio.
Ensuite en parlant d'être cassant je crois qu'il faudrait que tu prenne la peine de relire calmement tes messages et voir qui est le plus agressif ... Ça ne donne pas beaucoup de crédibilité à tes arguments ...

Après si j'insiste sur ces points et ce n'est pas parce que j'ai quelque chose contre toi, c'est tout simplement qu'en te lisant on dirai que le Framework MVC est null car il propose pas de nouvelle façon d'accéder aux donnée, de gérer la sécurité, etc et qu'utiliser WCF c'est perdre des perf ... tout ceci étant totalement faux, je parle en connaissance de cause et je ne veux pas que des "nouveaux" pensent ce genre de chose sur ce Framework ...

Bon a moins que tu ais quelque chose de réellement intéressant à rajouter j'arrête là pour ma part
Avatar de stailer stailer - Membre chevronné http://www.developpez.com
le 17/02/2010 à 9:35
Bon a moins que tu ais quelque chose de réellement intéressant à rajouter j'arrête là pour ma part

+1 pour moi
Avatar de Louis-Guillaume Morand Louis-Guillaume Morand - Rédacteur http://www.developpez.com
le 25/02/2010 à 14:51
je suis obligé de mettre ma pierre à l'édifice mais venant du PHP (et de Zend), je ne peux que plussoyer cette phrase
ZF c'est bien plus comparable au framework .net qu'a MVC, MVC c'est un framework qui permet d'implementer le pattern MVC dans une application .net ni plus ni moins

Zend n'est absolument pas comparable à MVC car MVC dans sa version 1, 2 et même la 3 (je peux juste vous dire que c'est à mon avis la première version qui sera comparables aux Webforms) ne reste de l'implémentation de MVC, rien de plus.

Zend Framework, c'est certes un fonctionnement MVC mais avec tout ce qui va dessus. C'est à dire que tant que l'on reste sur les modules d'authentification, de sécurité, etc on reste encore "autour" de l'implementation de MVC mais ces modules ont évolués pour pouvoir être utilisés de façon plus découplée, plus exotique et au final on se retrouve avec un framework au sens premier du terme, à savoir un ensemble de modules utilisables.

MAIS il se peut qu'ASP.Net MVC évolue tellement qu'il rejoigne d'une certaine façon Zend et là ils seront comparables. Mais c'est pas pour tout de suite ni pour la prochaine version
Avatar de stailer stailer - Membre chevronné http://www.developpez.com
le 26/02/2010 à 11:03
MAIS il se peut qu'ASP.Net MVC évolue tellement qu'il rejoigne d'une certaine façon Zend et là ils seront comparables. Mais c'est pas pour tout de suite ni pour la prochaine version

C'est exactement ce que j'essaye de dire depuis le début.
Justement, POUR MOI un framework MVC doit proposer plus que du MVC mais également tout ce qui va autour... Zend Framework répond à ma démande.
ASP.NET MVC répond également à ma demande, mais moins.
Le projet est jeune, il faudra attendre de nombreuses autres versions pour pouvoir vraiment apprécier le fait d'être sur la plateforme .Net.

Bref, j'ai déjà dit tout ça...
Avatar de Gordon Fowler Gordon Fowler - Expert éminent sénior http://www.developpez.com
le 15/03/2010 à 16:26
Sortie officielle de ASP.NET MVC 2
Pour Visual Studio 2008, Visual Web Developer 2008 Express et Net Framework 3.5

Le mois dernier, Microsoft avait mis en ligne une Release Candidate de sa nouvelle version de ASP.NET MVC spécialement conçue pour les développeurs d'applications webs.

Depuis la fin de la semaine dernière, la technologie est passé en version définitive. Elle peut être utilisée avec Visual Studio 2008 (ou Visual Web Developer 2008 Express) et Net Framework 3.5.

Pour mémoire, elle est rétro-compatible avec ASP.NET MVC 1 et/ou peut-être installée side-by-side avec ce dernier.

ASP.NET MVC 2 est à télécharger soit sur la Microsoft Web Platform, soit sur le Microsoft Download Center.

Plus d'informations sur les nouveautés de la nouvelle mouture dans les billets précédents de ce topic (lire ci-avant) et sur l'annonce officielle de la sortie sur le blog du père de la technologie en personne, Scott Guthrie.

Lire aussi :

Le responsable de Microsoft.NET revient sur les nouveautés de ses technologies ASP.NET MVC 2, Silverlight et VisualStudio 2010

Architecture Modèle-Vue-Contrôleur : 38 tutoriels pour maîtriser ASP.NET MVC

Et les rubriques (actu, forums, tutos) de Développez :

.NET
ASP.NET
Développement Web
Offres d'emploi IT
Développeur web
IP-Formation - Ile de France - Paris (75000)
Ingénieur technologies cognitive H/F
ATC - Rennes - Bretagne - Rennes (35000)
Technicien administration système et réseaux h/f
MENWAY EXPERTS - Poitou Charentes - Angoulême (16000)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil