Pourquoi je m'oriente vers Silverlight

Depuis mes débuts en développement j'ai toujours fait du lourd. Entendez par là du client Lourd. A savoir du Winform principalement, de l'API Win 32 et  du Xna. J'ai commencé à aborder WPF il y'a deux ans. J'ai rapidement abandonné cette technologie estimant qu'elle n'avait pas un bel avenir devant elle. Je trouve qu'elle est extraordinaire et parfaitement bien conçue, mais elle ne répond pas au futur des besoins que demanderons les applicatifs dans les mois à venir.

Avant SIlverlight 2.0 bx, le plugin de Microsoft etait plus un jouet qu'un outil professionnel. Il montrait avec force ce qu'allait être Silverilght et ce que nous allions pouvoir en faire. Il manquait encore un grand nombre de fonctionnalités, les fonctionnalités existantes n'étaient pas pérennes et les outils de développements associés n'était pas forcement stables...

L'arrive des 2.0 bx change la donne. Il s'agit d'un version reconnue par Microsoft comme étant Go Live. Microsoft s'engage donc a fournir un support et donc à ce qu'une société puisse répondre à ses exigences métier et graphique via cette technologie. C'est le point important à avoir en tête. Bien entendu Silverlight est un sous ensemble de WPF. Je suis tout à fait conscient qu'un développement graphique avec WPF ne sera pas forcement plus rapide mais utilisera des technologies Built in que nous n'auront pas coté Silverlight. Le développeur aura ainsi à travailler coté code .net là où avec WPF il aurait opéré coté Xaml. Je ne pense pas que ce soit réellement handicapant.

Ce qui me pousse vers Silverlight c'est d'imaginer l'avenir proche. Les applications lourdes vont progressivement péricliter sans toutefois disparaitre. La plupart des utilisateurs seront connectés à Internet à souhait depuis leur téléphone portable (chez orange Internet illimité c'est 6 euros par mois, les principaux opérateurs lancent même des mini pc uniquement dédiés à Internet). Ce qui sera important sur un ordinateur ce n'est plus son système d'exploitation mais son browser. Sa capacité à profiter d'internet et surtout les plugins qu'il peut recevoir. Il fut un temps où Microsoft n'avait pas peur d'offrir des API non multi plateforme obligeant les applicatifs à ne tourner que sous un Windows xXx. Face à ce changement majeur de mentalité, des technologies comme l'API Win 32, WinForm, et même WPF prennent un gout amer. On entend toujours parler d'une bataille entre le monde Windows et le monde Unix. Mais pour la plupart des Internautes ce combat est complètement inintéressant et dépassés ; Ce qu’ils recherchent avant tout c'est comment lancer le navigateur pour accéder aux sites de communautés, pour accéder aux mails, aux sites de recherche, etc. Si bien que ces derniers temps, on parlait plus de la bataille entre Internet Explorer 8 et le dernier Mozilla. Les deux sociétés derrière ces navigateurs rivalisent d'ingéniosité pour offrir plus de services aux utilisateurs. C'est seulement le browser qui donnera une chance pour l'internaute lambda de rester sur un système d'exploitation. Windows a encore de beaux jours devant lui grâce à la politique Marketing de Microsoft et parce que, en entreprise, le parc d'applications lourdes tournant sous son système est important. Ajoutons à cela que les outils de développement qu'elle offre sont les plus efficaces. Mais cet aspect des choses n’aura aucun intérêt pour les milliards d'internautes à venir qui utiliseront le réseau des réseaux.

Utiliser Internet se fait depuis n'importe quel système d'exploitation, depuis n'importe quel mobile, depuis n'importe quelle borne d'accès de n'importe quelle galerie commerciale. Plus une société offrira un moyen d'exploiter Internet de manière intelligente plus son avenir est assuré. Les IPhones de Mac, le futur portable de Google. Microsoft toujours numéro en terme de système d'exploitation mobile avec Windows Mobile va rapidement placer Silverlight sur ce créneau là pour suivre le mouvement. Ce que Microsoft anticipe aussi c'est le besoin d’applications riches composées d'une couche vue et d'une couche controleur sans aucune spécification d'accès aux données. Il estime aussi un autre besoin important : internet en tant que plateforme de service et non plate forme réseau. Une infinité de services sur Internet auxquels les applicatifs riches vont le connecter pour remplir leur interface. Un tel système applicatif suivra toujours la même procédure : l'utilisateur télécharge l'application depuis le browser (pour Silverilght un Xap) de manière transparente. Le browser lance l'application, l'application s'initialise, charge son interface et se connecte à différents agrégats de services (ou mashups) pour remplir son contenu. L'interaction avec les services se fait via cette interface réglementée et offerte par le fournisseur. Google place son modèle économique là dessus. Nombre de ses services sont gratuits... mais limités. Chacun d'eux amène sur un autre service ...  limité. Le tout entrecoupé de publicités. L'accès à des services plus complet sera bien évidemment payant. Microsoft ne peut plus se baser uniquement sur son modèle économique à base de Windows et D'Office mais doit suivre ce modèle.

