TypeScript 5.0 : quelles sont ses nouveautés ?

Le 16 mars, Microsoft a ravi les programmeurs et les aficionados des technologies web en annonçant la sortie officielle de TypeScript 5.0.

Depuis la version bêta du langage de programmation open-source signée Microsoft, les dev web attendaient une version stable avec impatience.

Ainsi, cette nouvelle version vous offre une réduction du temps de construction des modules de 10 à 15 %. De plus, les packages sont 26 % moins volumineux que ceux de la version précédente.

Mais limiter cette nouvelle version à une simple optimisation serait une erreur. Deux nouvelles fonctionnalités ont su séduire les développeurs : l’implémentation des décorateurs et le typage des paramètres via “type const”.

Voyons-les en détail.

Les décorateurs

Cher Lecteur,

En tant que développeur web, vous est-il déjà arrivé de vouloir modifier le comportement d’une fonction d’une de vos bibliothèques ? Si oui, alors vous avez dû réécrire une partie de votre code-source.

Le style de programmation orienté objet et les interfaces facilitent réduisent considérablement le nombre de lignes de codes à retoucher. Mais soyons honnêtes : développer un code en modifiant constamment ces fonctions peut vite le rendre incompréhensible.

Et c’est là qu’entre en jeu la nouvelle fonctionnalité du langage informatique TypeScript : les décorateurs.

En utilisant une technique de programmation logicielle basée sur les décorateurs, vous ne toucherez absolument pas aux lignes de codes de votre fonction.

À la place, vous en créerez une nouvelle fonction qui va « décorer » la fonction que vous ciblez.

Regardez plutôt l’exemple officiel fourni par Microsoft.

Développer une application en entremêlant les instructions d’exécution et celles de débogage comme ci-dessus est rarement une bonne idée. En le faisant, vous rendez vos scripts et librairies difficiles à maintenir pour les autres développeurs web.

Pour éviter cela, vous pouvez utiliser les décorateurs.

 

Ne trouvez-vous pas que le décorateur loggedMethod améliore grandement la lisibilité et la syntaxe du code ?

Face à une bibliothèque constituée de plusieurs milliers de lignes de code, les décorateurs peuvent faire toute la différence.

Si les décorateurs vous intéressent, ce billet de blog dédié au développement d’application en langage python est fait pour vous. Les langages de programmation sont différents, mais le principe est identique.

Le typage de paramètre constant

Même si TypeScript s’appuie sur du code JavaScript, il fait partie des langages de programmation à typage statique. Exactement comme le langage Java et le Swift.

Ce n’est que lorsqu’il est passé à l’interprète de votre navigateur internet qu’il assigne un type général aux paramètres. On parle alors de compilation, ou transcompilation.

Mais parfois, vous aurez besoin que votre application web prenne un type de données spécifique en entrée. Comment en être certain ?

Et c’est là qu’entre en jeu l’autre fonctionnalité phare de cette nouvelle version : le modificateur “const”.

Pour programmer votre fonction à ne recevoir qu’un seul type de données, ajoutez ce modificateur à la déclaration de paramètre de type. Vous indiquez ainsi au compilateur que l’unique type accepté est celui que vous avez défini lors du codage.

En spécifiant les types attendus, vous vous épargnez plusieurs heures de débogage. Côté client, vous limiterez la frustration causée par une expérience-utilisateur en réduisant les bugs.

Les autres fonctionnalités de TypeScript 5.0

TypeScript apporte aussi d’autres surprises pour les développeurs web et les utilisateurs de frameworks basés sur ce dernier. Notamment :

  • une nouvelle balise JSDOC « @Satisfies », qui vous permet de détecter les incompatibilités de type afin d’utiliser plus précisément les valeurs dans votre code ;
  • la prise en charge des formes d’exports de module “ export * from « module” et “export * as ns from « module” ;
  • la possibilité de surcharger les fonctions avec le paramètre JSDOC @overload.

Si vous souhaitez en savoir plus, rendez-vous sur le billet de blog officiel de Microsoft consacré à TypeScript 5.0.

Microsoft prepare sa propre app store sur iOS

Bientôt un xbox store sur iOS : l’heureuse annonce de Microsoft

