Accueil🇫🇷Chercher

ASP.NET MVC

ASP.NET MVC est un framework de programmation des applications web en style MVC ajouté à ASP.NET en 2009. Il a été créé en 2007 par Scott Guthrie, un des auteurs d'ASP.Net puis a été incorporé à ASP.NET et est devenu un produit officiel de Microsoft avec la sortie de ASP.Net MVC 1.0[1]. Le code source d'ASP.Net MVC est publié sous licence libre Microsoft Public License[2].

Les sites web Stack Overflow et CodePlex ont été créés avec ASP.NET MVC[1].

Description

Depuis 2002 ASP.NET comporte le framework Web forms qui permet de mettre en œuvre une interface graphique à l'aide d'un groupe d'objets qui peuvent être transformés en HTML[2]. ASP.NET MVC est un framework inspiré de produits comme Ruby on Rails, proposé depuis 2009 comme alternative à Web forms[2]. Il applique le style Modèle-Vue-Contrôleur (abr. MVC) - un style lancé en 1978 et devenu populaire pour les applications web[2]. Contrairement à Web forms, le framework ASP.Net MVC offre un contrôle complet du HTML généré par l'application web, ce qui simplifie l'utilisation de bibliothèques comme JQuery ou Bootstrap[2].

En style MVC une application comporte des modèles, des vues et des contrôleurs [3]

  • un modèle dĂ©crit des donnĂ©es mĂ©tier. Les caractĂ©ristiques des donnĂ©es ainsi que les opĂ©rations sont encapsulĂ©es dans des modèles[3].
  • une vue est destinĂ©e Ă  transformer un modèle en quelque chose de visuel. Dans les applications web cela signifie gĂ©nĂ©rer du HTML[3].
  • un contrĂ´leur contrĂ´le l'utilisation des vues et des modèles. Reçoit les actions de l'utilisateur, lance les modifications du modèle et utilise les vues pour obtenir le rĂ©sultat prĂ©sentĂ© Ă  l'utilisateur[3].

ASP.NET MVC suit le principe de convention plutôt que configuration: au lieu de proposer des paramètres de configuration, ASP.NET MVC part du principe que l'ingénieur qui s'en sert suivra un certain nombre de conventions[3]. Par exemple ASP.NET MVC part du principe que les répertoires Models, Views et Controllers d'une application web seront utilisés pour enregistrer le code source des modèles, des vues / resp. des contrôleurs[3].

Razor est le générateur de page web dynamique par défaut d'ASP.NET MVC depuis la version 3[4]: les pages web sont générées à partir de fichiers hybrides qui comportent à la fois des balises HTML et du code source à la syntaxe Razor[5]. Ces fichiers sont ensuite compilés et exécutés à la volée[5]. En syntaxe Razor, le caractère "@" sert à délimiter le code source, éventuellement accompagné d'accolades "{" et "}"[4]. Le code source peut être en langage C# ou Visual Basic.NET[4]. L'utilisation de ces caractères, peu usuels dans le HTML, facilite la lecture en permettant de facilement faire la distinction entre le code source et le contenu HTML de la vue[5].

Histoire

Lors de sa sortie en 2002, ASP.Net comportait un framework Web forms qui permettait de mettre en œuvre une interface graphique à l'aide d'un groupe d'objets qui peuvent être transformés en HTML[2]. Par ce framework Microsoft a tenté de faire abstraction du langage HTML et du protocole HTTP auquel les ingénieurs n'étaient pas encore familiers[2]. Web forms permettait aux ingénieurs de créer des interfaces graphiques selon le procédé classique événementiel[2].

Depuis 2002, les technologies web ont évolué vers un plus strict respect des standards. HTML5 est devenu populaire, et des nouvelles bibliothèques Javascript telles que AngularJS et JQuery ont facilité le travail des ingénieurs[2]. L'architecture REST est devenue populaire, et ce style a amené à des applications web qui manipulent non seulement du HTML mais également des documents JSON ou XML et s'utilisent avec des scripts Ajax et des smartphones[2].

