Maison >interface Web >js tutoriel >Présentation de notre SDK JavaScript de nouvelle génération
Par : Till Schneidereit
Aujourd'hui, nous sommes heureux d'annoncer la disponibilité de notre tout nouveau SDK JavaScript. Ce SDK est une réécriture complète de notre précédent SDK JavaScript, avec une compatibilité d'écosystème, une conformité aux normes, une robustesse et de nouvelles fonctionnalités clés considérablement améliorées.
Cette version nous met également sur la voie d'améliorations significatives des performances et d'améliorations continues de la compatibilité avec les applications JavaScript existantes.
Dans le même temps, nous conservons un degré élevé de compatibilité avec le SDK précédent, la mise à niveau devrait donc être simple pour la plupart des utilisateurs.
Plongeons plus en détail sur les nouveautés et les différences de cette version.
Là où le SDK précédent était construit sur le moteur JavaScript QuickJS et le runtime Javy, le nouveau SDK est construit sur le moteur SpiderMonkey du navigateur Firefox, le runtime StarlingMonkey de Bytecode Alliance et le générateur de liaisons ComponentizeJS WIT.
Ensemble, ces projets constituent une base fantastique pour notre SDK :
Comme décrit ci-dessus, la nouvelle implémentation de notre support JS pourrait difficilement être plus différente de l'ancienne. La bonne nouvelle est que, grâce au fait que JavaScript possède une spécification exceptionnellement robuste, nous pouvons faire tout cela sans risquer de casser subtilement le code existant. Bien que le nouveau SDK soit livré avec une API légèrement modifiée qui nécessite des modifications tout aussi légères lors de la mise à niveau de projets existants, le remplacement complet de la plate-forme sous-jacente n'a autrement aucun impact sur la compatibilité.
À partir de là, ils peuvent alors commencer à profiter des nouvelles fonctionnalités apportées par le nouveau SDK. Nous avons notamment modifié l'API pour faciliter l'intégration de corps HTTP en streaming sans avoir à réécrire complètement le code existant.
Nous avons implémenté la prise en charge (une version légèrement modifiée) des API existantes en plus des normes de spécification de l'API fetch et des Service Workers. Les développeurs peuvent choisir de travailler directement avec ces normes s'ils le souhaitent, ce qui leur confère une compatibilité considérablement améliorée avec l'écosystème Web et JS plus large.
Les standards aident également d'une manière complètement différente : puisque tout le support HTTP est désormais construit à l'aide de wasi-http, les applications créées avec le nouveau SDK qui n'utilisent pas les API spécifiques à Spin que nous prenons également en charge peuvent s'exécuter dans n'importe quel environnement prenant en charge wasi-http, tel que Wasmtime et Node.js (via JCO).
Avec cette version, nous nous sommes concentrés sur la modification de la plate-forme sous-jacente pour notre prise en charge JavaScript d'une manière compatible, tout en bénéficiant déjà de la prise en charge des normes Web modernes, de la composabilité avec d'autres composants WebAssembly et d'une base plus robuste et plus mature pour l'avenir. développement.
À l’avenir, nous constaterons des améliorations rapides des performances, de la compatibilité et de nouvelles fonctionnalités. En guise d'aperçu, certains des développements les plus passionnants en cours sont :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!