Avec la nouvelle prise en charge du bureau Windows, Flutter lance une fléchette sur .NET MAUI – Visual Studio Magazine

Nouvelles

Avec la nouvelle prise en charge du bureau Windows, Flutter lance une fléchette sur .NET MAUI

Le cadre de développement open source de Google (et le langage de programmation sur mesure Dart) a souvent été présenté en comparaison avec la plate-forme d’applications mobiles Xamarin de Microsoft.

Les comparaisons étaient une sorte de pile ou face.

Puis est venu .NET MAUI, décrit comme l’évolution de Xamarin car il a ajouté la prise en charge des applications de bureau, donnant l’avantage à Microsoft pour beaucoup dans la bataille des frameworks de développement multiplateformes, tous deux toujours principalement axés sur le mobile.

Mais .NET MAUI “a dépassé le calendrier”, manquant la date de lancement de .NET 6 en novembre. Maintenant, il est toujours en avant-première.

Puis, la semaine dernière, une mise à jour Flutter a ajouté la prise en charge du bureau Windows. C’est à nouveau le jeu !

Sous Windows, Flutter utilise exactement le même code Dart, mais tire parti des API Windows natives.
[Click on image for larger view.] Sous Windows, Flutter utilise exactement le même code Dart, mais tire parti des API Windows natives. (source : Google).

Alors, qu’est-ce que les développeurs qui font un choix ont à dire maintenant ?

“Allez avec Flutter pour l’instant”, dit “t_go_rust_flutter”, dont la poignée reflète évidemment un certain biais Flutter. Ce conseil est venu dans un Reddit fil de discussion dans la section r/dotnet du site social axé sur la technologie. Publié sept jours avant cette écriture, le fil de discussion est intitulé “L’apprentissage de Xamarin en 2022 sera-t-il utile jusqu’à ce que le matériel d’étude complet de .NET MAUI soit organisé?”

Certes, le message est venu d’un étudiant, pas d’un développeur professionnel, mais il met en lumière le problème. Voici le corps du message d’origine (pas d’édition):

“Je suis un étudiant qui vient tout juste d’entrer dans le monde .NET. J’ai une bonne compréhension de C # et je suis très intéressé par le développement d’applications. Cependant, je suis incapable de décider à quoi m’engager. MAUI est évidemment la voie à suivre, mais a peu ou pas de ressources et est encore très jeune. Je suis enclin à connaître les tenants et les aboutissants de Xamarin pour avoir un avantage dans le développement de MAUI à l’avenir, mais j’avais besoin de l’opinion de quiconque sait mieux que moi.

.NET MAUI
[Click on image for larger view.] .NET MAUI (source : Microsoft).

Voici la réponse complète de t_go_rust_flutter :

« D’après l’histoire de Microsoft sur les ordinateurs de bureau et mobiles, MAUI est probablement encore à quelques années d’être suffisamment fumier. Et ce sera toujours cette monstruosité qu’est XAML. Optez pour Flutter pour l’instant.

(Nous donnerons le bénéfice du doute que “fumier” était une faute de frappe de “mature”, mais c’est une faute de frappe très attitudinale !)

Voici les autres réponses inédites, par ordre de publication :

  • Je pense que vous ferez une chose intelligente en commençant par xamarin maintenant pour vous préparer à maui, après tout maui sera l’évolution de xamarin, et actuellement maui n’est en aucun cas adapté pour créer une application prod avec. C’est ce que je fais d’ailleurs, avoir des applications accompagnant une application principale.
  • 2ème ceci. J’ai essayé de créer une application avec MAUI et le chemin est long jusqu’à ce qu’elle soit prête. J’utilise maintenant Flutter/Dart parce que je n’aime pas beaucoup XML et que je voulais utiliser le modèle MVU.
  • La meilleure chose à faire maintenant serait d’apprendre Xamarin Forms en préparation de MAUI. Il y a suffisamment de chevauchement pour justifier de passer du temps à Xamarin en premier.
  • Xamarin Forms et Maui seront toujours xamarin. La même API native appelle simplement une couche d’interface utilisateur différente. Apprendre Xamarin Forms devrait être un croisement relativement facile à mesure que Maui mûrit.

Flutter et .NET MAUI ont également été mentionnés dans un autre Reddit fil posté il y a quelques jours intitulé “Desktop development in 2022?” L’affiche se concentrait sur Windows mais disait que le multiplateforme serait bien.

Cette discussion a comporté de nombreux commentaires élogieux sur Flutter, mais seulement quelques mentions de .NET MAUI :

  • Je suis intéressé de voir comment .NET MAUI va être reçu et comment il fonctionnera du côté multiplateforme.
  • Au sommet de ma tête : C # Maui (bien qu’aucun support Linux), Flutter ou TypeScript sur Electron.

Un commentaire mentionnait Flutter avec l’éditeur de code open source de Microsoft, Visual Studio Code :

