[Tech Days]: Session “Développement Web: débutez avec les technologies Microsoft”

28 mars 2011

Cette session des Techdays animée par David Rousset de Microsoft  avait pour but de nous donner une vision globale des solutions proposées par Microsoft pour faire du développement Web. Y ont été présentées les frameworks ASP.NET WebForms, AJAX, Dynamic Data, ASP.NET MVC, Silverlight, HMTL5, LightSwitch, webMatrix, et webPI. En voici un bref résumé:

Les Frameworks

ASP.NET Web Forms

Cette technologie est idéale pour débuter le développement Web. ASP.NET Web Forms est basé sur une programmation évènementielle, il permet le développement rapide d’applications web. La création de pages pouvant se faire par composition (Glisser/Déposer dans le designer).  Elle permet aussi la création de blocs réutilisables et l’utilisation de contrôles tiers.  Parmi les principaux inconvénients  de cette technologie, on peut citer  le peu de contrôle qu’a le développeur sur le HTML généré, et les allers-retours serveur qui ralentissent les actions utilisateurs.

Ajax

Utilisé conjointement à ASP.NET WebForms,  les bibliothèques AJAX développées par Microsoft permettent d’améliorer l’expérience utilisateur sur le rendu HTML et de rendre les sites Web plus réactifs et plus interactifs.  Pour plus d’informations sur la solution AJAX proposée par Microsoft: http://msdn.microsoft.com/fr-fr/library/ee341002.aspx

ASP.NET Dynamic Data

Cette solution  permet de construire des applications orientées données.  Elle sera surtout utilisée pour des applications de gestion Back Office. Basé sur Linq To SQL ou Entity Framework data model,  Dynamic Data génère, grâce à des Templates de pages,  un site Web permettant une intéraction totale avec les tables d’une base de données  (création, affichage, modification et suppression d’entrées dans une table) et ce, sans avoir écrit une seule ligne de code.
L’utilisateur peut modifier le style des pages grâce à l’utilisation de skins. Un autre avantage de ASP.NET Dynamic Data est qu’une évolution du modèle des tables n’entraîne pas de retour IHM, tout se faisant de façon automatique. Voici deux liens  pour en savoir plus sur ce framework : http://www.asp.net/dynamicdata et http://weblogs.asp.net/scottgu/archive/2007/12/14/new-asp-net-dynamic-data-support.aspx

ASP.NET MVC

Ce framework est basé sur une architecture RESTful et, comme son nom l’indique, sur le design pattern Modèle Vue Contrôleur qui permet de réduire le couplage entre les différentes couches.  Parmi les avantages d’ASP.NET MVC, on peut citer  la simplification du  travail en équipe car elle permet une séparation des responsabilités, une maîtrise totale du HTML généré (compatible HMTL 5), la possibilité de tester les différentes couches de manière séparée, une portabilité du site sur différents médias (PC, smartphones, tablettes graphiques) facilitée : il suffit juste de créer une vue appropriée. A noter que le fait que l’on puisse contrôler les vues HTML permet de générer des vues plus légères qu’avec ASP.NET WebForms et donc de gagner en temps de chargement des pages. La contrepartie de ce contrôle total sur la vue générée est qu’il y a plus de travail en amont pour développer un certains nombre de composants.

Silverlight

Alternative à Adobe Flash (en fait plutôt Flex), il s’agit d’un plugin qui tourne sur le navigateur, c’est à dire côté client, qui nécessite donc d’être installé sur l’ordinateur pour que le site Web soit accessible.  Silverlight en est actuellement à la version 4, une version 5  étant prévue pour le premier semestre 2011.  Il fonctionne aujourd’hui sur les systèmes d’exploitation Windows, MAC OS, Linux via Moonlight, ainsi que  sur  les smartphones, et  les tablettes. Les performances et le rendu sont garantis quelque soit le navigateur utilisé.

