XXP

mai 2016

lun. mar. mer. jeu. ven. sam. dim.
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

« Silverlight 1.0 sans développement JavaScript | Accueil | Silverlight 1.0 sans développement JavaScript »

21 octobre 2007

Silverlight 1.0 sans développement JavaScript

Silverlight 1.0 est un défi à la productivité. Il existe pourtant un moyen de développer des applications Silverlight 1.0 en profitant du confort de Visual Studio.

Silverlight 1.0 est un amuse-gueule comparé à ce que sera Silverlight. La fonction et qualité principale de cette version est la compatibilité cross-plateforme. Pour le plat de résistance, il faut attendre les prochaines versions, la 1.1 étant déjà disponible en alpha.

Ceux qui sont séduit, c'est mon cas, par la puissance et l'élégance de WPF (Windows Presentation Foundation) tombent de haut quand ils s'attellent à un projet Silverlight 1.0. 90% de ce qui fait l'élégance de WPF est absent de Silverlight 1.0 : pas de styles, de templates, de layouts, de databinding, de 3D, ni même de TextBox… Pour ne rien arranger la programmation repose sur JavaScript, qui fait partie, rappelons-le, des langages les plus énervants comme le démontre une longue et consciencieuse étude.

Architecture Silverlight 1.0 et Silverlight 1.1
En blanc, le présent, en jaune, le proche avenir (source msdn).

On a donc de bonnes raisons d'être déçu, mais on aurait tort s'arrêter là. Silverlight 1.0 est avant tout un proof-of-concept qui atteint ses objectifs : download super-light, compatibilité cross-plateforme, animation saisissantes et multimedia fluide. La suite est prometteuse puisque la version 1.1 embarquera une CLR compacte qui permettra le développement en C# et autres langages .Net, des API de networking (REST, Web Services), les contrôles WPF (dont les panels) et Linq. Tous les outils seront donc disponibles pour développer des applications RIA (Rich Internet Applications), en concurrence directe avec Flex d'Adobe.

Certes, mais dans l'hypothèse improbable mais pas insensée où il vous faut de suite développer une application en Silverlight 1.0, comment atteindre une productivité acceptable sans investir lourdement dans le développement d'un framework qui deviendra obsolète dès la sortie de Silverlight 1.1 ?

La solution qui semble s'imposer est Script# de Nikhil Kothari. Script# est un compilateur de C# qui produit du JavaScript. Vous développez avec le confort et la productivité de Visual Studio (IntelliSense, typage fort, POO), et Script# génère pour vous le JavaScript qui tournera au sein du navigateur.

Initialement développé pour faciliter le développement Ajax, Script# intègre depuis le mois d'aout (version 0.4) le nécessaire pour créer des applications Silverlight. Pour la démo ci-dessous, je n'ai écrit aucune ligne en JavaScript.

Script# est l'environnement idéal pour développer en Silverlight sans perdre trop de temps à se battre avec les inconvénients d'un langage faiblement typé et interprété. Mieux, Simon Ferquel, qui a travaillé avec Mitsuru Furuta sur le site QuickSilver, a posté ce mois-ci sur CodePlex le framework "Silverlight Control Toolkit" sur lequel QuickSilver repose [MAJ : non, le site de QuickSilver a été entièrement développé en Javascript, désolé pour la fausse info. Simon a développé son Control Toolkit suite au dév QuickSilver]. Basé sur Script#, il inclut quelques contrôles de base qui manquent à Silverlight 1.0 : Button, Grid, Scroller, StackPanel.

Sources :
Script# :  http://projects.nikhilk.net/Projects/ScriptSharp.aspx
Silverlight Control Toolkit : http://www.codeplex.com/SLToolKit

Le post de Simon concernant Silverlight Control Toolkit : http://www.simonferquel.net/blog/archive/2007/10/09/silverlight-control-toolkit.aspx
Site de QuickSilver : http://premium.quiksilverlive.com/

TrackBack

URL TrackBack de cette note:
http://www.typepad.com/services/trackback/6a00d8341c871f53ef00e54f0f81b88834

Listed below are links to weblogs that reference Silverlight 1.0 sans développement JavaScript:

Commentaires

L'utilisation des commentaires est désactivée pour cette note.