Microsoft ne pourra satisfaire une demande de longue date des développeurs visant à implémenter le portage de Visual Studio Tools pour Office (VSTO) vers .NET Core. L'entreprise avait dès le départ offert un accueil chaleureux à cette suggestion, mais après analyse de la faisabilité technique, Microsoft a clôturé le dossier sans donner une suite favorable. Mais pourquoi cette fonctionnalité est-elle importante pour les développeurs ? Et pourquoi Microsoft ne pourra-t-il pas l'implémenter ?
En octobre 2019, un développeur a exprimé la nécessité de porter Visual Studio Tools pour Office (VSTO) vers .NET Core. Auteur de compléments Excel VSTO écrits en C#, il a suggéré que cette fonctionnalité soit prise en charge, de même que WinForms a été porté sur .NET.Core. « Veuillez également porter VSTO en C# vers .NET 5, pour permettre le développement de modules complémentaires en C# dans le nouveau .Net », a-t-il plaidé.
Pour information, Microsoft offre différentes possibilités aux développeurs de créer des compléments pour étendre les fonctionnalités des applications Office et les automatiser. L'une d'entre elles consiste à utiliser le langage VBA. Même si cette méthode est désormais considérée comme dépassée, elle est toujours prise en charge en raison de sa large utilisation dans les entreprises.
En 2003, Microsoft a introduit Visual Studio Tools pour Office (VSTO) comme un nouveau moyen d'étendre les applications Office. VSTO permet d'utiliser .NET pour coder des solutions basées sur Office. Il est basé sur COM (Component Object Model), le modèle objet de composants Windows, et a accès à toutes les API exposées par Office. Cependant, VSTO ne prend en charge que Windows.
Une décennie plus tard, Microsoft lance une nouvelle façon d'étendre Office à l'aide d'une API JavaScript. Cette option est connue sous le nom d'Office Web Add-ins ou tout simplement Office Add-ins. Les compléments Office sont hébergés sur des serveurs Web et utilisent les API JavaScript Office. Si cette option est limitée par rapport à VSTO, elle a néanmoins des avantages.
Les compléments Office vous permettent d’utiliser des technologies web que vous connaissez, telles que le code HTML, CSS et JavaScript, pour étendre Word, Excel, PowerPoint, OneNote, Project et Outlook, et interagir avec ces programmes. Votre solution peut être exécutée dans Office sur plusieurs plateformes, notamment Windows, Mac et iPad, ainsi que dans un navigateur.
Les deux approches sont toutefois incompatibles, étant donné qu'il n'est possible de migrer les compléments COM/VSTO qu'en les convertissant en JavaScript. Cela a donc freiné la migration des compléments existants vers la technologie JavaScript.
Avec l'avènement de .NET Core 3.0 à la fin de 2019, Microsoft a commencé à prendre en charge des technologies uniquement Windows telle que Windows Forms et Windows Presentation Foundation avec sa version multiplateforme de .NET, ce qui a amené les développeurs VSTO à espérer que .NET dans Office serait également mis à jour, car beaucoup n'avaient pas fait la transition vers l'API JavaScript. Dans l'ensemble, ceux qui disent en avoir vraiment besoin évoquent le fait que les compléments JS ne fonctionnent pas pour leurs cas d'utilisation, et ils ont déjà une grande base de code existante dans les bibliothèques .NET Standard.
Microsoft s'est d'abord montré réactif en prenant très vite en charge le problème, avant de le clôturer ces derniers jours. La firme explique en effet qu'on ne peut pas créer de compléments COM/VSTO avec .NET Core / .NET 5+ « parce que .NET Core/.NET 5+ ne peuvent pas fonctionner avec .NET Framework dans le même processus et cela peut entraîner des échecs de chargement du complément ». Microsoft ne mettra donc pas à jour la plateforme VSTO/COM pour utiliser .NET Core ou .NET 5+. L'entreprise a assuré aux développeurs que « la plateforme de compléments VSTO/COM est très importante » pour elle et a promis de continuer à la prendre en charge avec .NET Framework 4.8. En effet, pour ceux qui gèrent des solutions .NET Framework, il n'est pas nécessaire de les déplacer vers .NET Core et .NET 5+. Mais pour ce qui est de l'avenir, la firme de Redmond recommande d'utiliser « les API JavaScript multiplateformes. »
Cette recommandation n'a pas été bien accueillie par les développeurs qui insistent sur le fait que l'option JavaScript n'offre pas des fonctionnalités dont ils ont besoin et que les performances sont inférieures aux normes. En plus, devoir intégrer une application Web (nécessaire avec l'option JavaScript) est un fardeau.
Dans ce cas, pourquoi ne pas se contenter de .NET Framework 4.8 (la dernière version) ? La réponse est simple : les développeurs estiment que les performances ont pris du retard avec .NET Framework 4.8. En outre, ils veulent de nouvelles fonctionnalités comme la prise en charge native des plateformes ARM, et ils craignent que la compatibilité avec d'autres bibliothèques .NET soit un problème à l'avenir. Certains suggèrent donc que Microsoft ouvre le code de VSTO afin que les utilisateurs puissent le migrer vers une version .Net Core moderne.
Source : Demande de la fonctionnalité, Réponse de Microsoft
Et vous ?
Qu'en pensez-vous ?
Quelles solutions utilisez-vous pour étendre les applications Office ? Pourquoi ?
Microsoft ne pourra pas porter Visual Studio Tools pour Office vers .NET Core,
L'entreprise avait bien accueilli cette demande des développeurs, mais la faisabilité technique est remise en cause
Microsoft ne pourra pas porter Visual Studio Tools pour Office vers .NET Core,
L'entreprise avait bien accueilli cette demande des développeurs, mais la faisabilité technique est remise en cause
Le , par Michael Guilloux
Une erreur dans cette actualité ? Signalez-nous-la !