Revue du web du 22 mars
Les tweets de la semaine
http://twitter.com/Mix10French/status/10577773952 quand on vous dit que c’est une version “developper preview”
http://twitter.com/MSDN_Forum/statuses/10613210551 chercher des failles potentielles de sécurité à travers le code décompilé de composants.
http://twitter.com/snaveen/status/10544872113 tracer des informations de bas niveau en Silverlight, attention “hack ahead”
La question Stackoverflow
http://stackoverflow.com/questions/2461319/c-inconsistent-math-operation-result-on-32-bit-and-64-bit on pensait ne plus avoir à tenir compte des différents machines quand on développe … sauf dans certains cas. Une réponse par Eric Lippert, un des designer de C#. On pourra consulter une autre réponse plus précise.
Actualités Microsoft
La conférence MIX10 a bien tenu ses promesses :
- Silverlight 4 en release candidate : Visual Studio 2010 RC est enfin compatible avec cette version.
- Silverlight (sans nom mais c’est une version mini entre le 3 et le 4) pour le future système d’exploitation des Windows Phone Series 7 avec un site web dédié, des outils gratuits en beta et déjà pleins de clients Twitter en préparation
- Une version preview de Internet Explorer 9 qui montre le support de HTML 5, CSS3, le nouveau moteur Javascript
- Microsoft annonce aussi une contribution plus importante dans jQuery (après l’ajout dans Visual Studio et certains templates) : contribution de code et de ressources de tests. Que devient ASP.NET AJAX ? Les réponses de Microsoft ne sont pas rassurantes pour le projet.
- OData, le protocole de Astoria-ADO.NET Data Servcices-WCF Services (vous êtes toujours là ?) se voit doter d’un SDK. On sait aussi que SharePoint et SQL Server Reporting services exposeront leur contenu via OData. Mais le catalogue des données publiques se construit aussi avec Netflix, Nasa, l’ONU etc.
Avec ce billet de Scott Hanselman on peut avoir l’essentiel des liens officiels, on attendra quelques jours pour avoir le retour de la communauté.
Actualités “Alt.NET”
On connaisait Mono sur linux depuis plusieurs années. Souvent considéré plus comme une preuve de concept plus qu’un vrai runtime, les versions se sont succédées et commencent à trouver une place dans un mouvement plus vaste. Là on trouverait une architecture .NET “classique” avec par exemple ASP.MET MVC, Unity, Entity Framework sur un Windows Server 2008, l’alternative Linux (Mono, Ninject, FubuMVC, NHibernate) n’est plus un concept. Mais c’est vraiment du côté du développement mobile que Mono nous a surpris avec MonoTouch, l’environnement .NET pour des applications iPhone/iPod Touch/iPad. Novell récidive avec Androïd : MonoDroid.
De l’autre côté
Certains essaient de nous convaincre que maintenant il est préférable d’utiliser un serveur d’application “full fledge” comme JBoss ou GlassFish plutôt qu’un serveur Tomcat “tuné”. Il est vrai que le temps des containers EJB2 où les applications J2EE prenaient du temps à se déployer (en plus du développement pas facile) est bien loin. JBoss et GlassFish font partis de ces produits qui ont fait table rase du passé afin de proposer un container qui offre les mêmes services mais de façon plus “agile”. DZone fait un très bon résumé du nouveau stack de référence Java EE6 dont le package “web”.
Un projet
Il n’est pas facile de tester les interfaces utilisateurs. TDD a bien révolutionné la façon de coder (et de tester) notre code de composant (quel est son contrat externe, qu’est-ce que j’attends en entrée, quelle sont les cas passants, non passants etc.) mais s’attaquer à la couche de présentation avec les outils de tests unitaires n’est pas le plus approprié d’après Steve Sanderson. Dans ce billet il présente SpecFlow un framework de BDD pour .NET avec une application ASP.NET MVC.
L’intégration dans Visual Studio via le plugin (2008 et 2010) semble bien faite. Les fichier .features contiennent les spécifications de test :
Si on prend pour exemple le test “browsing” avec un breakpoint:
SpecFlow génère une dll de test NUnit que vous pouvez utiliser pour générer les squelettes de vos “steps” de votre test en C# :
Ici compléter avec le framework WatiN pour simuler le navigateur :
On peut alors rejouer les test dans NUnit ou avec votre plugin VS préféré (en mode administrateur) :
Billet publié dans les rubriques Programmation le