Microsoft publie la première préversion publique de Blazor
Microsoft lance un nouveau projet expérimental baptisé Blazor
qui simplifie la création d'applications web monopages avec .NET
Microsoft travaille depuis plusieurs mois sur un nouveau projet dont le but est d'offrir aux programmeurs un framework web basé sur l'utilisation de C#, Razor et HTML s'exécutant directement au sein du navigateur. Navigateur (browser en anglais) + Razor = Blazor !
Les espérances sont fortes, puisque Blazor permettrait de développer des applications web monopages (single-page application) avec des performances très proches d'applications natives, grâce à l'usage de la technologie WebAssembly. Pour rappel, la technologie WebAssembly est supportée par tous les navigateurs récents. Si cette technologie n'est pas supportée (cas de navigateurs plus anciens), alors l'application tournera grâce à un environnement d'exécution .NET écrit pour asm.js, non sans un impact sur les performances.
Blazor inclut toutes les caractéristiques d'un framework web moderne :
- un modèle de composant pour construire des interfaces composables ;
- le routage ;
- la mise en page ;
- les formulaires ainsi que leur validation ;
- l'injection de dépendance ;
- l'interopérabilité avec le JavaScript ;
- le rechargement à chaud durant le développement ;
- le rendu côté serveur ;
- le débogage à la fois dans le navigateur et dans l'IDE ;
- le support d'IntelliSense et de différents outils ;
- le support de vieux navigateurs via asm.js ;
- la publication et la diminution de la taille des applications.
Il est possible d'avoir un aperçu de cette technologie en visionnant cette présentation où Steve Sanderson nous fait une petite démonstration :
Ce projet vient de s'ouvrir au grand public et est disponible sur GitHub. Attention toutefois, ce projet est encore au stade expérimental. L'objectif de cette ouverture est d'étendre l'expérimentation afin d'obtenir des retours et des suggestions de la part des utilisateurs, et non pour un usage en production. Si cette phase se révèle concluante, c'est-à-dire que les retours sont positifs et que tous les verrous techniques sont levés, il est fort probable que ce projet perdra son caractère expérimental pour permettre usage plus large.
Source : Blog Microsoft
Et vous ?
:fleche: Que pensez-vous de ce projet ?
:fleche: Quelle(s) technologie(s) utilisez-vous pour développer vos applications monopages ?
Microsoft publie la première préversion publique de Blazor
Microsoft publie la première préversion publique de Blazor
son framework web .NET expérimental qui s'exécute au sein du navigateur
Début février, Microsoft a annoncé un nouveau projet expérimental baptisé Blazor (contraction de Browser et Razor), dont le but est d'offrir aux programmeurs un framework web .NET basé sur C#, Razor et HTML et qui s'exécute directement au sein du navigateur via WebAssembly. D'après Microsoft, Blazor permet le développement Web full stack avec la stabilité et la productivité de .NET. Avec ce projet, Microsoft veut aussi simplifier considérablement la tâche de création d'applications web monopages (single-page application) performantes qui s'exécutent dans n'importe quel navigateur. Pour cela, le projet devrait donc offrir des fonctionnalités dignes d'un framework moderne, y compris :
- un modèle de composant pour construire des interfaces utilisateur composables ;
- le routage ;
- la mise en page ;
- les formulaires ainsi que leur validation ;
- l'injection de dépendances ;
- l'interopérabilité avec JavaScript ;
- le rechargement à chaud pendant le développement ;
- le rendu côté serveur ;
- le débogage .NET à la fois dans le navigateur et dans l'IDE ;
- le support d'IntelliSense et de différents outils ;
- le support de vieux navigateurs (non-WebAssembly) via asm.js ;
- la publication d'applications ainsi que la réduction de leur taille.
Aujourd'hui, Microsoft fait un pas vers l'avant en publiant la première préversion publique de Blazor : la version 0.1.0. Dans cette version, la firme dit avoir jeté les bases du modèle de composant de Blazor et ajouté d'autres fonctionnalités de base, telles que le routage, l'injection de dépendances et l'interopérabilité avec JavaScript. Microsoft a également travaillé sur l'expérience utilisateur et les outils afin que vous obteniez un excellent IntelliSense et des complétions dans l'éditeur Razor.
Les autres fonctionnalités qui ont été démontrées précédemment sous forme de prototypes, comme le rechargement à chaud, le débogage et le prérendu, n'ont pas encore été implémentées, mais sont prévues pour de futures mises à jour. Même ainsi, Microsoft estime qu'il y a beaucoup de choses dans cette version pour que les développeurs commencent à la tester pour faire des retours sur la direction actuelle.
Pour installer Blazor, vous devez d'abord installer le SDK .NET Core 2.1 Preview 1, puis la dernière préversion de Visual Studio 2017 (15.7) avec la charge de travail de développement Web. Après cela, il ne restera plus qu'à installer l'extension ASP.NET Core Blazor Language Services à partir de Visual Studio Marketplace.
Pour créer votre premier projet Blazor à partir de Visual Studio, sélectionnez Fichier -> Nouveau projet -> Web -> Application Web ASP.NET Core. Vous devez ensuite vous assurez que .NET Core et ASP.NET Core 2.0 soient sélectionnés dans les listes déroulantes en haut de la boite de dialogue qui s'affiche et choisir le modèle de projet Blazor.
Si vous n'utilisez pas Visual Studio, vous pouvez installer les modèles Blazor à partir de la ligne de commande :
Code:
1 2 3 4
| dotnet new -i Microsoft.AspNetCore.Blazor.Templates
dotnet new blazor -o BlazorApp1
cd BlazorApp1
dotnet run |
Dans son billet relatif à l'annonce de Blazor 0.1.0, Microsoft fournit des instructions pour commencer à créer des applications Web avec Blazor. Vous trouverez aussi sur GitHub plus de détails sur les fonctionnalités dans la première préversion du framework web .NET expérimental.
Sources : Blog Microsoft, GitHub
Et vous ?
:fleche: Qu'en pensez-vous ?
:fleche: Comptez-vous tester Blazor dès maintenant ? Si oui, n’oubliez pas de partager votre expérience
un chalenger pour angular
C'est une bonne chose, mais il faudra être très convainquant pour me bouger d'angular :D
Microsoft publie la deuxième préversion de Blazor
Microsoft publie la deuxième préversion de Blazor
son framework web .NET expérimental qui s'exécute au sein du navigateur
Près d'un mois après la sortie de Blazor 0.1.0, Microsoft annonce la deuxième préversion publique de son framework Web expérimental. Le projet a été dévoilé début février avec pour objectif d'offrir aux programmeurs un framework web .NET basé sur C#, Razor et HTML et qui s'exécute directement au sein du navigateur via WebAssembly. D'après Microsoft, Blazor devrait permettre le développement Web full stack avec la stabilité et la productivité de .NET, mais aussi simplifier la création d'applications web monopages (single-page application) performantes qui s'exécutent dans n'importe quel navigateur. Les fonctionnalités prévues comprennent :
- un modèle de composant pour construire des interfaces utilisateur composables ;
- le routage ;
- la mise en page ;
- les formulaires ainsi que leur validation ;
- l'injection de dépendances ;
- l'interopérabilité avec JavaScript ;
- le rechargement à chaud pendant le développement ;
- le rendu côté serveur ;
- le débogage .NET à la fois dans le navigateur et dans l'IDE ;
- le support d'IntelliSense et de différents outils ;
- le support de vieux navigateurs (non WebAssembly) via asm.js ;
- la publication d'applications ainsi que la réduction de leur taille.
La version 0.1.0 publiée le mois dernier a permis de jeter les fondements du framework et ajouter des fonctionnalités de base, notamment le routage, l'injection de dépendances et l'interopérabilité avec JavaScript. Dans cette nouvelle préversion, Microsoft poursuit son travail avec des améliorations et des fonctionnalités supplémentaires.
Cette préversion vous permet par exemple de construire vos propres bibliothèques de composants réutilisables. Dans un billet de blog, Microsoft décrit en six étapes la procédure pour le faire. On notera également une syntaxe améliorée pour la gestion des événements et la liaison de données.
Avec une fonctionnalité « Build on save » dans Visual Studio, Microsoft permet aussi le workflow de développement Web standard avec Blazor. Rappelons en effet que le workflow de développement typique de nombreux développeurs Web consiste à éditer le code, à l'enregistrer et à actualiser le navigateur. Ce flux de travail est rendu possible par la nature interprétée de JavaScript, HTML et CSS. Blazor est toutefois un peu différent, car il repose sur la compilation de code C# et Razor en assemblies .NET. Pour permettre le workflow de développement Web standard avec Blazor, Visual Studio va désormais surveiller les modifications de fichiers dans votre projet Blazor et va régénérer et redémarrer votre application alors que les éléments seront modifiés. Vous pouvez ensuite actualiser le navigateur pour voir les modifications sans avoir à régénérer manuellement l'application.
Parmi les fonctionnalités mises en avant dans cette préversion, on peut citer encore les attributs conditionnels ainsi que des améliorations de HttpClient. Vous trouverez dans les notes de version sur GitHub une liste complète des changements dans cette version.
Pour installer Blazor 0.2.0, vous devez d'abord installer le SDK .NET Core 2.1 Preview 2, puis la dernière préversion de Visual Studio 2017 (15.7) avec la charge de travail de développement Web. Après cela, il ne restera plus qu'à installer l'extension ASP.NET Core Blazor Language Services à partir de Visual Studio Marketplace. Microsoft fournit également des instructions à suivre pour passer de la version 0.1.0 à la version 0.2.0.
Rappelons aussi que pour créer votre premier projet Blazor à partir de Visual Studio, vous devez aller dans Fichier -> Nouveau projet -> Web -> Application Web ASP.NET Core. Vous devez ensuite vous assurez que .NET Core et ASP.NET Core 2.0 soient sélectionnés dans les listes déroulantes en haut de la boite de dialogue qui s'affiche et choisir le modèle de projet Blazor.
Sources : Blog Microsoft, GitHub
Et vous ?
:fleche: Qu'en pensez-vous ?
:fleche: L'avez-vous déjà testé ? Si oui, partagez votre expérience !
Voir aussi :
:fleche: Microsoft publie la première préversion publique de Blazor, son framework web .NET expérimental qui s'exécute au sein du navigateur
:fleche: Microsoft lance un nouveau projet expérimental baptisé Blazor, qui simplifie la création d'applications web monopages avec .NET
4 pièce(s) jointe(s)
Microsoft annonce la disponibilité de Blazor 0.5.1, son framework web .NET expérimental
Microsoft annonce la disponibilité de Blazor 0.5.1,
son framework web .NET expérimental qui s'exécute au sein du navigateur
Début février, Microsoft a annoncé un nouveau projet expérimental baptisé Blazor (contraction de Browser et Razor), dont le but est d'offrir aux développeurs un framework web .NET basé sur C#, Razor et HTML et qui s'exécute directement au sein du navigateur via WebAssembly. D'après Microsoft, Blazor permet le développement Web full stack avec la stabilité et la productivité de .NET. Avec ce projet, Microsoft veut aussi simplifier considérablement la tâche de création d'applications web monopages (single-page application) performantes qui s'exécutent dans n'importe quel navigateur. Pour cela, le projet devrait donc offrir des fonctionnalités dignes d'un framework moderne, y compris :
- un modèle de composant pour construire des interfaces utilisateur composables ;
- le routage ;
- la mise en page ;
- les formulaires ainsi que leur validation ;
- l'injection de dépendances ;
- l'interopérabilité avec JavaScript ;
- le rechargement à chaud pendant le développement ;
- le rendu côté serveur ;
- le débogage .NET à la fois dans le navigateur et dans l'IDE ;
- le support d'IntelliSense et de différents outils ;
- le support de vieux navigateurs (non-WebAssembly) via asm.js ;
- la publication d'applications ainsi que la réduction de leur taille.
Cette fois-ci, Microsoft a annoncé la disponibilité de Blazor 0.5.0 (puis Blazor 0.5.1 pour corriger les problèmes reportés par les utilisateurs).
Les nouvelles fonctionnalités de cette version sont :
- Blazor côté serveur
- Modèle de démarrage aligné avec ASP.NET Core
- Améliorations d'interopérabilité JavaScript
- Suppression de l'obligation de pré-enregistrer les méthodes JavaScript
- Invoquer la méthode d'instance .NET à partir de JavaScript
- Transférer les objets .NET en JavaScript par référence
- Ajouter Blazor à n'importe quel fichier HTML en utilisant un tag de script normal
- Rendre le HTML brut
- Nouvel extrait de paramètre de composant
- Prise en charge précoce du débogage dans le navigateur
Qu'est-ce que Blazor côté serveur?
Blazor est principalement un framework web côté client destiné à s'exécuter dans un navigateur où la logique du composant et les interactions DOM se produisent toutes dans le même processus.
Cependant, Blazor a été construit pour être assez flexible pour gérer les scénarios où l'application Blazor s'écarte du processus de rendu. Par exemple, vous pouvez exécuter Blazor dans un processus Web Worker afin qu'il s'exécute séparément du processus d'interface utilisateur. Les événements seraient transférés du processus de l'interface utilisateur vers le processus de Blazor, et Blazor pousserait les mises à jour de l'interface utilisateur vers le processus de l'interface utilisateur si nécessaire. Ce scénario n'est pas encore supporté, mais c'est quelque chose que Blazor a été conçu pour gérer.
Un autre cas d'utilisation potentiel pour exécuter Blazor dans un processus séparé est l'écriture d'applications de bureau avec Electron. La logique du composant Blazor peut s'exécuter dans un processus .NET Core normal, tandis que les mises à jour de l'interface utilisateur sont gérées dans le processus de rendu Electron.
À ce propos, Microsoft indique avoir un prototype fonctionnel dont vous pouvez vous servir pour essayer d’utiliser Blazor et Electron de cette manière.
Blazor 0.5.0 prend le modèle hors-processus de Blazor et le filtre sur une connexion réseau pour que vous puissiez exécuter Blazor sur le serveur. Avec Blazor 0.5.0, vous pouvez exécuter vos composants Blazor côté serveur sur .NET Core pendant que les mises à jour de l'interface utilisateur, la gestion des événements et les appels d'interopérabilité JavaScript sont gérés via une connexion SignalR.
L'exécution de Blazor côté serveur présente plusieurs avantages:
- Vous pouvez toujours écrire votre application entière avec .NET et C # en utilisant le modèle de composant Blazor.
- Votre application a toujours un aspect interactif riche et évite les actualisations de page inutiles.
- La taille de téléchargement de votre application est significativement plus petite et le temps de chargement initial de l'application est beaucoup plus rapide.
- La logique de votre composant Blazor peut tirer pleinement parti des capacités du serveur, notamment en utilisant des API compatibles .NET Core.
- Étant donné que vous utilisez .NET Core sur le serveur, les outils .NET existants, comme le débogage, fonctionnent.
- Fonctionne avec les clients légers (ex: les navigateurs qui ne supportent pas WebAssembly, les périphériques à ressources limitées, etc.).
Bien sûr, il y a aussi des inconvénients:
- Latence: chaque interaction utilisateur implique désormais un saut réseau.
- Pas de support hors ligne: si la connexion client est interrompue, l'application cesse de fonctionner.
- Évolutivité: le serveur doit gérer plusieurs connexions client et gérer l'état du client.
Modèle de démarrage
Tous les projets Blazor dans la version 0.5.0 utilisent désormais un nouveau modèle de démarrage similaire au modèle de démarrage dans ASP.NET Core. Chaque projet Blazor a une classe Startup avec une méthode ConfigureServices pour configurer les services pour votre application Blazor, et une méthode Configure pour configurer les composants racine de l'application.
Code:
1 2 3 4 5 6 7 8 9 10 11
| public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
}
public void Configure(IBlazorApplicationBuilder app)
{
app.AddComponent<App>("app");
}
} |
Le point d'entrée de l'application dans Program.cs crée un hôte Blazor configuré pour utiliser la classe Startup.
Code:
1 2 3 4 5 6 7 8 9 10 11
| public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IWebAssemblyHostBuilder CreateHostBuilder(string[] args) =>
BlazorWebAssemblyHost.CreateDefaultBuilder()
.UseBlazorStartup<Startup>();
} |
Dans les applications Blazor côté serveur, le point d'entrée provient de l'application hôte ASP.NET Core, qui référence la classe Blazor Startup pour ajouter les services Blazor côté serveur et pour ajouter l'application Blazor au pipeline de gestion des demandes:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
...
services.AddServerSideBlazor<App.Startup>();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
...
app.UseServerSideBlazor<App.Startup>();
}
} |
Alors que le projet Blazor côté serveur peut également avoir une classe Program, il n'est pas utilisé lors de l'exécution sur le serveur. Cependant, il serait utilisé si vous passiez à l'exécution côté client (WebAssembly) en changeant simplement la balise <script> dans index.html pour charger blazor.webassembly.js au lieu de blazor.server.js.
L'application Blazor et l'application ASP.NET Core partagent le même fournisseur de services. Les services ajoutés dans les méthodes ConfigureServices sont visibles par les deux applications. Les services étendus sont limités à la connexion client.
Ajouter Blazor à n'importe quel fichier HTML
Dans les éditions antérieures de Blazor, la version du projet a été modifiée pour remplacer la balise de script blazor-boot par une balise de script réelle qui gérait le téléchargement du démarrage. Cette configuration a rendu difficile l'utilisation de Blazor dans des fichiers HTML arbitraires.
Dans Blazor 0.5.0, ce mécanisme a été remplacé. Pour les projets côté client, ajoutez un tag de script qui fait référence au script _framework / blazor.webassembly.js (qui est généré dans le cadre de la construction). Pour les projets côté serveur, vous référencez _framework / blazor.server.js. Vous pouvez ajouter ce script à n'importe quel fichier HTML, y compris le contenu généré par le serveur.
Par exemple, au lieu d'utiliser le fichier index.html statique du projet client Blazor, vous pouvez ajouter une page Razor à votre projet hôte ASP.NET Core, puis y ajouter la balise de script Blazor ainsi que toute logique de rendu côté serveur.
Source : Microsoft
Voir aussi :
:fleche: Windows 10 : Microsoft présente de nouvelles builds dopées au machine learning pour éviter les redémarrages inopportuns après des mises à jour
:fleche: Slack rachète la plateforme HipChat à Atlassian et envisage de la fermer et récupérer ses utilisateurs, afin d'être plus solide face à Microsoft Teams
:fleche: Un ingénieur de Mozilla affirme que YouTube est plus lent sur Firefox et Microsoft Edge que sur Google Chrome
:fleche: Microsoft se lance dans la console de jeu orientée cloud, comme annoncé lors de l'édition 2018 de l'Electronic Entertainment Expo
:fleche: Un développeur tiers publie LibreOffice pour Windows 10 sur le Microsoft Store, The Document Foundation s'en dédouane et la firme de Redmond l'éjecte