Microsoft vient de mettre en ligne un
kit pour se former
et s'entraîner sur le Framework ASP .NET 3..5.
Le kit a été réalisé par une équipe technique de
Microsoft Corp., qui travaille sur Visual Studio et le Framework .NET.
Pour en savoir plus sur ce projet, rendez-vous sur le
blog de Jonathan Carter.
Pour mémoire, le Framework .NET, c'est un ensemble de briques permettant de faciliter le développement d'applications informatiques (applications Windows, Web, sur appareils mobiles, etc.). Depuis
le lancement officiel de sa première version en 2002, le Framework .NET s'est fortement enrichi.
A l'époque, .NET se résumait essentiellement en trois éléments : les
Windows Forms pour développer des applications Windows,
ASP .NET pour le développement d'applications Web & de
Web
Services, la CLR (Common Language Runtime), couche logicielle permettant d'exécuter les applications .NET sur un système Windows et constituant le coeur du framework.
Depuis cette première version, Microsoft a continuellement développé et renforcé .NET, toujours selon une vision intégrée et cohérente, de façon à répondre à des besoins spécifiques en matière de
développement logiciel. Ainsi, le Framework .NET contient par exemple, depuis sa
version 3.0, une brique nommée
Windows Presentation
Foundation (WPF) spécifiquement destinée au développement d'interfaces utilisateurs. Autre exemple,
Windows Communication
Foundation (WCF) est la brique .NET qui permet à des applications informatiques, Microsoft ou non-Microsoft d'échanger des données entre elles.
Worflow Foundation (WF) pour le développement de Workflow et
Windows CardSpace pour la gestion des identités numériques constituent les deux autres piliers de
.NET 3.0.
Petit à petit, de nouveaux éléments sont donc venus enrichir la plateforme (= framework .NET + outils de développement tels que
Visual Studio ou
Expression) existante pour parvenir aujourd'hui à un riche environnement
répondant aux nombreuses attentes des développeurs.
La dernière version du Framework, .NET 3.5, comprend :
- un mécanisme de "requêtage" nommé
Linq intégré aux langages de développement C# et Visual Basic
- un framework nommé
ASP .NET Ajax pour concevoir des applications interactives basées sur le modèle Ajax
- les briques permettant de construire des solutions techniques selon une
architecture REST (architecture à comparer avec la vision
Web Services).
Si l'on descend plus finement dans le modèle, on s'aperçoit que .NET 3.5 propose aux développeurs de nombreux frameworks ou couches logicielles spécialisés. Parmi ces solutions, nous pouvons citer
en tant qu'exemples :
-
ADO.NET Data Services
-
ADO.NET Entity Framework
-
ASP .NET AJAX History
-
ASP.NET Dynamic Data
-
ASP.NET MVC
-
ASP.NET Silverlight controls
Pour bien cerner l'intérêt de ces extensions et les facilités qu'elles offrent aux développeurs, jetons par exemple un coup d'oeil sur
ASP .NET Silverlight controls, à travers le
kit proposé par l'équipe de Jonathan Carter. L'exercice 1 sur Silverlight, nommé
Adding Rich Media to Web Applications, nous
permettra d'afficher un contrôle Silverlight dans une page web avec un ensemble de métadonnées associé (renvoyé par un
service WCF).
Pour réaliser cet exercice, j'ai utilisé :
- L'environnement de développement
Visual Studio Team System 2008 Architecture Edition.
- Le
Framework .NET 3.5,
- Les
extensions pour ASP .NET 3.5 qui, entre autres,
contiennent les fondations pour créer des contrôles Silverlight avec ASP .NET.
- La
Bêta 1 des outils Silverlight pour Visual Studio
2008 qui inclut un plus large support pour développer des applications Silverlight avec ASP .NET (Silverlight 2 Beta 1, Silverlight 2 SDK Beta 1, des modèles de projets pour Visual Basic et C#,
etc.).
Si vous n'avez pas accès à l'une des versions payantes de
Visual Studio 2008, vous pouvez développer et tester vos applications Silverlight à
coûts
nuls en téléchargeant l'environnement
Visual Web Developer 2008 Express (VWD 2008).
Projets Web et Sites Web
Néanmoins, pour exécuter cet exemple (qui a été prévu pour Visual Studio) sous VWD 2008, nous devons procéder à quelques adaptations mineures. En effet, il faut savoir que Visual Studio permet de
créer des
applications web et des
sites web alors que VWD 2008 se limite aux sites Web. Comment se différencient sites web et applications web ? Sur son blog,
Moar David présente un synthèse de ces différences.
Insertion d'un lecteur Silverlight dans un site ASP .NET
Après avoir installé le kit d'entraînement pour ASP .NET 3.5, ouvrons VWD 2008 pour créer un nouveau site web du type
ASP .NET 3.5 Extensions Web Site : menu
File >
New Web
site > modèle
ASP .NET 3.5 Extensions Web Site , sélectionnons
C# comme
langage >
OK. On pourra nommer notre solution
RichMediaWebSite.
Commençons par supprimer l'ensemble des fichiers situés sous l'arborescence du site, c'est-à-dire
Default.aspx et
Web.Config.
Ouvrons ensuite le dossier principal du kit, nommé
NETFramework35Enhancements_TrainingKit, et naviguons jusqu'au répertoire
begin/spNetSilverlightMediaPlayer de l'exercice 1 sur
Silverlight :
C (ou la lettre de votre disque) >
NETFramework35Enhancements_TrainingKit >
Labs >
AspNetSilverlightCtrl >
Ex01-UsingSilverlightMediaPlayerCtrl >
begin >
AspNetSilverlightMediaPlayer.
Copions tous les fichiers du répertoire
AspNetSilverlightMediaPlayer pour les coller dans notre solution
RichMediaWebSite.
Supprimons les fichiers
AspNetSilverlightMediaPlayer.csproj,
AspNetSilverlightMediaPlayer.csproj.user et
Default.aspx.designer.cs utilisés par Visual Studio
dans le cadre d'un
projet d'application web (rappel : nous créons ici un
site web). Pour en
savoir plus sur les fichiers du type
*.aspx.cs et
*.aspx.designer.cs, on pourra consulter l'article
Introduction to Web Application Projects des MSDN.
Si nous construisons notre site web (menu
Build >
Build Web Site), nous obtenons l'erreur
Could not load type
'AspNetAjaxMediaPlayer.Default'. Nous obtenons cette erreur car l'attribut
CodeBehind n'est pas utilisé lors de la construction du site web.
La première solution pour supprimer cette erreur consiste à ajouter un répertoire
App_Code à notre site web (clic-droit sur la racine du site >
Add ASP .NET Folder >
App_Code) et à placer le fichier
Default.aspx.cs dans ce répertoire. D'une façon générale,
App_Code est un répertoire reconnu par VWD 2008 (et Visual Studio) qui contient les ressources qu'un développeur web souhaite compiler dans le cadre de son site. Nous obtenons
alors le code suivant pour la directive
@ Page :
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="~/App_Code/Default.aspx.cs" Inherits="AspNetAjaxMediaPlayer.Default" %>
Attention, cette solution est déconseillée dans la mesure où le modèle de
code-behind d'une page a
évolué lors du passage d'ASP .NET 1.1 à ASP .NET 2.0, avec l'introduction de l'attribut
CodeFile et de la notion de
classes partielles. Voici quelques liens à consulter pour en savoir plus sur ces aspects :
-
What's New in the ASP.NET Web Page Model
-
How to: Migrate an ASP.NET 1.1 Web Page Using the CodeBehind Attribute to ASP.NET 2.0
-
ASP.NET Web Page Code Model
Nous utiliserons donc l'attribut
CodeFile accompagné de l'attribut
Inherits qui permet d'associer le nom d'une classe à notre page
Default.aspx :
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="AspNetAjaxMediaPlayer.Default" %>
L'attribut
CodeFile permet de compiler la classe associée qui doit être déclarée comme partielle d'après le modèle de code-behind apparu depuis la version 2.0 d'ASP .NET.
Une fois ces modifications effectuées, nous pouvons démarrer au point
3. l'exercice du kit :
C (ou la lettre de votre disque) >
NETFramework35Enhancements_TrainingKit >
Start > menu
Labs > lien
ASP .NET Silverlight Controls > lien
Introduction to ASP .NET Silverlight Controls > lien
Exercise 1 : Adding Rich Media to Web
Applications.
Pendant l'exercice (ou une fois terminé), nous devons penser à créer un dossier
App_Code qui contiendra les fichiers
Metadata.svc.cs et
ChapterInfo.cs de manière à compiler
ces derniers lors de la construction du site web. Au Final voici le résultat que nous obtenons :
Résultat intermédiaire : un lecteur Silverlight
Résultat de l'exercice : un lecteur Silverlight avec des métadonnées associées
Les métadonnées définissent six chapitres que l'utilisateur peut sélectionner librement via un ruban.
Voici donc un exemple de développement qu'un développeur de sites web peut réaliser avec Silverlight, et gratuitement grâce à
Visual Web Developer 2008 Express Edition.