ASP.net
ASP.net est tout simplement la version .NET de l'ASP. Auparavant les pages ASP étaient, à l'instar de PHP, des pages HTML comportant du code logique écrit dans une version simplifiée de Visual Basic. Désormais les pages ASPx (.net) sont écrites de manière complétement différente puisqu'elles s'appuient sur le Framework .NET et la CLR. Tous les langages supportés par .NET peuvent servir à l'écriture de pages ASPx. On distingue 3 types de pages :
Les anciennes pages ASP peuvent continuer d'exister et cohabiter avec
les pages ASPX, mais elles ne bénéficient pas des avancées
de .NET. Outre les langages disponibles, la plus grosse différence
vient du fait que les pages ASP.net sont compilées et sont donc
sous contrôle de la CLR (surveillance de code, gestion des ressources,
...) La compilation a lieu lors de la première requête vers
la page, d'abord en code MSIL, puis en code machine, à l'instar
du J2EE. Une fois compilées, elles sont mises en cache dans la
mémoire du serveur .NET. ce qui garantit de très bonnes
performances.
Les pages ASPx bénéficient également de toutes les possibilités offertes par les classes de base du framework .NET, et aussi de la possibilité d'être déboggée (exécution pas à pas), de faire des traces, de gérer les exceptions etc ...
Les pages ASPx peuvent être divisées en deux : d'une part
le fichier qui contient le code HTML (présentation) et d'autre
part un fichier qui contient le code logique écrit dans le langage
de son choix (.aspx.cs pour C#, .aspx.vb pour VB.net, ...). Ce code logique
peut faire appel aussi bien à des classes de base qu'à n'importe
quelle classe développée avec la plate-forme .NET. Un site
Web écrit en ASPx peut donc être considéré
comme une véritable application. Ces contrôles sont intégrés dans ce qu'on appelle des Web Forms et il en existe 45. Ils sont déclarés soit sous forme de balises HMTL, soit sous la forme de balises XML avec l'attribut runat=server. Exemples : <input type="text"
id="text2" runat="server" /> Les pages ASPx bénéficient également d'ADO.net : la couche de liaison de données du Framework. Cela lui permet d'accéder aux données de manière trés simple et trés rapide. Il est possible de lire et mettre à jour une base de données mais aussi d'en charger une partie en mémoire et d'en faire des mises à jour en direct sur la page. Les données rapatriées sont toujours au format XML et peuvent être lues soit en XML soit dans un recordset. Les pages ASPx sont considérées comme des objets et à ce titre elles ont des méthodes (validate(), Load(), render()) et des propriétés ( ID, isPostBack, errorpage)
Il existe 2 manières de coder des pages ASPx. La première où tout le code est dans le même fichier avec des balises spécifiques pour signaler la partie logique. La seconde ou les fichiers de présentation et de code logique sont séparés. Bien que la 2ème méthode soit la plus structurée et la plus efficace je vais vous présenter la première pour des raisons pratiques de présentation. Exemple : Création d'un formulaire et contrôle de sa validation (Validator). Avec un page ASP classique, il faut faire un formulaire HMTL classique et le valider. Une fois validé, on peut alors vérifier les données saisies et rediriger l'utilisateur vers une autre page ou lui indiquer les erreurs de saisie. Les contrôles serveur de ASP.net vont permettre de vérifier la saisie d'une page sans la quitter. Voici le formulaire :
Pour arriver à ce résultat, nul besoin d'écrire du code spécifique au contrôle de chaque champs. Voici le code écrit pour les 2 premiers champs à contrôler :
De plus si on utilise Visual studio .NET ou ASP Web Matrix, la création se fera ENTIEREMENT en WYSIWYG : la création du formulaire prendre une dizaine de minutes malgré tous ces contrôles. Pour plus d'exemples, je vous conseille l'excellent tutoriel en français
du site GotDotNet
! On y trouve de très bons exemples en C#, VB et Jscript.
Comme pour C# / .NET et Java, on peut faire le rapprochement de ASP.net et J2EE. Mais à l'instar de Java, J2EE doit utiliser une couche supplémentaire pour pouvoir utiliser des composants externes, RMI dans le cas de J2EE, ce qui n'est pas le cas de .NET. Je ne connais pas assez pour donner mon opinion sur J2EE, je me contenterai
donc de vous donner une liste d'articles sur ce sujet :
|
|