Office 2013 : point de vue d'un développeur

Tags: Office

Hier, Microsoft a révélé la nouvelle version d'un de ses produits phare (avec Windows), Office 2013. Il s'agit encore d'une beta, ou plus exactement d'une preview (faudra qu'on m'explique un jour la différence ;-)).

Donc depuis hier, vous pouvez télécharger Office 2013 avec Work, Excel, Powerpoint, etc. sur le site suivant : http://www.microsoft.com/office/preview/en

(inutile de passer du temps sur la video d'accueil, ce n'est que du marketing qui ne montre rien).

Parmi les grandes nouveautés, on notera l'intégration de Skydrive dans Office : vous ne sauvegardez plus sur votre disque dur mais dans Skydrive ce qui vous permet d'avoir accès à vos documents de n'importe ou (enfin les designer avec des powerpoint de plusieurs mega, je leur souhaite bien du courage).

Je ne parlerai pas des nouveautés d'Office, car franchement, je n'y connais rien en bureautique et ce n'est pas ma passion. Je noterais juste au passage l'intégration d'un menu "à la maya" (logiciel d'image de synthèse des années 90 racheté par Autodesk depuis) dans OneNote (pour WinRT) :

(Ca à pas l'air évident comme ca, mais je vous assure à l'usage que c'est la même inspiration ;-)).

Mais le plus important pour nous développeur, ce n'est pas tout cela mais le nouveau modèle de développement proposé (imposé ?) par Microsoft.

Macros & modèle COM toujours présents

Que les afficionados de VBA se rassurent : les macros Visual Basic sont toujours présentes avec l'éditeur de macro qui n'a pas bougé d'un iota. On retrouve la même interface, les mêmes boutons (pas de ribbon), les même menu (en camel case, pas en upper case), etc.

Bref, ils n'y ont pas touchés. Certains diront : on ne change pas une équipe qui gagne. OK, why not.

Comme on a donc toujours ces objets COM exposés, je suppose que l'on a aussi les wrappers pour .NET qui vont bien et que l'on a des projets modèles dans Visual Studio qui permettent de créer des complètements d'Office en .NET avec C#ou Visual Basic .NET, avec un vrai langage moderne quoi.

NB : j'ai installé Office 2013 sur une tablette Samsung Slate avec Windows 8 Preview qui n'avait pas Visual Studio 2012 Preview d'installé, je n'ai donc pu vérifier ce point.

Et, comme de sous-entendu, j'en viens au nouveau modèle de programmation proposé (imposé) par Microsoft.

Office Apps, Apps for Office, as you want.

L'idée de Microsoft est de permettre à des éditeurs de développer des applications pour Office distribuables via le Windows Store (avec une "spécialisation", l'Office Store) et installables sur des Windows 8 WinRT (aka pour ARM). Il fallait donc pour cela que l'application puisse suivre le modèle de sécurité, de sandbox de WinRT.

La solution, et l'unique solution qui a été trouvée, est de permettre le développement d'applications en HTML5/javascript. Donc pour résumer, sur un langage inventé en 1995 et une techno encore en draft. L'avantage, c'est que vous allez pouvoir intégrer des projets/framework Open Source comme jQuery dans vos applis Office. L'inconvénient c'est que, comme html5 est toujours en draft, Microsoft ajoute ses propres spécificités qui font que ce n'est pas aussi universel que cela en à l'air. De plus, quand on voit la guerre les différences d'interprétations entre IE, Chrome, Firefox & co sur du Html5, ce n'est pas prêt de se stabiliser tout cela. Enfin bon, c'est un couple, Html5/javascrip qui à l'avantage d'être connu de tous.

Vous pouvez développer 3 types d'applications :

  • Task pane app : vous développez le contenu d'une fenêtre qui apparait ancrée sur la droite de l'application Office (peut apparaitre dans les différentes applis Office). Par exemple un panneau qui permet de faire une recherche sur Wipikedia et d'afficher l'article dans ce panneau (vous faites un copier-coller dans votre devoir de vacances d'Histoire-géo après ;-))
  • Content app : accès sépcifique à un type de document Office (Workbook & co). Le plus proche des applis COM, permettent de manipuler l'arborescence objet de Word/Excel avec une nouvelle représentation de celle ci.
  • Mail app : type spéciale d'appli permettant d'envoyer des emails (spécifique Outlook 2013).

Toute application, pardon App, pour Office est composée d'un manifeste (document xml) et de son "code" en javascript. Oui, c'est du javascript, et pas autre chose (j'insiste car quand vous allez sur la page des exemples, vous avez des exemples dits en C#/VB .NET qui ne contiennent pas une ligne de .NET  ;-)).

Comme l'appli ne repose que sur ces technologies, la bonne nouvelle c'est que vous pouvez les développer avec un "vieux" Visual Studio 2012.

Un pari sur l'avenir

Je pense qu'il est clair que Microsoft essaye d'inventer un nouveau marché. Comme Office sera "offert" avec WinRT, la solution qu'ils ont trouvés pour se rémunerer est de permettre la diffusion d'appli dans le Windows Store (et donc de prendre 30% de com au passage). C'est ingénieux.

La bonne nouvelle c'est qu'Office deviendra de moins en moins cher si cet echo-système se développe.

La moins bonne nouvelle, c'est que le développement .NET semble abandonné. Maintenant, je n'y mettrais pas ma main au feu et peut-être qu'une bonne nouvelle sera annoncée prochainement (à moins que je n'ai pas tout compris...).

Le point d'entrée pour le développement d'Office Apps (ou Apps for Office).

blog comments powered by Disqus