On ne doit pas limiter un applicatif et l'accès à des services à une configuration de machine on doit la rendre accessible sans limites (je n'inclus pas ici les aspects commerciaux dans le "sans limites"). WPF peut être très utile dans le cadre de besoins bien précis. Là ou le besoin de technologies que le browser et ses plugins ne peuvent pas offrir. Je pense à la 3D, je pense au mode offline (bien que le terme offline risque de devenir rapidement désuet avec Live Mesh) ou bien encore des outils de développement. Je verrais plus ce type d'applicatifs "ponctuels" en WPF qu'en Silverlight.

La conclusion de tout cela c'est que pour faire connaitre une application et pour toucher un maximum de personne ce n'est plus au développement Windows qu'il faut penser mais au développement RIAs. Dans ce domaine, Silverlight avec la technologie .Net les environnements de développement Microsoft et Windows Mobile a une réelle carte à jouer. Ajoutons qu’avec Live Mesh (plateforme de stockage en lien avec un support de synchronisation), SQL Server Data Service (base de données en ligne) et ADO.NET Data services, Microsoft avance à grand pas sur sa stratégie Software + Services (autre manière de parler du SaaS - Software As A Service).

  Il s’agit de faire du réseau un fournisseur de services et plus seulement un moyen physique de faire transiter des données. Tout cela contribue à orienter le système d'information vers une architecture de services où les clients riches tissent des liens sur le réseau vers des services de données hétéroclites, formatent les données puisées de manière à répondre au besoin spécifique du client : c’est ça l’informatique à la demande.

Aujourd'hui mes technologies de prediclections passent par Silverlight, le Framework Entity, ADO.NET Data Services et Xna (for ever :) )

Published Thu, Aug 21 2008 3:14 by valentin

Comments

# Google Chrome : Quand le navigateur devient OS.

Tuesday, September 02, 2008 7:16 AM by Graphic Stream

Encore une news qui va dans le sens de mon analyse sur l'utilité à court terme des

# re: Pourquoi je m'oriente vers Silverlight

Friday, February 13, 2009 4:33 PM by XMen

Je ne suis pas forcément d'accord....

Je pense que nous vivons un paradoxe dans le marché. Pourquoi tendrions-nous vers des clients légers alors qu'on a de plus en plus de puissance de calcul sur tout dispositif client?

# re: Pourquoi je m'oriente vers Silverlight

Friday, February 13, 2009 4:36 PM by ErgoMan

En tant qu'ergonome, WPF représentait enfin la technologie permettant de vraiment concevoir une expérience utilisateur intéressante.

Silverlight est très loin de pouvoir offrir ce type d'expériences.

Si Silverlight fini par ressembler à WPF (ou le remplacer) j'aurais tendance à dire que ce WPF l'avenir et non pas Silverlight.

N'oublions pas que le nom de code de Silverlight est WPF/e.

# re: Pourquoi je m'oriente vers Silverlight

Friday, February 13, 2009 4:37 PM by Neo

Si MS parie autant sur des clients basés sur Silverlight, pourquoi avoir redéveloppé tout Visual Studio 2010 en WPF?

# re: Pourquoi je m'oriente vers Silverlight

Saturday, February 14, 2009 5:04 PM by valentin

XMen -> en ayant plus de puissance de calcul et plus de possibilités, autant se porter sur le crossplateforme qui souffrait jusqu'à lors d'un manque de puissance et de technologies adaptées. Internet arrive sur de très nombreux device (téléphone, epc, pc, pc portable, etc.) Pourquoi devoir être cantonné au pc pour utilises ses applications et environements ? La puissance de nombreuses plateformes qui jusqu'ici etaient bien pâle n'a aujourd'hui plus forcement à rougir face aux pcs.

ErgoMan -> je ne suis pas d'accord. Silverlight permet d'offrir les mêmes expériences utilisateur que WPF. Silverlight offre toutefois moins de possibilités sur le Xaml et l'api .net que le WPF. Ces lacunes demandent alors un peu plus de travail. Mais une interface utilisateur avancée en WPF est réalisable en Silverlight (en dehors de la 3D). Je te met au défi de me trouver une interface qui ne l'est pas.

