Interface graphique Windows: WPF ou WinRT (2015+)

94

J'essaie d'avoir un aperçu des différentes technologies, à utiliser lors de la création d'interfaces graphiques dans le monde Windows.

Pour le contexte, je suis en train de créer un petit jeu multijoueur sur plateforme 2D. (Juste à des fins d'apprentissage ..)

Mon professeur dit qu'il pense que WPF est la bonne voie à suivre, mais il semble qu'il ne le compare qu'aux Windows Forms.

Ma compréhension est que, ici en 2015, Windows Forms est totalement mort?

Dans ces autres questions de stackover, ils disent que WinRT + XAML est pour la construction d'interface graphique Metro (chose de tuiles Windows 8!), Et il semble que WPF est quelque chose utilisé uniquement pour le bureau dans Windows 7/8 et est proche de Silverlight.

Comment Windows 8 Runtime (WinRT / applications Windows Store / application universelle Windows 10) se compare-t-il à Silverlight et WPF?

  • Le bureau est l'endroit où vivent les anciennes applications (rouge. WFP).
  • La nouvelle classe d'applications, les applications Metro, peut être créée de différentes manières, notamment par VB.NET, C # ou C ++. Ces trois options de langage peuvent utiliser XAML pour créer l'interface utilisateur. L'alternative consiste à utiliser JavaScript / HTML5 / CSS pour le développement de l'interface utilisateur et du code d'application.

Ma vraie question est la suivante: n'y a-t-il pas UN seul bon moyen de créer des interfaces graphiques dans le monde Windows?

Et sinon, quelles technologies faut-il utiliser sur Windows 7, Windows 8 (bureau et métro), Windows Phone, (et Windows 10!), Et même x-box ...

Est-ce à différentes technologies à comparer de cette façon?

À votre avis, quelle est la bonne chose à faire pour investir du temps?

Alf Nielsen
la source
5
"WPF ou WinRT?". Apprenez les deux, WPF pour le bureau, Windows Runtime pour les appareils mobiles. Ces technologies ont de nombreux points communs, comme XAML et un cadre très similaire. Vous pouvez même écrire du code qui prend en charge les deux plates-formes, en tant que bibliothèques de classes portables.
Clemens
2
@Clemens Le dernier bit est un peu trompeur. Les bibliothèques .NET standard doivent être recréées / ciblées pour fonctionner avec les applications WinRT, ce qui peut nécessiter des modifications de code pour certaines classes.
BradleyDotNET
3
Windows Forms n'est pas totalement mort, mais vous ne voulez probablement pas l'utiliser à moins que vous ne le connaissiez déjà.
Casey
2
Votre objectif de "rester à jour dans l'interface graphique de Windows" est plutôt néfaste à mon avis. Il y a peu d'avenir à long terme pour le développeur moyen. MS a changé tant de fois ses outils pour l'interface graphique alors que JavaScript et HTML5 continuaient de gagner du terrain. Si vous vous développez pour vivre, oubliez tout le reste. Quelques exceptions à cela, si vous travaillez pour MS, ou un fournisseur tiers d'interface graphique ou si vous êtes prêt à maintenir l'ancien code.
NoChance
3
Même MFC n'est pas totalement mort, ni Win32 non plus. Mais le MFC pour un jeu est ce qu'un fou choisirait
Lothar

Réponses:

132

Il y en a beaucoup ici, mais voici:

  • Windows Forms (Winforms) est-il mort ? Non, il est toujours activement soutenu. Cela dit, c'est une technologie horrible dans laquelle travailler (au moins une fois que vous connaissez la magie de WPF)
  • Si vous souhaitez créer une application de bureau attrayante et bien conçue (classique, pas Metro), WPF est la réponse en termes purs .NET. Vous pouvez utiliser des API WinRT (telles que leurs classes de socket), mais vous ne pouvez pas les exécuter sur des systèmes d'exploitation antérieurs à Windows 8. L'interface utilisateur est toujours WPF.
  • Les applications WinRT sont destinées au Windows 8 Store (elles sont également disponibles dans le Windows 10 Store). Vous ne pouvez pas utiliser WPF ici, ou WinRT sur le bureau, donc l'endroit où vous déployez détermine ce que vous utilisez. Vous avez raison dans votre compréhension des langues / technologies disponibles.
  • Windows Phone 8 (désormais obsolète) utilise un runtime modifié de WinRT (cela a changé dans Windows 10). Pour Win8 / WP8, vous pouvez utiliser des applications «universelles» pour partager la plupart du code entre une application WinRT standard et une application Windows Phone.
  • Windows 10 utilise la plateforme Windows universelle (UWP) qui est basée sur .NET Core. Le code développé pour Windows 10 peut également être utilisé sur Xbox One, Windows Phone 10 et HoloLens. WPF est toujours pour les applications de bureau «standard».
  • XBox est délicat. XNA a disparu et Microsoft semble s'éloigner du contenu créé par la communauté pour la plate-forme. Cela dit, Unity3D peut se déployer sur XBox, et je pense que le développement DirectX (C ++) standard fonctionne pour cela. Les applications de la plateforme Windows universelle peuvent également être déployées sur la Xbox One, et cela semble être la stratégie de Microsoft à l'avenir.

En ce qui concerne ce sur quoi passer du temps, cela dépend de ce que vous visez :). L'apprentissage de WPF / UWP + XAML vous apportera de nombreux avantages si vous voulez rester "à jour" dans le développement de l'interface graphique .NET, c'est donc ce que je ferais. WPF a le plus de fonctionnalités, donc en commençant par là, il vous suffit de trouver des solutions de contournement pour ce qui manque dans UWP (ou toute autre technologie basée sur XAML).