Mars 2024 restera définitivement à jamais gravé dans les mémoires des gamers adeptes des produits à la pomme croquée. La cause : Microsoft a annoncé son intention de rendre ses titres Xbox disponibles en cloud gaming sur iOS et iPadOS.

Pour Apple, cette nouvelle marque surtout un douloureux tournant. En effet, la firme va tout simplement perdre son (juteux) monopole sur les jeux mobiles sur iOS. Sachant qu’elle touche une commission de 30 % sur tout achat effectué sur son app store, cela va faire mal.

À ses yeux, cette commission est tout à fait justifiée : c’est son écosystème. Et pour y distribuer leurs jeux, les éditeurs de jeux vidéo doivent se plier à ses règles.

Par contre, les créateurs de jeux et les autorités législatives ne sont pas du tout d’accord avec ces règles. Ils ont plus tendance à parler d’abus de position dominante.

Naturellement, Apple nie vigoureusement ces accusations. Mais difficile de ne pas y songer tant cette expression revient fréquemment dans le procès Apple vs Epic Game.

En conséquence, l’Union Européenne a décidé de lutter contre les monopoles des géants Américains de la technologie via une nouvelle loi : la loi sur les marchés numériques, ou Digital Market Acts.

Et si cette loi donne des sueurs froides à Apple, un autre géant de la tech se frotte les mains : Microsoft.

La loi sur les marchés numériques : la bonne nouvelle pour Microsoft

Depuis longtemps, Microsoft vise le lucratif marché des joueurs iOS. Seulement, la récalcitrance d’Apple à voir l’explosion du cloud gaming freine les projets de Microsoft – et du défunt Google Stadia.

Après avoir purement interdit la pratique, Apple a assoupli ses règles. Désormais, les éditeurs peuvent proposer des jeux en ligne… à condition de proposer chaque jeu directement sur l’app store.

C’est cette règle qui fait hurler de rage Microsoft : impossible pour eux de proposer tous les titres de leur catalogue comme des applications natives iOS.

À la place, les joueurs iOS qui souhaitent savourer des titres Xbox doivent se rabattre sur une application s’exécutant dans le navigateur. Hélas, les performances et l’expérience de jeu ne sont pas optimales.

Pourquoi Apple s’oppose au cloud gaming sur iOS et iPadOS ?

iPad avec une manette de Xbox
iPad avec une manette de Xbox

Apple n’est pas opposé au développement du marché des jeux mobiles, mais plutôt au développement de marchés alternatifs.

Autrement dit, la firme de Cupertino ne souhaite pas que les joueurs puissent se passer de sa boutique d’applications.

Ici aussi, la raison évoquée est de maintenir les joueurs dans un environnement sécurisé. Mais difficile de ne pas remarquer qu’Apple craint surtout de voir les éditeurs de jeux s’affranchir de ses multiples taxes.

La loi sur les marchés numériques européenne, ou le pas forcé d’Apple vers l’ouverture

Pour revenir à la DMA, elle permettra à toute société qui le souhaite de créer sa propre plateforme de jeux.

Cela implique trois choses pour les éditeurs de jeux :

  • exit la commission de 30 % à verser à Apple sur chaque transaction ;
  • ils ne seront plus soumis à certaines règles d’utilisation d’Apple ;
  • ils pourront proposer une expérience immersive et des achats in game.

Et vous vous en doutez, Microsoft ne pouvait pas laisser une telle occasion pour (enfin) ouvrir son Xbox pass sur iOS. C’est ainsi que le patron de XBOX, Phil Spencer, a déclaré : « Nous voulons être en mesure de proposer l’expérience Xbox ainsi que nos contenus et ceux de nos partenaires tiers sur tous les écrans où quelqu’un voudrait jouer ».

Couplé à cette déclaration, il a aussi annoncé une date de lancement de la boutique d’application Microsoft sur iOS : 2024.

Avec le rachat d’Activision Blizzard – l’un des mastodontes du jeu vidéo, avec des licences sur des titres comme Warcraft ou Call of Duty – Microsoft semble en bonne voie pour séduire les joueurs.

Affaire à suivre donc.