Au cours des dernières années, Microsoft déclare avoir travaillé dur sur TypeSec, un langage moderne de définition des API. Ce langage est conçu pour répondre aux besoins évolutifs des développeurs, architectes et gestionnaires d'API dans un environnement où la fourniture d'API de haute qualité et d'expériences connexes devient de plus en plus complexe et critique.
TypeSpec est plus qu'un nouveau langage, c'est une plateforme qui permet l'abstraction, encourage la réutilisation du code et exploite des outils modernes pour un développement rapide. Pour répondre à ces besoins, il faut un mélange de technologie innovante et de nouveaux processus qui font de l'API la vérité fondamentale sur laquelle on construit des abstractions sophistiquées.
TypeSpec décrit les API en utilisant n'importe quel protocole ou format de sérialisation avec une syntaxe concise et familière et un excellent outil d'édition pour Visual Studio et VS Code. Il peut encapsuler des types de données communs, des modèles d'API et des directives d'API dans des composants réutilisables de haut niveau qui peuvent être partagés par des équipes ou des écosystèmes. Il peut compiler en conformité avec les normes OpenAPI, JSON Schema ou Protobuf (ou même les trois en même temps).
Microsoft pense que cette nouvelle technologie offrira aux développeurs de nouveaux moyens de créer des API et des applications autour d'elles de manière plus productive et de meilleure qualité que par le passé.
Caractéristiques principales
Interopérabilité
TypeSpec n'est pas simplement un autre langage de description d'API ; il s'agit d'un langage de définition de haut niveau capable de définir votre API et de produire ensuite de nombreux protocoles, clients, serveurs, documentations et autres, même simultanément. Il s'agit donc d'un outil polyvalent qui peut s'adapter à une grande variété de scénarios de développement. En outre, TypeSpec s'engage à être interopérable avec les langages de définition d'API standard de l'industrie, comblant ainsi le fossé entre les différents choix.
Productivité
TypeSpec offre une expérience supérieure aux développeurs, rendant le processus de définition des données et des API à la fois agréable et productif. Le langage est concis et permet de définir des données complexes et des formes d'API avec un minimum de typage. Ses outils font du développement et de la maintenance un jeu d'enfant, en mettant en évidence les erreurs et les violations des directives au moment du développement, bien avant qu'un processus de révision humain n'intervienne.
Modèles d'API
TypeSpec améliore la qualité des API en encapsulant les types de données, les modèles d'API et les directives d'API communs dans des composants réutilisables de haut niveau qui peuvent être partagés entre les équipes ou les écosystèmes. Cet alignement des composants sur les concepts spécifiques au domaine et à l'entreprise garantit que les spécifications sont rédigées dans un langage compréhensible par tous, plutôt que dans les détails d'un protocole de bas niveau.
Familiarité
Inspiré par TypeScript et C#, TypeSpec est facile à apprendre et semble familier à de nombreux développeurs, ce qui réduit la courbe d'apprentissage.
Extensibilité
TypeSpec peut être étendu avec des vocabulaires de décorateurs et des modèles de types personnalisés, ce qui vous permet de modéliser des API dans votre domaine de logique commerciale ou applicative. Son extensibilité lui permet de décrire de nombreux protocoles différents, des formats de sérialisation ou des métadonnées spécifiques à un domaine, servant de source de vérité pour tout ce qui concerne les API.
Écosystème
TypeSpec permet d'empaqueter des types communs, des extensions de langage, des linters et des émetteurs dans des paquets, qui peuvent être distribués sur NPM au sein de votre organisation ou dans l'ensemble de l'écosystème.
Communauté et collaboration
Utilisé chez Microsoft
Chez Microsoft, ils déclarent croire en la valeur de l'utilisation de leurs propres produits, une pratique souvent appelée "dogfooding". Cette approche leur permet de tester et de comprendre les produits de première main. De nombreux services Azure de Microsoft ont déjà adopté TypeSpec, et leur nombre augmente chaque jour. Cette utilisation interne de TypeSpec démontre non seulement son efficacité, mais fournit également un retour d'information à Microsoft valorisé pour une amélioration continue. En utilisant TypeSpec dans ses propres processus de développement, Microsoft peut garantir sa fiabilité et son efficacité pour le développement d'API. En exploitant la puissance de TypeSpec, l'équipe Microsoft Graph déclare avoir révolutionné le développement d'API au sein de Microsoft. Cette collaboration a permis d'améliorer la productivité et de simplifier la personnalisation, soulignant ainsi le potentiel de TypeSpec.
Au sein de l'équipe Microsoft Graph, nous avons été ravis de nous associer à nos collègues qui développent TypeSpec afin de créer un environnement productif et innovant pour les ingénieurs qui créent toutes les API riches et variées accessibles via Microsoft Graph. TypeSpec nous a fourni une plateforme extraordinaire pour créer des descriptions d'API laconiques et expressives, et la personnalisation du langage pour l'adapter au domaine de Microsoft Graph a été facile et amusante.
TypeSpec est plus qu'un simple langage, c'est une communauté. Nous croyons au pouvoir de la collaboration, et c'est pourquoi TypeSpec est open source. Nous invitons les développeurs de tous horizons à rejoindre la version bêta publique et à découvrir directement la puissance de TypeSpec. Vos commentaires sont précieux pour façonner l'avenir de TypeSpec, et nous vous encourageons à partager vos idées, suggestions et rapports de bogues sur nos forums communautaires.
Conclusion
TypeSpec est un outil puissant qui peut révolutionner la façon dont vous abordez le développement des API. En facilitant une approche "API First", il vous permet de définir vos API dès le départ, ce qui conduit à un développement plus efficace et à des produits finaux de meilleure qualité. Sa prise en charge d'une variété de protocoles, combinée à son extensibilité et à son écosystème robuste, en fait un outil polyvalent qui peut s'adapter à un large éventail de scénarios de développement.
Microsoft encourage les développeurs à essayer TypeSpec et à découvrir ses avantages. Que vous développiez une spécification OpenAPI, une interface JSON RPC ou que vous cherchiez simplement à améliorer la validation des données et la cohérence des types, selon Microsoft, TypeSpec possède les capacités nécessaires pour répondre à vos besoins.
Source : Microsoft
Et vous ?
Quel est votre avis sur le sujet ?
Voir aussi :
Microsoft annonce Graph Python SDK, conçu pour simplifier la création d'applications de haute qualité, efficaces et résilientes qui accèdent à Microsoft Graph
Les attaques contre les API mettent les entreprises en danger, 27 % des attaques en 2023 ciblant la logique commerciale des API, soit une croissance de 10 %, selon le rapport d'Imperva
68 % des développeurs prévoient d'augmenter leur utilisation des API en 2022, afin d'être plus productifs et de créer plus rapidement des logiciels innovants, selon RapidAPI