Si vous faites cela, assurez-vous d'apprendre le modèle MVVM (Model-View-View Model). Cela fonctionne très bien avec les technologies basées sur XAML et vous permet de partager beaucoup de logique entre vos applications WPF et UWP. La même logique peut également être utilisée si vous développez éventuellement des applications Xamarin pour iOS / Android, etc.

Notez que pour un véritable développement de jeu, vous aurez besoin d'un cadre de jeu réel (comme Unity3D ou même XNA). Vous pouvez le faire dans WPF, et c'est un meilleur choix que Winforms, mais aucun n'est vraiment destiné aux jeux.

BradleyDotNET
la source
Merci pour la réponse, j'ai pour mon mini-jeu commencé avec XNA, donc je suis désolé d'apprendre qu'ils vont le supprimer. Mais j'ai hâte de voir ce que Windows 10 nous apportera.
Alf Nielsen
@AlfNielsen Je ne suis pas sûr de la fin du support, mais il semble certainement qu'ils ne le mettront pas à jour de si tôt.
BradleyDotNET
2
On dirait que VS va pour la prise en charge complète de Unity, alors bravo pour avoir prédit celui-là! :)
BK
2
La vitesse de rendu WPF en utilisant des classes WPF comme Visual est horrible pour les jeux ou tout autre chose en temps réel.
Ailier Sendon
2
@WingerSendon Regardez RenderTransform, Viewport3Det autres. Ils sont accélérés par le matériel.
BradleyDotNET
26

C'est un fil assez ancien, mais comme je l'ai rencontré via google (par intérêt), peut-être que quelqu'un d'autre pourrait également atteindre ici. C'est une question qui est posée encore et encore par les nouveaux programmeurs. Je voudrais donc également répondre à quelques points, maintenant que Windows 10 est officiellement publié.

