Fermer

septembre 26, 2018

Au revoir JavaScript, Bonjour WebAssembly


Une nouvelle forme de développement Web commence à émerger et promet de fournir une alternative à JavaScript: WebAssembly.

Le développement Web a toujours été synonyme de développement JavaScript. C'est jusqu'à maintenant. Une nouvelle forme de développement web commence à émerger et promet de fournir une alternative à JavaScript. En tant que développeur de logiciels avec 15 ans d’expérience dans le développement de sites Web, cette nouvelle direction a suscité mon intérêt.

WebAssembly (Wasm) est un format d’instruction binaire destiné aux navigateurs Web. langages de niveau comme C #. Récemment, Microsoft a commencé à expérimenter WebAssembly pour apporter .NET au navigateur en utilisant le runtime Mono . Mono fournit la plomberie pour les bibliothèques .NET (.dll) à exécuter sur WebAssembly. En cours d'exécution sur Mono se trouve Blazor un framework d’application Web à une seule page, construit sur .NET, qui s'exécute dans le navigateur avec le moteur d’exécution WebAssembly de Mono. La pile WebAssembly-Mono-Blazor peut potentiellement permettre aux développeurs Web d'utiliser une plate-forme d'application .NET complète qui ne nécessite pas de plug-in JavaScript ou de navigateur.

 WA "title =" WA "/> </p>
</p>
<h2 id= Qu'est-ce que WebAssembly fournit à JavaScript ou TypeScript?

Ma réponse est entachée de beaucoup de biais et d'opinions, et je pense que tous les développeurs, projets, etc. pour moi, la réponse est claire et la réponse courte est «choix». L'ouverture du développement Web au-delà de JavaScript signifie le choix et la liberté de choisir non seulement JavaScript ou .NET, mais un éventail encore plus large d'options. Plus précisément et personnellement, j'ai le choix de développer une application Web en utilisant des outils et des langages que j'utilise déjà ailleurs.

npm et WebPack

L'un des avantages de l'ouverture du Web à .NET en particulier est que nous avons maintenant des alternatives à npm et WebPack. En tant que développeur .NET de longue date, je salue avec enthousiasme NuGet (gestionnaire de paquets) et MSBuild. Pour moi, ces technologies sont moins problématiques, plus familières et beaucoup plus productives. Bien que rien ne soit jamais parfait, ma relation avec NuGet et MSBuild a été plutôt positive.

 npm "title =" npm "/> </p>
<p> Au début, cela peut avoir l’impression que npm et Webpack sont en quelque sorte mauvais, et que Je préconise d'abandonner ces outils, mais le contraire est vrai: npm et WebPack sont d'excellents outils et ils seront probablement disponibles pendant un certain temps. Si vos outils JavaScript fonctionnent bien pour vous et les applications que vous créez, alors c'est un merveilleux Ayant une longue expérience du web, je comprends pourquoi npm et WebPack existent et apprécient ce qu’ils ont et ce qu’ils vont accomplir. </p>
<h3 id= Curved Learning Curved

Blazor combine la facilité de Razor (UI) avec d'autres concepts .NET Core tels que: la dépendance l'injection, la configuration et le routage comme emprunté les meilleurs modèles à partir de frameworks JavaScript populaires comme Angular et React tout en tirant parti des modèles Razor, et fourni la parité avec d’autres conventions .NET. Cette combinaison de fonctionnalités permet de réutiliser les compétences d'une manière qui n'était pas disponible auparavant. On pourrait dire la même chose pour les développeurs de nœuds qui utilisent un langage et des concepts familiers dans les applications JavaScript pleine pile.

Vous avez quand même besoin de JavaScript

WebAssembly doit actuellement être chargé et compilé par JavaScript. (Oui, je peux entendre le zéro des enregistrements.) Bien qu'il soit prévu de charger les modules WebAssembly comme les modules ES6, JavaScript est là pour démarrer WebAssembly. La nécessité de JavaScript ne s’arrête pas là non plus. WebAssembly n'a accès à aucune API de plate-forme.

Blazor Interop

Les applications WebAssembly peuvent appeler JavaScript, fournissant un chemin de migration pour les API hors de portée de WebAssembly. Cette fonctionnalité est également utilisée dans le framework Blazor. Parce que Blazor est nouveau et expérimental, l'interopérabilité Blazor permet aux développeurs de se rabattre sur JavaScript quand il y a des défauts de WebAssembly lui-même ou parce que le framework Blazor n'est pas encore mature. De plus, l'interopérabilité est une couche d'abstraction avec laquelle de nombreux développeurs travailleront en C #, et ils n'auront pas besoin de s'inquiéter de ce que la technologie sous-jacente exécute toujours du code JavaScript. Au fil du temps, le besoin d'abstractions diminuera à mesure que WebAssembly évoluera.

 blazor-block-diagram "title =" blazor-block-diagram "/> </p>
<h2 id= Goodbye is not Forever

Angular, React, Vue et jQuery . NativeScript est l'un des frameworks open source les plus intéressants du parapluie Progress. NativeScript est un framework pour créer des applications mobiles natives pour iOS et Android JavaScript me fait penser à WebAssembly dans la mesure où il crée des choix pour les développeurs.Avec NativeScript, les développeurs JavaScript peuvent réutiliser leurs compétences existantes pour pénétrer dans l’espace de développement mobile, les rendant ainsi plus utiles au travail. diminuer la valeur de Swift, Objective-C ou Java.

Je pense que WebAssembly partage un objectif similaire. En fait, cet objectif est indiqué dans la documentation officielle de WebAssembly . 19659022] WebAssembly tente-t-il de remplacer JavaScript?
Non! WebAssembly est conçu pour compléter et non pour remplacer JavaScript. Bien que WebAssembly permette, avec le temps, de compiler de nombreux langages sur le Web, JavaScript a une dynamique incroyable et restera le seul langage dynamique privilégié (comme décrit ci-dessus) du Web. En outre, JavaScript et WebAssembly devraient être utilisés ensemble dans un certain nombre de configurations…

Moving Forward

Si WebAssembly et les frameworks ASP.NET Core's Blazor vous intéressent valent la peine d'investir quelque fois in. Ce sont encore les débuts des technologies basées sur WebAssembly et WebAssembly, mais la promesse d'un écosystème grandissant a retenu mon attention. En tant que grand amateur de développement Web, je souhaite le voir progresser et développer des idées sur la manière dont les applications sont écrites pour la plate-forme. La perspective de s'appuyer sur des années d'expérience .NET pour créer des applications d'une manière qui me rend plus productif est pour le moins passionnant. De plus, j'ai acquis une solide base de compétences en JavaScript, que je continue de développer chaque jour. Avec cette variété de compétences viennent les perspectives et les moyens uniques de résoudre les problèmes en tant qu'ingénieur.

WebAssembly est-il quelque chose qui vous intéresse? Envisagez-vous de tester Blazor? Ou êtes-vous un développeur d'un arrière-plan comme Ruby ou Python qui souhaiterait utiliser WebAssembly dans votre pipeline? Partagez vos réflexions dans les commentaires ci-dessous.

Si vous souhaitez en savoir plus sur nos outils d'interface utilisateur pour .NET et JavaScript, n'oubliez pas de vous connecter à nos webinaires, où nous parlerons de tout dans notre tout nouveau logiciel. communiqués pour Telerik (le 10/2) et Kendo UI (demain, 27/09).


Les commentaires sont désactivés en mode de prévisualisation.




Source link