[TUTORIAL POUR DÉBUTANT] BLAZOR en .NET 8 - WebApp, WebAssembly & Hybrid avec MAUI

Sdílet
Vložit
  • čas přidán 23. 12. 2023
  • 😎 Rejoins cette chaîne pour bénéficier d'avantages exclusifs :
    / @htscoding
    ✔️ Envie d’approfondir tes connaissances ❓ hts-learning.com/shop
    🚀 Réserves une heure de coaching privé avec moi 👉 book.stripe.com/eVadRjaLT23cc...
    📕 Mon livre sur C# 12 : amzn.to/3VhRiQK
    📗 Mon livre sur les performances en C# : amzn.to/3uSq9q1
    📘 Mon livre sur Blazor : amzn.to/3zzUKvq
    📙 Mon livre sur Docker : amzn.to/3xoVMrn
    📕 Mon livre sur Azure DevOps : amzn.to/47sMcnS
    🧑🏻‍💻 Mon cours e-learning sur C# : hts-learning.com/shop/course/...
    🤖 Rejoins le serveur Discord : / discord
  • Věda a technologie

Komentáře • 41

  • @baptistechantry2109
    @baptistechantry2109 Před 6 měsíci +4

    Un tuto Blazor YT qui promet d’être de haute qualité!! Christophe tu déchires !!❤

    • @HTSCoding
      @HTSCoding  Před 6 měsíci

      Je fais de mon mieux, merci de ta fidélité 👍👍

  • @moussaismaguel1465
    @moussaismaguel1465 Před 6 měsíci +1

    Merci beaucoup cher MVP

  • @olivier0003
    @olivier0003 Před 2 měsíci

    Je ne dirais qu'une chose : bravo. Ce tuto est indispensable pour comprendre Blazor.

    • @HTSCoding
      @HTSCoding  Před 2 měsíci

      Merci pour ce commentaire, ça fait plaisir 😁

  • @yanevans
    @yanevans Před 6 měsíci

    Oh la video de fou furieux Quel cadeau de noel 🤯

  • @ayattmohamed3616
    @ayattmohamed3616 Před 6 měsíci

    Respect 🔥et un Merci de Bruxelles 🙂

  • @thomasnicolas5239
    @thomasnicolas5239 Před 4 měsíci +1

    Merci !

  • @mohamedamineboulahia8163
    @mohamedamineboulahia8163 Před 6 měsíci

    Merci 👌

  • @julienh7840
    @julienh7840 Před 6 měsíci

    Merci ❤

  • @CyrilSeguenot
    @CyrilSeguenot Před 3 měsíci

    Merci beaucoup pour cette grosse intro au nouveau Blazor !
    Cette version est un sacré changement, et je trouve qu'elle rend Blazor vraiment beaucoup plus intéressant !
    Si je comprends bien, on utilise le rendu serveur dynamique (communication avec le client par SignalR) plutôt pour des applis temps réel (réseaux sociaux, tableaux de bords très réactifs...etc). Pour tout le reste, on peut utiliser le rendu serveur statique avec mise à jour asynchrone par streaming (attribut StreamRendering). C'est bien ça ?
    Autre question : comment transposer le modèle classique d'une appli Blazor WASM cliente d'une API REST, à une Blazor web app avec un rendu automatique pour profiter du SSR ? Faut-il remplacer l'API par l'appli serveur ?
    En te remerciant par avance.

    • @HTSCoding
      @HTSCoding  Před 3 měsíci

      Pour reprendre la logique, on utilise les composants interactifs quand on souhaite avec des éléments qui réagissent comme on a l'habitude depuis des décénnies avec JavaScript. Que l'interactivité soit Server, Auto ou Wasm ne change rien au fait que c'est réactif. Pour le StreamRendering, cela permet au composant d'avoir une phase de chargement de données qui serait longue, un petit peu comme si on avait un unique appel AJAX à l'époque pour charger les données mais qu'on veut rapidement afficher les données à l'utilisateur.
      Pour ce qui est du choix d'applicatif, il ne faut pas bannir Blazor WASM autonome, ça va dépendre du type d'application que l'on souhaite réaliser.
      Et pour ce qui est de l'infrastructure, il est toujours possible de séparer les composants de l'API, mais le fait d'avoir dans uen application Blazor Auto une partie serveur "obligatoire" fait qu'il finit souvent par être à la fois API et application SSR (comme c'est le cas pour ma plateforme sur l'espace membre).
      En espérant que ça réponde aux questions

    • @CyrilSeguenot
      @CyrilSeguenot Před 3 měsíci

      Merci pour ta réponse super rapide !
      Disons que si l'on a besoin d'une BDD sur un serveur, une appli Blazor WASM classique ne présente plus beaucoup d'intérêt face à une Blazor web app, puisqu'on se priverait du rendu initial rapide...
      Le mot interactif s'applique aussi bien à des zones de formulaires classiques, qu'à des zones d'affichage mises à jour en temps réel par push serveur (ex un cours de bourse). Mais on ne traite traite pas les 2 de la même façon. Et du coup, je me disais que le rendu serveur dynamique, qui consomme beaucoup de ressources serveur et nécessite une connexion SignalR active avec le client pendant toute la durée de vie du composant (avec les problèmes que ça peut poser, notamment sur les smartphones), devrait être réservé aux cas qui le nécessitent vraiment.
      Et que pour un site classique, style blog, boutique...etc, avec une interactivité plus faible (de formulaire), une fois les composants interactifs dispos en WASM, on pourrait les rafraîchir par StreamRendering.
      Mais peut-être que je me trompe, et que cette possibilité n'est réservée qu'au chargement initial ?
      Sinon, petite remarque : le lien Discord dans la description de la vidéo ne marche plus (invitation invalide)...

  • @alpachinois
    @alpachinois Před 3 měsíci

    Salut, ton cours est-il regardable offline? Je suis dev très expérimenté C# mais j'ai pas fait de Blazor depuis 2020 et de front depuis 2022 (c'était en React la dernière fois) et je souhaite me remettre à jour en frontend car je vois que ça a vraiment beaucoup changé avec MAUI, Hybrid. J'ai un déplacement en TGV par semaine et je voulais savoir si on peut regarder légalement tes cours offline si on les achète pendant les 2 heures de voyage?

    • @HTSCoding
      @HTSCoding  Před 3 měsíci +1

      Les personnes qui achète le cours (pas par le biais de l'abonnement, mais bien l'achat) peuvent récupérer les vidéos en DL pour les regarder hors ligne ;-)

  • @nickst0ne
    @nickst0ne Před 6 měsíci

    Merci Père Noël ! 🎅

  • @philippeschaeffer8869
    @philippeschaeffer8869 Před měsícem

    Bonjour Christophe. Je vous remercie pour la qualité de votre travail. Ce cours m'a permis de monter en compétence en seulement 3 heures. En tant que particulier, je souhaiterais souscrire à votre abonnement, est-ce que vous pensez que ça sera possible ? L'essentiel de vos formation m'intéresse grandement et ça serait très intéressant de souscrire à un abonnement mensuel. Merci.

    • @HTSCoding
      @HTSCoding  Před měsícem +1

      Bonjour,
      Merci pour ce retour. Pour le moment, les abonnements sont fermés car j'ai atteint le quota de personnes que je souhaite accompagner.
      Vous n'êtes pas le seul, et je rouvrirai la possibilité de s'abonner quand des places se libéreront. Je vais mettre en place une liste d'attente si vous êtes intéressé afin d'être notifié de l'ouverture !

    • @HTSCoding
      @HTSCoding  Před měsícem +1

      Il est possible de s'inscrire sur la liste d'attente ici : www.hts-learning.com/subscription

    • @philippeschaeffer8869
      @philippeschaeffer8869 Před měsícem

      Je vous remercie, je me suis inscrit

  • @oliviermbombo6569
    @oliviermbombo6569 Před 2 měsíci

    Bonjour M. Mommer,
    J’ai laissé un message sur votre plate-forme de e-Learning mais sans réponse jusqu’à présent. Je n’avais aucun autre moyen de vous joindre d’où ce commentaire.
    Nous souhaiterions payer des formations pour notre équipe de dev en entreprise mais il nous faudrait une facture pour initier le processus de paiement et je n’ai malheureusement pas trouvé un moyen de télécharger de facture sur la plate-forme. Pensez-vous qu’il y’a moyen de nous en arranger ça ?
    Je reste vivement en attente d’un feed-back de votre part.
    Cordialement

    • @HTSCoding
      @HTSCoding  Před 2 měsíci

      Bonjour j’ai tenté de vous répondre mais ait été rejeté par le serveur mail.
      Je vous ai envoyé un message sur LinkedIn à cet effet. Comment puis-je vous envoyer le document, sachant qu’il me faut les informations légales de votre société pour établir la pro forma ?

  • @Le_Mur
    @Le_Mur Před 3 měsíci

    Alors je sais pas pourquoi, mais perso j'ai aucun WS ou Wasm qui s'affiche dans l'onglet Réseau du DevTool. J'ai le même problème sur Opera et sur Edge, que je lance le projet depuis Rider ou depuis VS. C'est pas bloquant ou quoi, mais ça me force à bosser un peu à l'aveugle. Je sais pas si t'as une idée du pourquoi.

    • @HTSCoding
      @HTSCoding  Před 3 měsíci

      Alors pas du tout :-/ j'ai toujours vu les devtools avec ces éléments de filtres.
      Par contre, il peut arriver que les devtools nécessitent un refresh de la page une fois qu'ils ont été ouverts "pour capter":
      Ouvrir le site en debug, ouvrir les dev tools, rafraichir la page en gardant les devtools ouvert et revenir

    • @Le_Mur
      @Le_Mur Před 3 měsíci

      Non alors pardon, je précise, j'ai bien les filtres WS et Wasm qui s'affichent, juste, quand je les sélectionne, je ne vois aucun WS ni Wasm.

    • @jagxx1978
      @jagxx1978 Před 2 měsíci

      Moi c'est pareil sur Chrome. Aucune entrée de type wasm. Pour info, le fichier Counter.razor contient l'attribut @rendermode InteractiveAuto.

  • @gauthierberthomieu7209
    @gauthierberthomieu7209 Před 2 měsíci

    Merci pour cette longue vidéo !
    J'ai une petite question : Comment faire l'ajout du projet blazor-maui à la solution (1:08:40) depuis le CLI ? Faut-il nécessairement le faire en deux temps, en créant le projet puis en l'ajoutant à la solution ?

    • @HTSCoding
      @HTSCoding  Před 2 měsíci

      Si on tape la commande dotnet new blazor --help dans un terminal, en tout cas en .NET 8, on a pas la possibilité de créer un triple projet (Server + WASM + Mobile).
      Blazor Hybrid a été vu et pensé pour être, je pense, un projet plutôt autonome
      Mais il est tout à fait possible de demander à Microsoft de l'intégrer au template ;-)

    • @gauthierberthomieu7209
      @gauthierberthomieu7209 Před 2 měsíci

      @@HTSCoding Merci beaucoup !
      J'enchaîne avec une petite question (1:35:00) : En reproduisant, le lien vers le Home.razor se trouvant dans le projet MonAppBlazor.Components ne fonctionnait pas. J'ai changé le nom du projet en MonAppBlazor.Library, et là tout fonctionne. N'y a-t-il pas un conflit entre le projet MonAppBlazor.Components, et le dossier Components du projet MonAppBlazor ?

    • @HTSCoding
      @HTSCoding  Před 2 měsíci

      C'est vrai que sur la démo, ça pourrait mener à des conflits de nommages, donc l'approche avec Library est effectivement judicieuse pour éviter ce type de conflit. Je ne l'ai pas rencontré personnellement, mais tant qu'à faire !

    • @gauthierberthomieu7209
      @gauthierberthomieu7209 Před 2 měsíci

      @@HTSCoding Yes, en tous cas depuis que j'ai renommé le projet tout fonctionne parfaitement.
      Merci encore pour ce tuto, le format est nickel et le déroulé est super bien construit (à chaque fois qu'une question me venait en tête, c'était le sujet du module suivant).

    • @HTSCoding
      @HTSCoding  Před 2 měsíci +1

      Ça fait bien plaisir de lire un retour comme ça, merci 🙂
      Si tu veux aller plus loin, il y a le cours complet sur la plateforme

  • @moussaismaguel1465
    @moussaismaguel1465 Před 6 měsíci +1

    Second

  • @aerafal824
    @aerafal824 Před 6 měsíci +2

    First

  • @nicolass8941
    @nicolass8941 Před 6 měsíci

    Un gros travail d'explication sur une techno riche et puissante. Merci pour cela.
    Par contre, c'est trop long pour etre une video de presentation de la techno, et c 'est bien trop long pour arriver a faire du code. J ai tenté peniblement d'aller au bout de la video, et honnetement, j'ai decroché plusieurs fois. Au final, je ne suis pas convaincu par le format (même si je salue le travail et la volonté de democratiser la techno de gratuitement).
    Et ca m'ammene au deuxieme point : la techno en elle meme !
    Cette nouvelle mouture de Blazor ressemble a une belle usine a gaz, et je doute sincerement qu'elle soit adoptée. Je trouve (et ce n est que mon avis) que les complexités induites par les nouvelles fonctionnalités n'en valent pas la peine.
    Le contenu WASM semble relegué au second plan (et ca se voit au niveau du plan de la video mais aussi dans la manière de dire et rappeler qu'elle est limité ..) et c'est bien dommage. WASM est pour moi le premier intérêt de Blazor : faire des app web cliente en codant en full c#. WASM + API back end me paraissent etre les solutions les moins risquées et les plus versatiles
    ll y a deja trop peu de front en WASM, a mon avis le blazor app et l 'hybride MAUI, on est pas pret de le voir dans les offres de missions ni d'emploi ...
    Merci, malgré tout.

    • @HTSCoding
      @HTSCoding  Před 6 měsíci

      Merci pour ce commentaire constructif !
      Pour répondre au point 1, comme je le disais dans la vidéo, c'est une compilation des premières vidéos tirées du cours. Au début du cours, je suis obligé de passer par une partie théorique qui, sur cette vidéo YT, peut paraitre longue, mais dans le cours, n'est qu'une goutte d'eau par rapport à la pratique. Mon objectif, comme tu l'avais compris ,c'est de partager la techno et de lever un peu le coin du voile sur ce qu'il y a dans la formation globale.
      Sur le point n°2, je pense que tu passes à côté de l'évolution majeure de cette version. Tout d'abord, les applications Blazor WASM autonomes existent toujours, et justement, WASM va gagner en adoptabilité. Tout simplement car avant, il fallait faire un choix "définitif" (il existait des patterns pour réutiliser son app Blazor selon le mode d'interactivité, mais c'était moins évident). Ici, avec le mode de rendu "Auto", tu n'as plus à te prendre la tête et tu profites du meilleur des deux mondes : tu as une interactivité immédiate avec Blazor Server le temps que les assemblies WASM se chargent pour après tourner que en WASM. Ca répond à une demande de la communauté depuis la V1 de Blazor WASM en .NET Core 3.1
      Pour ce qui est du rendu serveur (SSR & StreamRendering), on voit clairement que l'ambition de Microsoft est de faire un framework web unifié. J'ai reçu trop de fois des questions du type : je veux faire une app sur le sujet Y, je dois prendre MVC, WebApi, RazorPages ou Blazor ? La question ne se pose plus, on peut tout faire avec Blazor dorénavant.
      Le coup de polish qu'il pourrait manquer, à mon avis, va être fait en .NET 9/10. Vu que t'es abonné à la chaine, je couvrirai les previews de .NET 9, donc on va suivre ça de près !
      Merci encore pour ton commentaire ;-)

    • @nicolass8941
      @nicolass8941 Před 5 měsíci

      @@HTSCoding les principales remontrées que j'ai du terrain ne corroborent pas cela (Apres, ca ne reste que ma maigre expérience hein !! ). Les clients ont encore en mémoire Silverlight et WindowsPhone : 2 supers techno que MS a lâché, alors que beaucoup de boites avaient investi dessus. Je te garanti que le choix de Blazor en général est évité à cause de ca. La solution la plus pragmatique pour inciter les clients à passer par Blazor est de découpler le front du back. En back, la question ne se pose pas, et WepApi et autres ont fait leurs preuves. Pour la partie front, j 'ai vu des tech-lead pro Blazor se faire sécher pour les raison invoquées plus haut. Pourtant, un front en WASM, et le retour sur investissement est immédiat (pour un dev .Net, coder un front en WASM est bien plus pratique, logique et accessible que de se prendre la tete avec Vue, React, Angular et compagnie, leurs tonnes de Framework sous jacents et leurs écosystèmes mouvant. Alors que cette solution permet une porte de sortie au client (si Blazor ne va pas, on peut migrer le front en Js, mais on préserve le back, et inversement rollback sur une autre techno back si ASP.Net ne convient pas), la solution full blazor me parait vraiment discutable (je ne nie pas l'intérêt technique, mais dans les fait, je paris un resto que ca prendra pas).
      J 'aurais aimé, de mon coté, que MS propose des composants UI qui fassent gagner un temps fou au dev (plutot que de devoir arbitrer entre Mudblazor, Telerik, syncfusion, devexpress, etc ...). Par contre, je dis un gros gros merci à MS pour son fix de la partie Auth, et a l'optimisation des performances globales de cette stack).
      Passes un bon reveillon, et a l 'année prochaine.

    • @HTSCoding
      @HTSCoding  Před 5 měsíci

      Alors ça tombe bien, on ne parle pas du tout de la même chose :-)
      Je connais bien les arguments contre Blazor en France (et c'est vraiment pas du tout similaire outre Atlantique, où il a plus de succès), et j'ai une réponse à chacun. D'ailleurs, c'est pas que Blazor, tout .NET est globalement détesté en France au profit de Python & JS.
      par contre, qu'on soit clair, Blazor en .NET 8 ne prône absolument pas de mélanger le front & le back. Blazor est et doit rester une techno front. Le fait d'avoir de l'interactivité serveur n'implique pas qu'il faut utiliser les ressources du serveurs dans son application directement, une appli Blazor doit toujours être backée par une API. D'ailleurs, même avec l'interactivité Auto, qui ressemble sur le plan archi/infra à un Blazor WASM ASP.NET Core Hosted (qui a disparu), on défini les endpoints dans l'application serveur car Blazor Server reste une application ASP.NET classique.
      Là où ça change en .NET 8, comme je le disais avant, c'est la possibilité d'utiliser Blazor pour faire une application complète, avec de l'interactivité là où t'as besoin. Il suffira juste de bien structurer son projet.

    • @nicolass8941
      @nicolass8941 Před 5 měsíci

      @@HTSCoding ok, je laisse tomber, bonne continuation