Premièrement, il ne faut plus commencer avec Windows Forms. C'est la technologie la plus mature pour le moment, mais il n'y aura pas de développement supplémentaire de Windows Forms, c'est seulement en phase de maintenance maintenant. WPF est activement développé (dernière lecture). Mais maintenant, les applications Windows Universal (WinRT one) n'ont plus besoin d'être utilisées en plein écran, et peuvent être utilisées en mode fenêtré comme les autres applications de bureau (WPF et WinForms). Cela augmente considérablement leur convivialité sur les ordinateurs autres que les tablettes. Je pense que ce sera également l'avenir des applications de bureau. Bien que les logiciels WPF soient les applications de bureau traditionnelles (sans autorisation, uniquement UAC). Quoi qu'il en soit, peu importe que vous appreniez le développement WPF ou WinRT (en utilisant .Net), vous finirez par apprendre les deux. Ils sont tous les deux XAML + C # (ou un autre langage .Net). J'étais en train d'apprendre WPF lorsque WinRT est sorti avec Windows 8. Je me suis senti comme chez moi, seulement quelques changements mineurs auxquels vous vous habituerez très bientôt. Pas sûr du scénario MVVM (liaison de données) dans WinRT. J'apprends toujours cet aspect de WPF moi-même.

La fenêtre 10 vient de se lancer. Windows 8 / 8.1 n'a pas connu autant de succès que Windows 7. Donc, si vous souhaitez créer une application qui a un public plus large, vous devriez opter pour WPF pour le moment. Mais dans un proche avenir, WinRT sera la voie à suivre.

Pour votre question, «quelles technologies faut-il utiliser sur Windows 7 , Windows 8 (bureau et métro), Windows Phone, (et Windows 10!), Et même x-box.», La seule réponse est Windows Universal Apps. C'est la raison exacte pour laquelle ce cadre a été développé. Une technologie à utiliser pour développer des applications pour tous les appareils. Ordinateur de bureau, tablette, téléphones (y compris Android utilisant Xamarin fourni avec Visual Studio 2015), Xbox et IoT (Internet des objets).

