Si vous souhaitez que votre application JavaScript ait accès aux fonctionnalités du système d’exploitation Microsoft, c’est désormais plus simple que jamais. Redmond offre aux développeurs JavaScript et TypeScript un accès de premier ordre à certains composants internes de Windows pour leur faciliter la vie, via de nouvelles « projections dynamiques », comme Microsoft appelle ces nouvelles liaisons de langage.
Les applications JavaScript s’infiltrent sur le bureau Windows depuis des années. Conçu à l’origine pour le Web, JavaScript – et son sur-ensemble TypeScript plus formel – ont également été utilisés pour créer des applications de bureau.
La projection de l’API Windows Runtime (WinRT) pour Node.js, désormais disponible en préversion publique, ne donne pas aux développeurs l’accès aux pouvoirs Windows jusqu’ici interdits ; cela leur permet simplement de se connecter beaucoup plus facilement à ces capacités.
AD ENREGISTREMENT
AD ENREGISTREMENT
Grâce à un environnement de développement Node.js ou Electron, les développeurs JavaScript peuvent écrire des hooks aux API Windows Runtime orientées données, telles que l’IA sur l’appareil, le stockage, les notifications, la mise en réseau et d’autres fonctionnalités du système.
Liaisons au moment de la construction
Auparavant, selon Microsoft, l’ajout de fonctionnalités Windows aux applications JavaScript/TypeScript nécessitait l’écriture de modules complémentaires natifs, nécessitant un pont C++ ou C#, des traductions manuelles et du code wrapper pour chaque API. Ceux qui ne connaissent pas déjà le C++ ou ne disposent pas d’une chaîne d’outils en place ont évidemment été désavantagés.
Désormais, un seul package d’exécution Node, dynwinrt, peut générer les wrappers JavaScript et les déclarations TypeScript nécessaires pour les fonctionnalités Windows souhaitées par une application. Vous aurez également besoin d’un package distinct (winappCli) contenant une configuration, une configuration et des exemples d’interface de ligne de commande (CLI).
Windows Runtime (WinRT) propose déjà des aménagements similaires pour que d’autres langages puissent appeler ses API, notamment C++, C#, Rust et Python, à l’aide de projections de langage natif (générées au moment de la compilation pour C++ et Rust). Dans ce cas, la fonctionnalité de génération de code winappCli crée des wrappers JavaScript et des déclarations TypeScript pour chaque appel d’API au moment de la construction.
Métadonnées pour la victoire
La configuration s’appuie sur les métadonnées Windows (winmd), introduites dans Windows 8, pour fournir une liste dynamique des API Windows et de leurs capacités. Si les métadonnées de l’API changent, le codegen met à jour le wrapper ou la déclaration – aucune réécriture manuelle n’est requise.
Quelles fonctionnalités les développeurs JS/TS peuvent-ils exploiter ? La quasi-totalité de Windows, à l’exception des éléments de l’interface utilisateur, sera à leur disposition. Une application peut envoyer des notifications qui apparaissent sur l’écran de l’utilisateur. Il peut également permettre à l’utilisateur de sélectionner des fichiers ou des dossiers sur le disque dur. Tout ce qui est capturé dans winmd est un jeu équitable, y compris les API pour les appels système et appareils couvrant la mise en réseau, les capteurs, la mondialisation et la sécurité.
AD ENREGISTREMENT
Seules les fonctionnalités de l’interface utilisateur ont été retirées du buffet de fonctionnalités proposées avant les codeurs JavaScript (probablement parce qu’Electron gère déjà l’interface utilisateur de manière autonome).
Tous à bord pour l’IA
Les appels d’API que les développeurs JavaScript/TypeScript peuvent désormais effectuer pour intégrer l’IA sont sans aucun doute particulièrement intéressants pour les hauts dirigeants de Microsoft.
Les dirigeants, depuis le PDG Satya Nadella jusqu’aux autres, ont souligné l’importance de l’IA locale, ou de l’IA qui n’a pas besoin de faire appel à l’un des laboratoires d’IA frontaliers de plus en plus coûteux.
Les développeurs peuvent exploiter toutes sortes de fonctionnalités d’IA dans Windows. Leurs applications peuvent générer, résumer et réécrire du texte. Ils peuvent convertir du texte en tableaux. Ils peuvent redimensionner les images, fournir des descriptions, reconnaître les objets dans les images et les supprimer, si demandé. La société a fourni toute une galerie d’exemples sur la manière d’effectuer ces tâches au sein d’Electron.
Bien sûr, il faut considérer la question de la dépendance vis-à-vis du fournisseur. Est-ce un autre exemple de l’ancienne stratégie d’adoption, d’extension et d’extinction de Microsoft pour attirer les développeurs sur la plate-forme propriétaire Windows avec les sirènes d’une large base d’utilisateurs ?
Douteux. Il convient de noter que de nombreux développeurs JavaScript qui créent des applications de bureau les créent en tant qu’applications multiplateformes. S’ils créaient des applications Windows uniquement, ils utiliseraient probablement simplement C# à la place. Linux et Apple proposent également leurs propres liaisons de système d’exploitation pour différentes langues. Il s’agit donc ici plutôt d’un rattrapage de la part de Microsoft. Les temps ont changé. ®
