BT

Nouveau Early adopter ou innovator ? InfoQ a travaillé sur de nouvelles fonctionnalités pour vous. En savoir plus

Blazor apporte de nouveau .NET au navigateur

| par Jonathan Allen Suivre 7 Abonnés , traduit par Slim Ouertani  Abonnés le 18 juil. 2017. Durée de lecture estimée: 1 minute |

L’expérience Blazor de Steve Sanderson essaye de ramener .NET dans le navigateur en utilisant WebAssembly. Il ne s'agit pas d'un framework complet pour la production comme Flash ou Silverlight, mais plutôt d'un essai pour voir ce qui est possible.

WebAssembly se décrit comme une norme pour "un environnement d'exécution sécurisé en mémoire, qui peut même être implémenté dans des machines virtuelles JavaScript existantes". Bien qu'il fonctionnera mieux avec les navigateurs qui le supportent de manière native, WebAssembly peut être interprété par les navigateurs les plus anciens en utilisant un convertisseur avec asm.js.

Actuellement WebAssembly est conçu principalement pour prendre en charge les applications C et C ++. Il sert de backend de compilation pour clang/LLVM. Pour passer de C à C#, Blazor a utilisé un autre projet de recherche DotNetAnywhere de Chris Bacon. DotNetAnywhere était un interpréteur basé sur C pour la Common Intermediate Language de .NET (aka IL, CIL, MSIL). Le projet DotNetAnywhere a pris fin il y a environ six ans.

Blazor effectue les modifications suivantes sur DotNetAnywhere :

  • Pour supporter la construction avec Emscripten.
  • Pour prendre en charge les appels p/invoke de .NET vers JavaScript.
  • Pour ajouter d'autres primitives d'interopérabilité, par exemple, GCHandle.
  • Pour recevoir les appels entrants de JavaScript vers .NET.
  • Pour corriger certains bogues.
  • Pour prendre en charge le chargement des assemblages .NET Core-style.

Les applications Blazor sont construites à l'aide de modèles Razor qui sont exécutés dans le navigateur plutôt que sur le serveur. Selon la documentation, une simple application "hello world" nécessite le téléchargement de 300 Ko. Ceci comprend "tout : le léger runtime de .NET, les bibliothèques de base, le code de l’application et les bibliothèques wrapper nécessaires pour démarrer et interroger avec le code WebAssembly".

Aucun effort n'a été fait pour éliminer le code qui n'est pas réellement appelé, il est donc possible de réduire cette taille davantage.

Pour voir cela en action, regardez la vidéo de la Conférence NDC intitulée : Les Web Apps ne peuvent pas vraiment faire "ça", n'est-ce pas ? de Steve Sanderson.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT