Fermer

octobre 22, 2020

Blazor est-il un pari d'entreprise sûr?


Comme pour toute technologie, il serait insensé de ne pas se soucier du transfert de votre organisation vers Blazor. Clarifions ce qui vaut la peine de s’inquiéter. Aussi: pourquoi vous ne devriez pas vous inquiéter.

Il ne fait aucun doute qu'il y a des choses qui sont potentiellement… inquiétantes… à propos de Blazor. Pour commencer, il ne s’agit pas de JavaScript et JavaScript est la technologie standard pour le développement frontal, basé sur un navigateur depuis plus d’une décennie.

Mais c'est précisément parce que Blazor n'est pas JavaScript que Blazor est un choix attrayant. Blazor permet aux développeurs .NET d'utiliser la même boîte à outils sur le navigateur qu'ils utilisent sur le serveur. Cela commence par l'utilisation des mêmes classes d'entité C # (clients, commandes de vente) sur le serveur et le navigateur, puis passe au partage de bibliothèques .NET entières.

Mais ce n'est pas seulement du code: parce que c'est «juste un autre» .NET ensemble d'outils, Blazor permet aux magasins de partager leur expertise et leurs ensembles d'outils sur l'ensemble de l'application. Azure DevOps, par exemple, prend en charge Blazor (via Azure Pipelines) depuis 2019. Dernièrement, étant donné que Blazor a augmenté les enjeux pour Microsoft pour développer une solution Ahead of Time pour .NET, Blazor est en fait le moteur des efforts de Microsoft pour faire évoluer ses systèmes de livraison d'applications. Et, si nous voulons parler de «l'expertise disponible», il convient de se rappeler que .NET existe depuis plus longtemps que n'importe lequel des Angular, React ou Vue (ou même jQuery, d'ailleurs).

Mais, juste pour Assurez-vous que les développeurs frontend puissent facilement migrer vers Blazor, Microsoft a conçu le framework Blazor en utilisant le modèle de composants-routeurs-vues que les autres principaux frameworks frontend (Angular, React et Vue) implémentent. Cela se reflète dans l'évolution du marché des outils tiers: le jeu d'outils que (par exemple) Telerik UI for Blazor fournit pour rendre les développeurs Blazor plus productifs est presque identique à l'ensemble d'outils que les produits Telerik fournissent pour les autres

Is It Safe?

Mais si la question est de savoir si Blazor est «sûr» pour vous de parier sur votre entreprise, alors vous ne pouvez pas penser uniquement aux avantages – vous devez également penser à ce qui ne va pas et / ou dangereux avec la technologie: les «problèmes».

Il y a au moins une fameuse «maladresse» (appelons-la) dans Blazor: sa grande taille de téléchargement initiale, quelque chose que presque chaque itération de Blazor et / ou. NET Core a réduit. Cependant, le problème risque de ne jamais disparaître: il est possible que le téléchargement initial de Blazor n'atteigne jamais la taille, par exemple, de la bibliothèque React de base (pas que quiconque crée une application avec seulement la bibliothèque React de base).

Mais il est également douteux que la différence de taille compte. Essayez-le par vous-même: créez une application Blazor et téléchargez-la. Ensuite, créez une application React équivalente avec toutes les bibliothèques de support (Redux, React Bootstrap, Axios, etc.) et téléchargez-la. Voyez si vous pouvez réellement détecter la différence dans le temps de démarrage (et si vous vous en souciez).

Mais «sûr» vous amène également à réfléchir aux problèmes de sécurité. Contrairement aux outils existants côté client, Blazor a commencé sa vie sur la base d'une norme W3C (WebAssembly): Blazor et WebAssembly ont été implémentés en utilisant des approches contemporaines de la sécurité. Blazor gère probablement mieux les demandes d'autorisation que toute autre plate-forme côté client (encore une fois, grâce à l'intégration de Blazor avec .NET).

Cela signifie-t-il que Blazor n'aura jamais de problèmes de sécurité? Ce sera probablement le cas. Le monde est un endroit vaste et effrayant et des choses se passent. Mais, étant donné que Blazor est basé sur un standard W3C et fait partie intégrante de .NET 5, la probabilité que Blazor ait une vulnérabilité unique est à la fois faible et peu susceptible d'être systémique (c'est-à-dire que si l'une d'entre elles apparaît, elle nécessitera un correctif,

Ce n'est pas seulement Microsoft qui croit que WebAssembly, la fondation sur laquelle Blazor s'appuie, est sûr: l'équipe Mozilla est en train de convertir des composants de leur navigateur Firefox en exécutés dans WebAssembly . [19659013] Se soucier de l'avenir

Mais qu'en est-il du long terme? "Sûr" signifie également quelque chose comme "Serons-nous désolés dans le futur?" ou "Cette décision va-t-elle me faire passer pour un imbécile / me faire virer?"

Cela ne veut pas dire qu'il n'y a pas d'autres problèmes à craindre avec Blazor. Par exemple, en général, les performances de Blazor sont bonnes. Cependant, pour le moment, vous devriez vous demander si vous allez afficher des tableaux avec des centaines ou des milliers de lignes à l'aide de Blazor sur le client. Vous pouvez résoudre ces problèmes en utilisant Blazor côté serveur ou en adoptant la nouvelle prise en charge de la virtualisation des composants de Microsoft .

Mais que se passerait-il si Microsoft n'avait pas résolu ce problème de rendu de l'interface utilisateur? Et si ce n’était que la pointe de l’iceberg? Et s'il y avait une autre lacune dans Blazor et qu'une solution n'était jamais fournie? Sinon, que se passe-t-il s'il y a une nouvelle fonctionnalité «indispensable» que vous devez inclure dans votre application et que Blazor n'est pas étendu pour la prendre en charge / la fournir?

Nous comptons sur deux groupes pour résoudre ces problèmes: Premièrement, Microsoft (alors que Blazor est un projet open-source, Microsoft est clairement le principal pilote de la technologie, comme Google avec Angular et Facebook avec React); deuxièmement, un écosystème qui comprend des fournisseurs d'outils, un pool d'expertise sur Stack Overflow et des entrepreneurs abordables. Que se passe-t-il si Microsoft se désintéresse de Blazor ( Silverlight ) ou si cet écosystème ne se développe pas comme il l'a fait avec d'autres outils de développement côté client?

Du côté de Microsoft, il est évident que l'entreprise fait un grand pariez sur Blazor. Ce n'est pas le genre d'engagement «pari sur l'entreprise» qu'il a pris avec le .NET Framework original, mais Microsoft continue de consacrer de nombreuses ressources tournées vers l'avenir à Blazor. Microsoft ne fait que commencer à améliorer les performances de Blazor ; Microsoft a des projets à la fois pour l'intégration de Blazor avec Xamarin pour créer des applications pour smartphone et pour pour créer des applications de bureau avec Blazor. La plate-forme Uno démontre déjà que Blazor peut être utilisé pour fournir un ensemble unique de code et l'interface utilisateur associée aux plates-formes Android, iOS, Mac, Windows et Web.

Growing an Ecosystem

Mais qu'en est-il de l'écosystème? Si nous savions que Blazor aurait un écosystème open-source efficace, cet article ne serait pas nécessaire. La croissance d'un écosystème dépend de l'adoption par les développeurs de Blazor… qui dépend d'un écosystème viable. Comme l'homme en pain d'épice, un écosystème ne peut pas fonctionner tant que la technologie ne chauffe pas, et la technologie ne peut pas chauffer tant que l'écosystème n'est pas en marche.

Mais, cela dit…

Vous pouvez voir l'écosystème Blazor grandir sur GitHub . Autre exemple: Microsoft a veillé à ce qu’il soit facile pour Blazor et JavaScript d’interagir afin que les applications Blazor puissent, par exemple, appeler des API JavaScript HTML5. Cependant, la communauté qui existe déjà autour de Blazor a généré tellement de bibliothèques Blazor qui englobent les fonctionnalités JavaScript que les développeurs n'auront peut-être jamais besoin de tirer explicitement parti de l'interopérabilité Blazor / JavaScript.

Vous pouvez également comparer comment Blazor (seulement depuis 2018, utilisant la nouvelle technologie WebAssembly) est en tendance par rapport à Vue (depuis 2014, en utilisant le bon vieux JavaScript). Blazor a déjà 25% de l'intérêt que Vue a, selon Google Trends . Ou, pour le dire autrement, en termes de tendances, Blazor a à peu près la même relation avec Vue que Vue doit React (en fait, Blazor fait mieux par rapport à Vue que Vue ne le fait par rapport à React). Vous pouvez probablement trouver votre propre mesure (le nombre de livres Blazor sur Amazon saute à l'esprit, par exemple, ou les outils Blazor disponibles comme Telerik UI pour Blazor). Si Microsoft devait, pour une raison inconnue, se désintéresser de Blazor, il y a probablement déjà suffisamment de communauté pour soutenir Blazor, tout comme la communauté qui existe autour de Vue.

Résumons: Blazor est-il sûr de parier sur votre entreprise ?

Oui.





Source link