|
Il y a quelques semaines, Bill Gates
annonçait officiellement le lancement de .NET
(Dot NET). De nombreux analystes, souvent persifleurs, crièrent
encore au vaporware. Puis, dès le lendemain, Microsoft annonçait sa
volonté de créer un nouveau langage le C#
(C Sharp). Certains le dénommèrent aussitôt le J--. La semaine
dernière (du 11 au 14 Juillet 2000), au PDC d'ORlando, 7000 développeurs
trouvèrent dans leur valisette offerte à l'accueil, des CD Rom avec
une version Alpha de ASP+ fonctionnelle.
Certes ce n'est qu'une version Alpha (la définitive ne viendra sans
doute que pendant le 1er semestre 2001), mais elle est déjà opérationnelle
(le discours de B. Gates n'était donc pas qu'un rêve), et déjà des
sites en ASP+ sont présents sur le web,
des livres sont en préparation, etc.
La suite de cette article est une présentation
des nouvelles fonctionnalités d'ASP+.
Pour
quel environnement ?
Avant toutes choses, ASP+
sera (enfin c'est ce qu'ils disent pour l'instant), parfaitement
compatible avec ASP. Pour utiliser ASP+,
il suffit de l'installer sur un serveur web. Elle est indépendante du
système d'exploitation (ie NT4 ou W2K)
mais est liée uniquement au serveur web. Pour l'instant, seuls IIS4
et IIS5 sont supportés. Il n'y as pas
encore de décisions prises concernant PWS.
Les
Web Forms
On pourrait croire à un terme
marketing. Une Web Form désigne en effet une bête page web avec la
nouvelle extension aspx qui remplace asp. Son contenu est similaire à
une page asp classique du style :
<HTML>
<BODY>
<%="Hello World"%>
</BODY>
</HTML>
Mais l'idée sous-jacente est de
pouvoir créer des pages web aussi simplement que le font les développeurs
Visual Basic :
- drag & drop de contrôles,
- gestion des évènements des même
contrôles,
- etc.
Bien entendu, Microsoft développe
actuellement son pack de développement Visual
Studio.NET (alias Visual Studio 7) dans ce sens.
Code
compilé
Un premier élément d'importance
(certains trouveront que c'est le principal) est que le code n'est
plus interprété mais compilé au premier accès à la page. Cela
signifie que la première fois qu'une personne se connectera sur cette
page, ASP+ compilera le code. pour toutes
les autres personnes qui se connecteront par la suite, ce sera le code
compilé qui s'exécutera. Le gain en performance est énorme. Pour mémoire,
quand Visual Basic est passé de la
version 4 (P-Code) à la version 5 (compilateur C++), le gain a été
de 10 (après les tests et ce malgré que Microsoft annonçait une
gain de 20).
Indépendance
du langage
Un autre élément important : le
langage utilisé. Pour l'instant, côté serveur, vous pouviez
utiliser du VBScript ou du JavaScript.
Maintenant plus de 9 langages sont officiellement annoncés (VB, C++,
C#, Perl, etc.) bien que seul le C# soit
actuellement supporté en plus des deux langages traditionnels. Ainsi,
tous les développeurs peuvent garder leurs habitudes. Un fana du Perl
qui trouve le VB "basic" pourra utiliser ASP+.
Les
contrôles serveurs
Windows a toujours été livré avec
des contrôles dits communs : par exemple, dans l'explorateur Windows,
vous avez sur la gauche une arborescence (contrôle TreeView)
et sur la droite le contenu (contrôle ListView).
Ces contrôles sont mis à la disposition des développeurs pour leurs
propres applications sans avoir à réécrire le code de leurs
affichages, gestion, etc. Il en est de même avec les contrôles
serveurs d'ASP+. ASP+ est livré avec 45
contrôles très divers. Cela va d'une bête zone de texte au
calendrier en passant par un treeview.
Leurs déclarations au sein d'une page ASP+
est très simple. Par exemple, pour un contrôle texte avec une zone
de liste déroulante :
<asp:textbox
runat=server>
<asp:dropdownlist runat=server>
Vous me direz, quel est l'intérêt
d'utiliser ce type de contrôle ? Comme les développeurs qui
utilisent MS Visual Interdev doivent commencer à le sentir, vous
pouvez très bien associer un contrôle textbox
à un champ d'un recordset. De plus, vous
pouvez écrire du code dans l'évènement Click
d'un Button crée côté serveur (une remarque, ASP+
analyse le navigateur interrogant la page pour optimiser le code généré.
Si c'est, par exemple IE5, il utilisera des fonctions DHTML,
en revanche, pour des navigateurs de "bas" niveau, le code
ne sera exécuté que côté serveur). Dernier exemple pour vous
persuadez, vous affichez certainement vos enregistrements d'un recordset
dans un tableau. Le code à écrire est assez conséquent. Avec ASP+,
utilisez le contrôle datagrid : 2
lignes de code, une pour créer l'objet, une autre pour l'associer
à un recordset !
Bien entendu, et ce contrairement aux contrôles DTC
de Visual Interdev, l'aspect de ces contrôles est parfaitement
modifiable.
Les
contrôles invisibles
Il existe également des contrôles
invisibles (comme le Timer en Visual Basic). Un exemple de ce type de
contrôle sont les contrôles de validation. Par exemple, ils
permettent de s'assurer que le texte Nom d'un formulaire (côté
serveur) a bien été rempli et correctement par l'internaute, qu'un
élément d'une zone de liste déroulable a bien été sélectionnée,
etc. Comme décrit ci-dessus, le code de validation s'exécutera soit
côté serveur pour les navigateurs de bas niveau, soit côté client
pour les navigateurs de haut niveau (certains diront ici que c'est la
nouvelle solution trouvée par Microsoft pour imposer MS Internet
Explorer 6 !).
Parmi ces contrôles de navigation, vous avez un contrôle qui
s'assure que vous avez bien rempli une zone de texte, un autre qui
s'assure que les valeurs sont bien comprise entre une valeur maximale
et une minimale, etc.
Les
pagelets
Pour simplifier les pagelets vous
permettent de créer vos propres contrôles serveurs. Avec ASP+,
vous pouvez créer une page aspx
contenant un contrôle serveur, puis lui ajouter les propriétés et méthodes
supplémentaires que vous souhaitez et cela, exactement comme vous le
faites actuellement en développant des contrôles OCX
pour vos applications locales. Ces pages ont pour extensions aspc
(c pour controle). Une pagelet peut contenir plusieurs contrôles et gérer
en interne ses propres événements. Ainsi, vous pouvez demander à
l'un de vos développeurs de créer une pagelet pour le login dans
votre Intranet. Cette pagelet comprendra deux zones de texte, une pour
le nom, l'autre pour le mot de passe. Votre développeur peut créer
dans la pagelet le code qui validera que les entrées sont correctes.
Elle exposera un évènement asklog qui sera généré uniquement
quand tous les paramètres entrés par l'internautes seront bien formés.
De votre côté, vous n'aurez plus qu'à utiliser cette pagelet dans
vos pages, soit une seule ligne de code.
Autre avantage, vous pourrez avoir (contrairement aux Include)
plusieurs pagelets du même type dans une seule page.
Enfin, vous pourrez instancier des pagelets dynamiquement dans vos
pages.
|