Ce framework permet le développement d’applications métiers puissantes dites applications RIA, il supporte les principaux codecs audio et vidéo, possède un mode “out of browser” qui permet d’installer l’application sur l’ordinateur de l’utilisateur. Les  échanges d’informations avec le serveur se font  via l’appel à des Web services (généralement couplage à WCF ou WCF RIA Services). Il est à noter que ces appels web services sont obligatoirement asynchrones pour éviter un blocage du navigateur. Le développement des interfaces utilisateur se fait en langage XAML. Parmi les outils permettant de développer des applications Silverlight, citons pour tout ce qui est interface utilisateur “Microsoft Expression Blend”,  “Visual Studio .NET 2008″ et “Visual studio .NET 2010″, ces deux derniers étant aussi utilisables pour le code behind. Il est à noter que pour pouvoir développer des application Silverlight sur Visual Studio, il faut installer les Silverlight tools.

HTML5

Markup de la future génération, HTML5 est toujours en cours d’élaboration, la proposition finale de la recommandation, dernière étape du processus de spécification par le W3C,  est prévue pour 2022. Les différents développeurs de navigateur (Opéra, Mozilla, Google, Apple, Microsoft,..) ont toutefois déjà commencé à implémenter les premières balises validées par le W3C. Parmi celles-ci, on retrouve les balises <audio> et <video>, seul problème, les membres du W3C n’ont pas pu se mettre d’accord sur les codecs utilisables avec ces balises, du coup, le choix du ou des codecs dépend de l’éditeur de navigateur, ce qui complique l’utilisation de ces dernières (un fichier par codec vidéo si l’on veut être compatible avec tous les navigateurs). De plus le look des contrôles de lecture (boutons, …) dépend aussi du navigateur, donc le rendu là aussi dépend du navigateur. L’exemple de ces deux balises, montre le principal problème actuel de HTML5, bien que langage universel, ses performances et son rendu varient suivant le navigateur. Autre point de difficulté pour le débutant, pour développer de sites web conviviaux, en plus du HTML, le développeur devra avoir une certaine maîtrise du Javascript. Parmi ses avantages, on peut citer le fait qu’il permet de viser l’ensemble des devices et des systèmes d’exploitation et ce sans l’installation d’un quelconque plugin, il est soutenu par l’ensemble des acteurs de la Web Economie. Coté outils, ceux-ci sont encore assez limités, ce qui rend les temps de développement assez long, mais cela devrait changer courant 2011. En conclusion sur HTML5, ce sera sans aucun doute le langage de développement Web  majeur dans les prochaines années, mais il est encore trop tôt pour l’utiliser dans les applications d’entreprises.

Les outils

Visual Studio LightSwitch

Il s’agit d’un environnement de développement simplifié permettant de générer de façon simple et rapide des applications d’entreprises déployables sur le bureau, sur un serveur ou sur le Cloud (intégration native avec Windows Azure).  La création d’interfaces utilisateurs  est facilitée  grâce à des modèles prédéfinis et personnalisables.  Même avec pas ou peu de connaissances en développement, l’utilisateur pourra créer une application orientée données et formulaires, l’outil  s’occupant de générer le code Silverlight correspondant.

WebMatrix

C’est un outil gratuit et simple à prendre en main pour débuter la programmation Web.  Il permet la création de pages HTML avec du Javascript et des CSS, de pages ASP.NET, et de pages PHP.  Pour développer son site, l’utilisateur peut partir d’un projet vide, ou bien importer et personnaliser des application existantes ( WordPress par exemple). De plus, il intègre par défaut un serveur web IIS Developer Express et une base de données SQL Server Compact, et propose même une liste d’hébergeurs “compatibles Webmatrix”.  Voici un lien pour en savoir plus: http://blogs.sitepoint.com/2011/03/01/building-dynamic-websites-with-webmatrix/

Web PI

Outil permettant de faciliter le téléchargement et l’installation des différents composants de la plate-forme de développement Web de Microsoft.

Conclusion

Si cette séance ne m’a rien appris sur les technologies que je connaissais déjà, et ce n’était pas le but,  elle m’a toutefois permis  d’avoir une vue assez exhaustive des solutions proposées par Microsoft pour faire du développement Web ainsi que  des exemples sur quand et comment utiliser ces technologies.

Alexis Roux de Montlebert (0 Posts)


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>