Je recommande vivement Visual Studio Code (un éditeur open source toutes plates-formes, à ne pas confondre avec Visual Studio) avec les extensions Dart et Flutter – vous pouvez simplement vous lancer et commencer à écrire des applications Dart pour la ligne de commande, puis jetez un oeil à Flutter pour voir à quoi ressemble le côté de l’interface utilisateur. Le code Dart se compile dans un fichier exécutable raisonnablement petit sur chaque plate-forme, avec deux limitations qui me viennent à l’esprit : je ne pense pas que vous puissiez compiler pour une plate-forme différente de celle que vous utilisez (il existe des outils CI/CD qui peut le faire automatiquement, comme GitHub), et je ne sais pas encore comment Flutter s’intègre dans ce processus car la prise en charge des applications de bureau est relativement nouvelle.

D’autres suggestions incluaient Qt, React Native et Kotlin avec SWT ou Swing.

Flutter et .NET MAUI ont également été mentionnés dans un récent message du forum communautaire sur le Communauté OSArch site, intitulé “Cross-Platform Desktop App Development Framework Selection” sur la transformation de l’application IFC Toolbox en une application multiplateforme à long terme. Les principaux facteurs de la décision étaient les suivants : performances ; capacité hors ligne (au bail pourrait être sans serveur); compatibilité de la plate-forme de bureau (Win10/11, macOS, Linux) ; et la cohérence dans UX.

Le message comprenait ce repère de choix :

Benchmark de sélection du cadre de développement d'applications de bureau multiplateformes
[Click on image for larger view.] Benchmark de sélection du cadre de développement d’applications de bureau multiplateformes (source : communauté OSArch).

Un commentaire qui vient d’être publié lundi portait sur les langues utilisées par les offres respectives.

Merci pour le partage @Moult. Je suis d’accord avec votre point de vue, si on parle selon la langue, je pense qu’on peut les diviser en trois catégories. Basé sur C/C++ (Qt), basé sur JS (React Native, Electron, Ionic), basé sur C# (Xamarin, Uno Planform, MAUI).

Le problème avec C/C++ est qu’il est trop compliqué pour la plupart des gens. Et il est difficile de démarrer, et les contributeurs sont difficiles à impliquer. C # a en fait un problème similaire. Par rapport aux projets JS, cette communauté grandit très lentement et les contributeurs ne sont pas très actifs.

Ce que vous avez dit à propos de “hors de propos” pour l’approche JS, je ressens la même chose. C’est toujours un peu trop l’apparence d’une page Web. La bonne chose est que vous pouvez créer la même logique d’interface utilisateur sur toutes les plates-formes. Mais pour une application de bureau, est-il vraiment nécessaire de créer une expérience multiplateforme unifiée, ou s’agit-il plutôt d’une expérience native ?

“En tant qu’utilisateur, quel type d’application de bureau multiplateforme UIUX préférez-vous ?” C’est aussi la question que je veux poser. Merci de me répondre rapidement si vous le pouvez. Merci tout le monde!

Interface unifiée partout – LOL 😂
Interface de type natif dans chaque – WTF 😯

Pour ceux qui veulent des détails pratiques sur les offres concurrentes, le LibHunt Le site a publié “Introducing .NET Multi-platform App UI (MAUI) VS Flutter” pour “voir quelles sont leurs différences”. Une partie de la comparaison est montrée dans ce graphique :

Comparaison LibHunt
[Click on image for larger view.] Comparaison LibHunt (source : LibHunt).

Il présente également les descriptions officielles des deux offres : “.NET MAUI est l’interface utilisateur de l’application multiplateforme .NET, un cadre pour la création d’applications natives pour appareils couvrant les mobiles, les tablettes et les ordinateurs de bureau” et “Flutter facilite et accélère la créer de belles applications pour mobile et au-delà.” Le site comprend également des extraits de divers messages et articles sur chaque plate-forme.

Avec la prise en charge de Flutter pour la création d’applications de bureau Windows depuis à peine une semaine, d’autres comparaisons sont probablement en cours. En fait, la semaine prochaine, il y aura un Meetup virtuel intitulé “Commencer avec .NET MAUI (Hey Flutter et RN, mieux vaut faire attention)”.

Le Meetup ne compare peut-être pas directement Flutter et .NET MAUI, mais il est inclus ici, avec l’avis comprend une barre React Native, Flutter et .NET MAUI, peut-être le seul du genre (il sera laissé au lecteur de juger de l’humour quotient):

RN, Flutter et Maui sont allés dans un bar de New York.

Flutter : “Hé, je peux créer des applications même pour Mac OS”
React Native : “J’ai un site Web natif de réaction spécial pour prendre en charge les navigateurs”
.NET MAUI : “Je suis peut-être encore en avant-première, mais je peux créer des applications natives sur Android, iOS, Windows et Mac OS. En quoi cela représente-t-il un défi ?”
Flutter : “Je suis rapide”
.NET MAUI : “Je peux charger l’assemblage Web (WASM)”
RN : “Achetez-moi un coup.”

(Alors que faire Magazine Visual Studio les lecteurs pensent à Flutter vs. .NET MAUI de nos jours ? S’il vous plaît partager vos pensées dans la section des commentaires.)

A propos de l’auteur

David Ramel est éditeur et rédacteur pour Converge360.

.

Leave a Comment