Comment utiliser le bureau en 2022

Un aperçu de toutes les différentes façons de créer pour le bureau aujourd'hui. Choisissez judicieusement votre partenaire de vie.
Félicitations. Si vous lisez ceci en 2021, vous avez voyagé dans le temps jusqu'à l'année prochaine. La pandémie mondiale est derrière nous et le monde revient à la normale. Pour les développeurs sur la pile Microsoft, .NET 6, .NET MAUI et les outils associés sont sortis en novembre dernier. Apple a consolidé macOS Monterey et iOS 15 avec des versions stables de XCode. Si vous êtes chargé de démarrer un nouveau projet d'application de bureau aujourd'hui, qu'utiliseriez-vous ?
Tout d'abord, ne laissez personne vous dire que les applications de bureau sont « héritées » : regardez autour de vous et vous verrez la majorité des flux de travail d'entreprise. en fonction du logiciel de bureau.
Nous sommes maintenant en 2022 et les développeurs ont beaucoup de choix quant à la manière de créer pour le bureau. Selon à qui vous parlez, la pléthore de technologies et de choix est soit libératrice, soit intimidante. En fin de compte, cela peut dépendre des expériences des développeurs et de ce que vous construisez d'autre afin de mieux partager le code.
Explorons les piles technologiques pour les applications de bureau – avec l'objectif de trois types de développeurs et comment le pain indien peut être servi.
Traditionalist
Construit pour le bureau tel qu'il était censé être. Utilise des outils natifs. Cible une plate-forme.
WinForms
Lancé en 2002 avec .NET 1.0, Windows Forms est l'une des plus anciennes technologies de bureau Windows, étonnamment toujours aussi performante. Une partie du succès de WinForms réside dans la simplicité de l'outillage, la productivité élevée des développeurs et un écosystème d'outillage riche. Les applications WinForms modernes sur Windows peuvent s'exécuter sur les derniers environnements d'exécution .NET, disposent d'une interface utilisateur robuste et d'un accès complet aux dernières API Windows.
WPF
Windows Presentation Foundation a été introduit en 2006 avec . NET 3.0 en tant que technologie de bureau Windows et a également inauguré une pile d'interface utilisateur définie dans le langage XAML (Extensible Application Markup Language) qui pourrait être séparé de la logique métier. Sans surprise, WPF s'exécute sur les derniers environnements d'exécution .NET et continue de fonctionner, tout en bénéficiant d'un riche écosystème de développeurs. Les applications WPF modernes ont une intégration système profonde et la dernière prise en charge tactile/encreuse, et respirent l'UX moderne. Bien qu'avec une petite courbe d'apprentissage, WPF permet aux développeurs d'être productifs et offre un plateau d'outils riches. pour le balisage de l'interface utilisateur a continué dans Windows 8 et Windows 10. Les temps modernes nécessitent une variété de facteurs de forme d'appareils Windows : tablettes, ordinateurs, 2-en-1, HoloLens, Surface Hub, XBox, IoT et plus encore. La plate-forme Windows universelle a promis d'unir l'expérience des développeurs pour créer pour tous les appareils Windows avec une interface utilisateur adaptative et que les applications soient disponibles via le Microsoft Store.
Les développements ultérieurs tels que Desktop Bridge ont permis aux développeurs de regrouper leurs anciens Applications Win32 dans un conteneur UWP à publier dans le Store et pouvoir intégrer une interface utilisateur UWP moderne dans d'autres applications de bureau Windows via les îles XAML. Bien que la vision d'origine de l'UWP ait évolué, les fondements d'un environnement d'exécution natif et de couches d'accès aux API découplées servent bien les applications Windows aujourd'hui.
AppKit/Cocoa
Vous voulez créer des applications de bureau natives pour macOS ? AppKit est votre ami : il définit tous les objets dont vous avez besoin pour implémenter les composants d'interface utilisateur qui font une application macOS et les détails pour dessiner efficacement à l'écran. AppKit est intégré à Cocoa, le framework API Objective-C pour macOS, mais AppKit peut également être utilisé à partir de SwiftUI. Avec des outils modernes dans XCode, la création pour le bureau macOS n'est qu'une autre cible en plus d'iOS et d'autres plates-formes Apple.
Réformiste
Construit pour le bureau tout en étant tourné vers l'avenir. Conscient des besoins multiplateformes. Veut partager le code.
WinUI 3
La Windows UI Library (WinUI) est un framework d'expérience utilisateur (UX) natif pour les applications de bureau Windows et UWP. Et WinUI 3 est la pile d'interface utilisateur Windows native de nouvelle génération qui est découplée de Windows 10 et intègre Fluent Design System dans toutes les expériences pour une UX cohérente, intuitive et accessible. WinUI 3 fournit aux développeurs les derniers outils et supports pour les applications de bureau et UWP. Le SDK d'application Windows fournit un ensemble unifié d'API et d'outils qui peuvent être utilisés de manière cohérente par n'importe quelle application de bureau sur un large éventail de versions de système d'exploitation Windows 10 et ultérieures cibles.
Mac Catalyst
Il s'avère que la plupart des développeurs veulent construire pour iOS, reléguant le développement natif de macOS à un public de niche. Apple souhaite résoudre ce problème avec Mac Catalystpermettant à iOS, en particulier aux applications iPad, de fonctionner de manière transparente sur macOS. Les applications Mac et iPad peuvent désormais partager le même projet/code source avec XCode. Il existe une correspondance transparente entre AppKit et UIkit, avec une interface visuelle optimisée pour le toucher sur iOS et le clavier/la souris sur macOS. à l'écran avec des widgets. Flutter peut désormais être utilisé pour créer des applications multiplateformes ciblant le bureau—le moteur Flutter peut rendre l'interface utilisateur pour Windows, Linux ou macOS. Alors que la prise en charge de bureau pour Flutter est toujours en version bêta, les développeurs peuvent cibler Windows UWP, macOS et Linux à partir d'une seule base de code et être en mesure d'ajouter la prise en charge de bureau aux applications Flutter existantes.
.NET MAUI Desktop
Pour les développeurs .NET , Xamarin.Forms a longtemps été l'un des moyens les plus simples de créer des applications multiplates-formes, mais Xamarin.Forms était principalement destiné aux plates-formes mobiles iOS/Android. Alors qu'il y avait des moteurs de rendu Xamarin.Forms ciblant le bureau, les développeurs n'avaient pas beaucoup de confiance pour cibler le bureau. Cela change avec l'évolution de Xamarin.Forms vers .NET MAUI.
Avec iOS/Android, .NET MAUI prend entièrement en charge les plates-formes de bureau, à la fois Windows et macOS. Ce qui inspire la confiance des développeurs dans .NET MAUI, c'est le fait que la prise en charge de la plate-forme de bureau est un citoyen de première classe avec des outils raffinés et des architectures d'applications partagées à partir d'un seul projet VS. Et au lieu de réinventer la roue, .NET MAUI a choisi de rendre l'interface utilisateur native sur le bureau via deux technologies bien acceptées : WinUI 3 pour Windows et Mac Catalyst pour macOS.
Uno Platform
Pour les développeurs .NET qui souhaitent vraiment y aller multiplateforme avec le balisage XAML « Windows », Uno Platform présente une belle alternative open source. Dans le but d'emmener WinUI partout, Uno Platform peut alimenter des applications de bureau sur Windows, macOS et Linux, le tout à partir d'une base de code unique de C# et XAML et d'un IDE préféré.
Avalonia
Présenté comme le .NET XAML Framework, Avalonia présente une autre option open source avec des moteurs de rendu basés sur XAML qui peuvent alimenter des applications sur des plates-formes de bureau : Windows, macOS et Linux.
Hipster
Construit pour le bureau avec des éléments autres que le bureau. Le Web est omniprésent.
Electron
Le désir de voir des applications Web s'exécuter sur le bureau n'est pas nouveau. Entrez dans la solution la plus omniprésente pour de tels besoins : Electron. ElectronJS est un projet open source pour créer des applications multiplateformes avec des technologies Web et peut cibler n'importe quel ordinateur de bureau : Windows, Mac OS et Linux.
La plupart des applications de bureau les plus utilisées sont essentiellement des applications Web. enveloppé dans le shell Electron, comme Visual Studio Code, Microsoft Teams, Slack et Figma.
Electron existe depuis un certain temps et gagne en crédibilité grâce à une communauté/écosystème de développeurs solide. La plupart des applications Web modernes écrites avec des frameworks JavaScript SPA ou avec .NET/Blazor peuvent alimenter des solutions de bureau avec Electron. Au cœur des avantages d'Electron en tant que shell pour héberger des applications Web se trouve l'idée d'un environnement stable et prévisible.
À cette fin, chaque application Electron est livrée avec deux éléments qui assurent la fiabilité : sa propre copie du moteur Chromium pour le rendu cohérence et le runtime Node.js. Alors que les développeurs doivent surveiller la taille/l'empreinte mémoire de leur application, Electron est testé au combat et fournit aux développeurs des API étendues pour une intégration native profonde du bureau.
Blazor Hybrid
Si l'on suppose un environnement informatique stable et la présence d'un navigateur moderne aujourd'hui , peut-être que les applications Web peuvent être hébergées sur le bureau avec des WebViews légers, créant ainsi un encombrement réduit et facilitant l'amorçage des applications.
Avec Blazor, les développeurs peuvent créer des applications Web modernes avec C#/.NET, s'exécutant sur le serveur ou entièrement côté client via WebAssembly. Blazor est très populaire auprès des développeurs .NET modernes et le désir de voir les solutions de bureau Blazor Power n'est que naturel.
Avec .NET 6, .NET MAUI peut fournir l'amorçage parfait pour permettre aux applications Blazor hybrid de s'exécuter sur le bureau via les WebViews modernes—WebView 2 sur Windows et WKWebView sur macOS. Blazor peut être utilisé pour créer des applications multiplates-formes véritablement natives ou hybrides, invitant ainsi les développeurs Web .NET à accéder au bureau. La familiarité du modèle de composant Blazor, le moteur de rendu Razor, le style CSS et l'extensibilité peuvent désormais être appliqués à la création d'applications de bureau, tout en partageant le code avec le Web.
Un avenir brillant
Qu'on le veuille ou non, le bureau est ici pour rester. Les applications de bureau continueront d'alimenter de nombreux flux de travail d'entreprise et les développeurs devront créer des solutions pour les bureaux Windows/MacOS/Linux. La bonne nouvelle est qu'il y a beaucoup de choix quant à la façon dont on arrive au bureau – les technologies de bureau traditionnelles coexistent avec bonheur avec des solutions Web ou multiplateformes, permettant ainsi plus de partage de code. Comme un bon parent, le bureau ne juge pas, venez comme vous le pouvez. Et du bon pain est du bon pain, peu importe comment vous le servez.
Source link