Neo -> c'est ce que j'appel les applicatifs "ponctuels", le terme n'est peut être pas le meilleur. VS est un outil de développement, il a donc une relation étroite avec le système sur lequel il est installé. C'est l'un des cas où une technologie comme Silverlight n'apporte aucune plus value (au contraire).

# re: Pourquoi je m'oriente vers Silverlight

Sunday, February 15, 2009 12:01 PM by XMen

En relisant ta réponse, j'ai l'impression que pour toi un client lourd ne se connecte pas à internet ou à toute autre plateforme de services. Je suis loin d'être d'accord avec ça et c'est même une grave erreur de croire ça.

Concernant les autres remarques, je suis d'accord avec ErgoMan. WPF permet en effet d'aller beaucoup plus loin que WPF et de manière plus optimisée.

Par exemple et autour de l'informatique nomade qui semble t'intéresser, l'un des plus gros soucis sont l'ergonomie et l'optimisation des flux. Silverlight génère beaucoup plus de flux que WPF. Puis côté optimisation, je peux te défier à implémenter une application utilisant ton port Bluetooth, ton GPS et ta WebCam visio conférence avec Silverlight.

Si en plus, tu rajoutes un rendu dynamique pour afficher des informations de manière érgonomique, je crois que de manière très objective, Silverlight ne sera pas au niveau de WPF (tout simplement parce qu'il n'est pas fait pour).

Il est évident qu'en WPF le coût sera nettement inférieur (sans parler des problématiques techniques, ni de la faisabilité).

# re: Pourquoi je m'oriente vers Silverlight

Sunday, February 15, 2009 12:43 PM by valentin

Alors je me suis mal exprimé, et je ne crois absolument pas ca.

Pour WPF en terme de possibilités graphiques or 3D on peut faire autant que Silverlight. Cela demande sans doute plus de travail et un code moins clair toutefois.

Plus de flux que Silverlight ? Explique moi car là je ne suis pas d'accord. Si on regarde clickonce ou le xbap on peut meme dire qu'il est plus leger.

Les comparaisons que je fait porte sur des applications réalisable avec les deux technologies, et comme je le dis dans mon post, je pense que WPF est incontournlable  quand on touche a des éléments comme Bluetooth, GPS, etc. c'est à dire proche du système. De même je précise qu'il y'a des éléments où il est obligatoire comme la 3D.

En ce qui concerne la 3D, Xna 4.0 et Silverlight 3.0 se rapporcheront et permettrons la 3D eux aussi.

Enfin Microsoft porte ses "forces" vers Silverlight et non plus vers WPF. Les nouveautés du Xaml ou de WPF en général sont d'abord portée sur Sivlerlight aujourd'hui (comme VSM ou Deep Zoom).

Pour finir, coté techno Microsoft, une application métier qui ne demande pas de 3D ou d'accès systèmes poussés (c'est à dire la majorité des applicatifs réalisable) sont aujourd'hui réalisé en ASPnet. On peut imaginer facilement qu'une partie d'entre elles seront portées en Silverlight (ce que je vis là ouù je travail en ce moment). Les rares qui sont encore en Winform seront portée en Silverlight et non en WPF.

# re: Pourquoi je m'oriente vers Silverlight

Monday, February 16, 2009 3:43 AM by ErgoMan

En effet, Microsoft concentre ses efforts vers Silverlight. Mais je pense qu'il le fait essentiellement pour rattrapper un retard stratégique de marché vis-à-vis de Flash/Flex.

Tu dis également qu'en 3D, WPF peut en faire autant que Silverlight. Tout à fait d'accord. Mais le contraire n'est pas du tout vrai.

Je rejoins par contre ce que tu dis sur le marché. Aujourd'hui, les applications de gestion restent simples d'un point de vue technologique. Et en ce sens, elles n'exploitent pas tout le potentiel de WPF.

Les motifs? Difficile à être explicite mais je pense que très variés (culture, marketing, budget, tco, effets de mode, etc)

# re: Pourquoi je m'oriente vers Silverlight

Monday, February 16, 2009 7:40 AM by valentin

J'ai fait une faute d'orthographe : je voulais dire "hors" et pas "or".

WPF est loin devant Silverlight pour la 3D, en Silverlight il faut réécrire un moteur complet pour émuler ce qu'on peut faire rapidement et efficacement avec WPF et la carte graphique (en reposant sur Dx).

Désolé ! :)

Silverlight 3.0 devrait changer tout ça.

www.lemonde.fr/.../apple-nokia-et-microsoft-intensifient-leurs-efforts-sur-l-internet-mobile_1155791_651865.html

un article interessant.

Leave a Comment

(required) 
(required) 
(optional)
(required) 
If you can't read this number refresh your screen
Enter the numbers above:  
Powered by Community Server (Commercial Edition), by Telligent Systems