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 🙂 )

9 thoughts on “Pourquoi je m’oriente vers Silverlight

  1. 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?

  2. 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.

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

  4. 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).

  5. 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é).

  6. 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.

  7. 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)

  8. 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.

    http://www.lemonde.fr/technologies/article/2009/02/16/apple-nokia-et-microsoft-intensifient-leurs-efforts-sur-l-internet-mobile_1155791_651865.html

    un article interessant.

  9. En voyant l’Ă©volution de Silverlight et surtout sa version 5, je dirais que cette article voyait loin que certains commentaires

Leave a Reply

Your email address will not be published. Required fields are marked *