Toujours en direct du TechEd 2007 à Barcelone, "The Next Release of ASP.NET", avec Matt Gibbs, Development Manager sur ASP.NET. Encore une fois, il s'agit de mes notes brutes, en direct, et non retraitées.
Mot d'ordre
Cette nouvelle release a comme objectifs principaux, pour répondre aux requêtes des développeurs:
- Respect des standards, notamment le CSS.
- Flexibilité offerte aux développeurs (notamment réorientation de la sortie et des entrées pour les tests).
- Personnalisation intégrale.
A venir
Futur des "ASP.NET Futures"
C'est du travail en cours, que l'on peut télécharger et utiliser. Mis à disponibilité des dévelopeurs mais susceptible d'évoluer fortement.
Une partie des Futures est intégrée au .NET Framework 3.5. Pour le reste, sur lequel Microsof n'a pas suffisamment de feedback, c'est mis sur CodePlex.
.NET Framework (ASP.NET 3.5 Extensions)
ASP.NET AJAX 1.0 a été intégré au .NET Framework "Orcas" en tant que CTP, et va être intégré au .NET Framework, peut-être en tant que Service Pack.
Features
Astoria
Offre un accès REST aux données:
- Les données sont identifiées par des URIs uniformes
- Intégration avec l'infrastructure HTTP
- Indépendance vis-à-vis du format et du stockage
AJAX
Pour ceux qui ne veulent pas écrire du JavaScript, il y a le UpdatePanel depuis le début. Pour les autres, on a un support pour les classes, proxys, ...
Dans "Orcas" on a:
- Des Validators, TreeView, Menu et WebParts mis à jour pour être compatibles avec le UpdatePanel
- ListView: un contrôle qui n'en fait pas trop pour qu'on puisse en faire plus
Dans la CTP pour la prochaine release on a la "Logical Navigation". Cela répond au problème où l'utilisateur confond le bouton "back" avec le fait de revenir en arrière dans sa transaction. On a:
- prise en charge du bouton "back" pour tous les navigateurs;
- APIs client et serveur;
- création de "permalinks" contenant l'état. Cela permet de bookmarker ou envoyer par e-mail un lien vers quelque chose que l'on veut partager (ce n'est pas dans la CTP). Pour permettre cette prise en charge, on ajoute "EnableHistory=true" sur le ScriptManager, puis on s'abonne côté client à l'événement OnNavigate où on appelle AddHistoryPoint sur le ScriptManager.
Ajout du "Script combining" pour éviter de faire N requêtes vers les N scripts: cela améliore la performance. Les scripts sont combinés côté serveur et envoyé au sein d'une seule requête au client.
Silverlight
Contrôles Silverlight
Le contrôle ASP:Silverlight:
- automatise l'installation et la création du plugin Silverlight
- fournit des classes AJAX pour programmer avec Silverlight
Le contrôle ASP:MediaPlayer:
- Offre un accès à la lecture de vidéos offerte par Silverlight.
- Comme tout bon contrôle serveur, il permet d'éviter le JavaScript et le XAML, qu'il produit lui-même.
- Prend en charge la localisation.
- Permet les overlays, marqueurs, ...
Des classes "helper" permettent d'intéragir facilement avec le plugin Silverlight côté client ou serveur.
Dynamic Data Controls
Le "Scaffholding" permet
- un accès CRUD intégral
- la validation basée sur le schéma (qui peut être customisée par description dans le schéma)
- navigation des relations
Pour le mettre en oeuvre on place des contrôles (DynamicDataFields) dans le répertoire App_Shared.
MVC (Model View Controler) Framework
Permet de séparer le modèle de données de la vue qui permet de l'afficher.
Il permet notamment:
- Les tests de l'interface (pour le TDD)
- Des URLs "propres"
Comments
Tellement bon que j'en ai fait un lien sur mon site (loicbar.com)
A bientôt!
Me voilà donc abonné à ton blog.
Pourquoi as-tu trouvé que la session était décevante? J'ai trouvé que le speaker avait des démos intéressantes, car il allait du compliqué (avant) au simple (après).
Peut-être est-ce parce que tu étais déjà au courant de plusieurs technos, mais vu la taille du public il y en avait sûrement beaucoup qui découvraient...
Après une semaine, je regrette de ne pas t'avoir croisé. Aux TechDays, peut-être? ;-)