Des frameworks en architecture MVC tels que Ruby on Rails ont fait leur apparition. Ce dernier offre un strict respect des standards et permet de construire des applications en style REST et MVC[2].

ASP.Net MVC a été créé en 2007 par Scott Guthrie, un des auteurs d'ASP.Net, durant un voyage en avion. Il a ensuite été incorporé à ASP.NET et est devenu un produit officiel de Microsoft en 2009 avec la sortie de ASP.Net MVC 1.0[1].

Razor

Razor est une syntaxe utilisĂ©e pour crĂ©er des pages web dynamiques avec les langages C# ou Visual Basic.NET, qui a Ă©tĂ© intĂ©grĂ©e Ă  Visual Studio en 2011. Razor propose une structure simple de gĂ©nĂ©ration de vue et a Ă©tĂ© intĂ©grĂ©e dans ASP.NET MVC 3 et le jeu d'outils WebMatrix[6].

Histoire

Razor fut dĂ©veloppĂ© Ă  partir de 2010[7] et introduit dans Microsoft Visual Studio 2010 en [6].

Structure

La syntaxe Razor est composĂ©e de balises de moteur de template, basĂ©e sur le langage de programmation C#, permettant au dĂ©veloppeur de gĂ©nĂ©rer un flux HTML. On Ă©vite ainsi d'utiliser la syntaxe <%= %> annonçant habituellement un bloc de code dans les pages web ASP.NET (.aspx) nĂ©cessitant une construction plus lourde, car Razor annonce le dĂ©but d'un bloc simplement avec le caractère @ d'une part et d'autre part ne nĂ©cessite pas de balise de fermeture.

L'idĂ©e derrière Razor est de proposer une syntaxe optimisĂ©e pour la gĂ©nĂ©ration de code HTML, avec une approche centrĂ©e sur le langage de template, avec une transition minimaliste entre ce dernier et HTML[8]. Ce principe rĂ©duit significativement le nombre de caractère et la saisie, et amĂ©liore le processus de dĂ©veloppement par le fait de ne pas recourir explicitement Ă  un marquage des blocs au sein du code HTML[7]. Autres avantages notables[9] :

  • Support de l'auto-complĂ©tion IntelliSense
  •  Test unitaire
  • Support des "layouts" (une alternative au concept de "master page" avec les pages web ASP.NET (.aspx) classiques)

Notes et références

  1. (en)Stephen Walther, ASP.NET MVC Framework Unleashed, Sams Publishing - 2009, (ISBN 9780768689785)
  2. (en)Adam Freeman, Pro ASP.NET MVC 5, Apress - 2014, (ISBN 9781430265306)
  3. (en)Jess Chadwick Todd Snyder et Hrusikesh Panda, Programming ASP.NET MVC 4: Developing Real-World Web Applications with ASP.NET MVC,"O'Reilly Media, Inc." - 2012, (ISBN 9781449320317)
  4. (en)Jon Galloway - Phil Haack - Brad Wilson et K. Scott Allen,Professional ASP.NET MVC 4,John Wiley & Sons - 2012, (ISBN 9781118416754)
  5. (en)Jess Chadwick, Programming Razor: Tools for Templates in ASP.NET MVC or WebMatrix,"O'Reilly Media, Inc." - 2011, (ISBN 9781449317164)
  6. « How to get Razor syntax support in Visual Studio 2010 », sur blogs.msdn.microsoft.com, Microsoft, (consulté le )
  7. « ScottGu's Blog - Introducing “Razor” – a new view engine for ASP.NET », asp.net.
  8. Jon Galloway, « MVC 3 - Razor View Engine », The Official Microsoft ASP.NET Site
  9. « ASP.NET MVC View Engine Comparison », stackoverflow.com
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.