Prateek Jain
la source
19
Les applications universelles ne semblent pas fonctionner sous Windows7 ou Windows8. Les "applications universelles" ne sont "universelles" que pour les appareils Win10.
Dragontamer5788
Xamarin est toujours son propre truc (pas d'applications universelles) et je ne suis pas sûr qu'ils puissent se déployer sur Xbox non plus.
BradleyDotNET
2
@PrateekJain: NON sur l'exécution d'applications UWP sur Windows 8: stackoverflow.com/a/30317960/199364
ToolmakerSteve
6
WinForms est toujours idéal pour les interfaces graphiques rapides et sales - WPF est bien, mais nécessite beaucoup de code standard (et une courbe d'apprentissage abrupte) pour être utilisé "correctement", même sans MVVM. Il suce que WPF ne possède pas de véritables capacités de RAD - et que XAML est tellement danged bavard .
Dai
1
Pour tous les appareils de mon cul. C'est Microsoft parle à nouveau à son meilleur. Tout comme autrefois, quand ils l'appelaient multiplateforme, car il fonctionnait sous Windows95 et Windows2000. L'autre chose est que je ne veux jamais que les applications de bureau aient les mêmes tailles de boutons et en particulier les arbres et les listes que je dois utiliser pour le toucher. Therefore no UWP for me
Lothar
23

Je vais essayer de répondre à une seule de vos questions:

Windows Forms est-il totalement mort?

Non, la technologie des formulaires Windows n'est pas morte. Je vais vous dire pourquoi. WPF et XAML sont des technologies très complètes et complexes et vous pouvez créer une très belle interface utilisateur. Mais! Cette technologie nécessite une connaissance approfondie. Pour les mises en page de base, vous n'avez pas besoin de beaucoup de connaissances, mais pour certaines mises en page avancées, vous devez avoir des connaissances approfondies et lorsque j'ai commencé avec cette technologie et passé beaucoup de temps à rechercher des conseils sur Google. Ainsi, lorsque j'ai besoin de formulaires simples pour la saisie de l'utilisateur, je choisis toujours la technologie Windows Forms qui est très simple et directe. C'est aussi la raison pour laquelle cette technologie a eu beaucoup de succès lorsqu'elle est venue au monde. Lorsque vous commencez avec WPF, vous devez également savoir ce qu'est le modèle de conception MVVM et certains programmeurs non expérimentés sont confondus avec cela.

Tomáš Opis
la source
3
C'est ma réponse préférée. Pour les petites applications, j'utilise Windows Forms car il est si rapide et facile à démarrer. Pour le code de production complexe, j'utilise entièrement C ++ (avec WTL) et .NET side-step.
Robinson
8
Pour les lecteurs qui ne sont pas familiers avec WPF, quelques précisions - pour les mises en page d'application de base, WPF nécessite plus ou moins le même effort à faire. Le modèle d'application VS WPF par défaut fournit le même point de départ que WinForms. MVVM n'est pas du tout obligatoire pour travailler avec WPF, mais l'utilisation de la liaison sans aucun framework MVVM est également facile pour les applications simples. WPF est plus proche technologiquement de WinRT et UWP, alors, pour votre propre bien, supposez que Windows Forms est mort pour autre chose que la maintenance des applications héritées.
trop
3
Winforms est idéal pour créer une nouvelle application «console». Par exemple, un contrôle d'onglet extrêmement basique avec un tas de boutons et une entrée utilisateur qui met efficacement un skin sur ce qui serait normalement une application console.
lance
16

Nous sommes maintenant en avril 2016 et il n'y a toujours pas de réponse claire à cela. Nous développons une application de bureau de surveillance des performances en temps réel très moderne qui doit rendre plusieurs graphiques et affichages, mélangés avec du texte et divers autres graphiques. Notre application est C #, WPF avec .NET Framework 4.5.2, mais nous écrivons toujours certains composants à l'aide de WinForms et GDI + pour obtenir des performances acceptables. Nous ne l'avons tout simplement pas atteint avec WPF. Nous avons même développé quelques écrans dans l'application avec DirectX, mais cela ajoute beaucoup de complexité que seuls quelques membres de l'équipe peuvent prendre en charge. La simplicité et la vitesse pure que nous pouvons obtenir en hébergeant un écran WinForms dans WPF et la vitesse de GDI + nous donnent ce dont nous avons besoin au coût de la structure pure View / ViewModel, ainsi que de faire face à divers problèmes d'espace aérien. Notre application est assez spécialisée et j'aimerais bien me débarrasser de WinForms, mais malheureusement, ce n'est pas encore possible dans notre cas. Pour des performances pures, vous devrez utiliser DirectX ou WinForms.

Gareth
la source
1
Je vais vous dire que certaines choses sont plus performantes dans WinForms. Il y a d'autres choses (animations en particulier) pour lesquelles l'inverse est vrai. Certes, aller directement à DirectX serait probablement encore mieux, mais personne ne veut faire cela comme vous l'avez souligné.
BradleyDotNET
1
Après WinRT, j'ai décidé de commencer à chercher ailleurs. Mes clients et moi ne pouvons pas trop compter sur ce que veut Microsoft, car cela affecte mes résultats et ceux de mes clients. Je regarde maintenant une application auto-hébergée qui utilise un serveur Web local pour servir les pages d'application localement au navigateur de l'utilisateur ou au contrôle de navigateur intégré dans une application WinForm / WPF. Cela simplifie le développement, me rapproche de la compatibilité multiplateforme et réduit évidemment les coûts.
TheLegendaryCopyCoder
6

Mes deux cents ... si vous voulez de véritables applications universelles, c'est-à-dire des programmes qui peuvent fonctionner sur TOUT système d'exploitation de bureau, y compris Windows, WinForms est toujours la voie à suivre. Assurez-vous simplement de rester compatible avec CLR et vous pouvez déployer sur Mac et Linux via Mono. Un énorme avantage. XAML peut être cool, mais il ne sera pas porté sur d'autres systèmes d'exploitation.

Personnellement, je trouve terrifiant le modèle d'entreprise UWP en bac à sable (à sable mouvant?); il s'oppose à l'ouverture que Windows défend depuis le tout début.

Jeroen S
la source
4

Je travaille avec les technologies Microsoft depuis plus de 10 ans. La chose la plus importante que j'ai apprise n'est pas seulement d'écouter ce que Microsoft vous propose. Lorsque Microsoft dit c'est l'avenir, il a 50% de chances de se tromper. Microsoft fera certainement de son mieux pour promouvoir les produits sur lesquels ils ont investi, mais cela ne signifie pas que vous devriez suivre. Découvrez ce qu'il advient de WCF et de Silverlight.

Bien que WPF soit une plate-forme très intéressante pour apprendre, elle a une énorme courbe d'apprentissage. Je ne pense pas qu'un développeur avec moins de 5 ans d'expérience en programmation puisse bien faire WPF.

En suivant le modèle MVVM, vous constaterez que faire quelque chose de relativement facile dans WinForm peut devenir très difficile dans WPF. Comme colorer une cellule en fonction d'une condition après une mise à jour, ou faire défiler une ligne dans la vue et la mettre en surbrillance.

Bien sûr, vous pouvez dire que vous n'avez pas à faire MVVM. Mettez simplement votre code dans le code et faites-le fonctionner. Oui, cela fonctionnera, mais quel est l'intérêt d'utiliser WPF? Pourquoi ne pas simplement utiliser Win Form?

Jason Ching
la source
1
Je conviendrai que WPF a une courbe d'apprentissage intense, mais une fois que vous avez dépassé cela, il n'y a tout simplement pas de retour à WinForms ... jamais.
Krythic
4

Il s'agit d'un ancien thread mais important avec la progression actuelle du framework .NET, les fonctionnalités c # et une concentration accrue sur c # comme choix de développement de jeu.

WPF n'est presque jamais choisi comme plate-forme de jeu ac # en toute honnêteté. Les problèmes d'espace aérien WPF ont effrayé les gens assez rapidement. Je ne pense pas que beaucoup de titres majeurs (le cas échéant) ou de moteurs de jeux principaux prennent en charge WPF en tant que plate-forme cible pour cette raison. WPF est cependant une excellente plate-forme pour les lanceurs de jeux!

WinForms, alors qu'il est maintenant en mode maintenance, sera toujours un choix valable pour les années à venir. C'est éprouvé et stable. D'après ce que j'ai vu, même en 2017, WinForms est toujours la plate-forme la plus couramment choisie pour le développement de jeux basés sur c #.

En regardant les données de Steam Hardware Survey, vous pouvez voir qu'au moment de la rédaction de cette réponse (juillet 2017), Windows 10 64 bits est maintenant la plate-forme de jeu dominante sur PC avec 50% de part de marché, suivi de Windows 7 64 bits à 32% et Windows 8.1 64 bits à près de 7%. La part de marché de toutes les autres plates-formes OS est si petite qu'il vaut à peine la peine d'envisager autre chose que ces trois.

Étant donné l'état actuel du jeu sur PC, WinForms est le dénominateur le plus courant pour cibler les 3 principales plates-formes PC. En ce qui concerne l'avenir, UWP sera la meilleure plate-forme cible pour le développement de jeux c #, car Windows 7 et 8 perdent une part de marché significative au profit de Windows 10, à moins qu'une nouvelle plate-forme ne la remplace. C'est donc juste en chiffres.

Si vous choisissez en fonction du meilleur niveau de compatibilité par plate-forme de système d'exploitation au lieu de prendre en charge une part de marché maximale, les choix seraient plutôt les suivants:

  • Windows 10: UWP
  • Windows 8.1: WinRT ou Windows Store
  • Windows 7: WinForms

La plupart des autres réponses concernent le développement d'applications Windows standard, mais le développement de jeux est un domaine très différent et différents facteurs influenceront vos choix, tels que le système d'exploitation cible et ce que votre choix d'API graphique ou de moteur de jeu prend en charge le mieux.

Mike Johnson
la source
Bien qu'avoir un point de vue sur gamedev soit intéressant, je ne comprends pas pourquoi vous choisiriez un framework GUI pour gamedev où vous avez un moteur de jeu complet pour C # comme Unity. Seuls quelques jeux que j'ai vus avec une interface graphique classique étaient destinés à l'édition de données de jeu (comme la modification de la carte / des actifs)
Uwy
2
Pour la même raison, ils choisissent un moteur de jeu: c'est un peu de travail pour créer et gérer efficacement une fenêtre native à partir de code géré par vous-même.
Mike Johnson
3

WinRT est sur le bureau depuis longtemps, j'écris WinRT, qui fonctionne sur mon bureau. Et sous Windows 10, ces applications prendront en charge les emplacements non ancrés (fenêtrés comme vous les connaissez peut-être traditionnellement).

Je ne recommanderais WinForms ou WPF à personne qui commence aujourd'hui. Ils devraient apprendre WinRT / XAML principalement. Et apprenez un peu de Win32 / .net selon leurs besoins, en fonction de la langue de leur choix.

"Ils disent que WinRT + XAML est destiné à la construction de l'interface graphique Metro (chose de Window 8 tiles!)" - C'est une telle sur-abstraction, que c'est inutile. WinRT est un runtime, comme Win32, ce n'est pas seulement pour l'interface graphique, donc ce "qu'ils disent" est BS complet. XAML est une couche d'interface utilisateur (un peu comme XAML dans WPF) mais dire que c'est l'interface graphique Metro est également une erreur, il n'y a plus d'interface graphique Metro. XAML est la couche d'interface utilisateur Windows. Et "chose de tuiles Windows 8!" exprime la vision tunnel de certains peuples. Ce serait comme moi de dire que Win32 est une chose du menu Démarrer. Vous pouvez voir à quel point cette déclaration est ridicule.

Gavin Williams
la source
8
Pour clarifier ma déclaration originale, WinRT ne peut pas être utilisé pour créer une application de bureau "traditionnelle". Pour cette raison, entre autres, il y a des tonnes de raisons d'apprendre WPF (WinForms, pas tellement). Si rien d'autre, vous aurez effectivement appris WinRT en même temps (comme je le note dans ma réponse). De plus, nous sommes loin d'être au point où les applications WinRT dominent le marché (en particulier les applications de secteur d'activité). WPF est toujours extrêmement précieux.
BradleyDotNET
7
Si WinRT n'est pas lié à la création d'applications plein écran, pourriez-vous me dire comment vous pouvez l'utiliser pour créer une application fenêtrée qui s'exécute sur n'importe quelle version réellement publiée de Windows? Ou comment l'utiliser pour écrire une application qui fonctionne sur plus de 10% des ordinateurs Windows (c'est-à-dire Windows 7 et XP)? Je suppose que la plupart des développeurs veulent pouvoir cibler plus de 10% des utilisateurs de Windows. Jusqu'à ce que Windows 8 ou 10 obtienne une part de marché sérieuse, WPF sera toujours nécessaire pour de nombreuses applications. WinRT peut être une couche d'exécution, mais cela ne change pas le fait qu'il ne peut pas accéder à beaucoup de choses (complètes) que Win32 peut.
John Colanduoni
1
@JohnColanduoni comme il l'a dit, pour tous ceux qui commencent aujourd'hui (mars 14) WinRT est la voie à suivre, win10 était et est gratuit en tant que mise à jour pendant quelques mois maintenant, et le sera pour quelques mois de plus, alors oui, win10 s'empare d'un énorme part de marché. oui tout le monde n'est pas passé à win10, mais aussi il y a quelques jours, nous avons découvert qu'un aéroport en France utilise toujours win3.1
John Demetriou
3
@GavinWilliams D'accord, où sont vos statistiques qui placent Windows 10 à une part de marché appréciable dans n'importe quel segment de marché? Êtes-vous en train de dire que les mods ont supprimé votre commentaire avec un lien vers votre source, mais ils vous ont laissé mettre celui-ci en place? Je n'achète pas ça. Je conviens que XP ne vaut pas la peine d'être pris en charge, mais les applications universelles Windows 10 ne prennent même pas en charge Windows 8.1, sans parler de Windows 7. L'adoption n'est nulle part où elle doit être pour justifier Windows Universal, et elle ralentit .
John Colanduoni
3
@GavinWilliams D'accord, ignorons que 30% est beaucoup moins de 97% (le support que vous obtiendriez si vous utilisiez WPF), et que ces données ne sont utiles que pour les programmeurs de jeux vidéo. Pour les jeux vidéo, il est assez facile de cibler les deux; à moins que vous ne fassiez quelque chose de vraiment trivial, vous voudrez utiliser DirectX / OpenGL, ce qui signifie que vous avez juste besoin de l'héberger dans une fenêtre / plein écran. Si vous ne voulez pas les utiliser, vous allez vraiment vouloir WPF car l'interface utilisateur de WinRT ne permet pas le dessin en mode immédiat sans DirectX / OpenGL hébergé (comme le fait WPF). Alors, qu'en est-il de WinRT justifie une réduction de 70% de la taille du marché?
John Colanduoni
1

J'ai rencontré cette question il y a un an. Je suis arrivé à la conclusion que XAML, WPF ou WinRT sont le bon environnement de développement pour commencer.

Je recommande vivement d'utiliser .Net Framework pour la couche de données (y compris les services Web et la couche RESTful (JSON)) et HTML5 / CSS3 et Javascript purs pour votre couche de présentation Web.

Dans Windows 10, vous pouvez intégrer n'importe quelle application Web en tant qu'application Metro dès la sortie de la boîte.

WinRT, XAML, WPF et des trucs similaires ms ne fonctionnent que sur Windows et ont beaucoup de limitations.

Donc, après un an, je suis toujours très heureux de ma décision de ne pas utiliser WinRT ou XAML pour mon nouveau projet.

Khamis
la source
3
Qu'est-ce que tu racontes? Oui, c'est un excellent choix si vous souhaitez créer une application Web. Si vous souhaitez créer une application de bureau, ce n'est pas le cas. Vous pouvez utiliser Katana et avoir WebApi hébergé localement et créer une application de bureau, ce qui, je suppose, rendrait cette réponse plus pertinente.
Casey
1
OP a posé des questions sur l'interface graphique Windows et WPF ou Winrt - pas sur les applications Web.
ezaspi
6
De plus, je trouve personnellement ces technologies beaucoup plus difficiles à utiliser (système de mise en page incompréhensible, pas de vérification du code à la compilation, etc.) Le bureau n'est pas encore mort :)
BradleyDotNET
1
Je suis d'accord, le HTML est l'interface utilisateur universelle et devrait l'être également pour le bureau. Je pense que nous devons simplifier tous ces différents cadres et cesser d’en introduire de plus en plus. La plupart ne sont pas nécessaires. Apprenez simplement HTML et ASP, puis hébergez votre site Web dans une application WinForm. L'application WinForm contient votre serveur Web et le contrôle de votre navigateur Web. Le résultat est que vous gagnez du temps, vous vous concentrez sur la maîtrise d'une langue et d'une technologie, vous développez plus rapidement, vous économisez de l'argent à vos clients, vos applications sont à l'épreuve du temps et beaucoup plus portables.
TheLegendaryCopyCoder