4 Stimmen

C# Windows-Desktop-Anwendung

Ich bin mit der Erstellung von Websites in ASP.NET MVC mit C# vertraut. Aber ich habe nie gelernt, wie man Desktop-Anwendungen mit C# erstellt. Deshalb wollte ich mich ein bisschen mehr damit befassen. Das Backend habe ich ziemlich gut im Griff, da ich mich mit ASP.NET auskenne. Aber ich habe keine Ahnung, wenn es um die Front-End-Entwicklung geht. Ich vermute, dass Microsoft verschiedene Ansätze zur Erstellung von Desktop-Anwendungen anbietet (Formulare, MVC, ...) So wie Java verschiedene Pakete anbietet. Aber wenn ich Visual Studio öffne, sehe ich nur die Möglichkeit, eine Windows-Form-Anwendung zu erstellen.

  1. Welche Möglichkeiten gibt es für die Erstellung von Windows Desktop Anwendungen in C# zu erstellen (Windows Forms, mvc?)
  2. Welche gilt als die "beste"/"am weitesten verbreitete"?
  3. Gibt es empfehlenswerte Tutorials, Leitfäden oder kostenlose E-Books?
  4. Jeder andere Ratschlag ist immer willkommen.

6voto

Ashley Davies Punkte 1780

Wenn Sie Visual Studio verwenden, was bei den meisten der Fall ist, haben Sie die Qual der Wahl.

WinForms sind großartig für schnelle Projekte, die keine allzu große Anpassbarkeit des Designs in Dingen wie Rahmen, Hintergründe, aufgrund der Verwendung von Microsofts ziemlich alten Formularen (sie wurden optisch stark überarbeitet und offensichtlich angepasst) haben sie eine Menge Einschränkungen (z. B. keine Polsterung auf Dinge wie Textfelder), aber sie sehen immer noch schön und sind nett, wenn Sie nur eine normale Anwendung mit einer sauberen UI wollen.

Wenn Sie eine dynamische Anwendung wünschen, die einfacher anzupassen und viel anpassbarer ist und außerdem Design und Code mit XAML trennt, sollten Sie sich für WPF entscheiden. Leider müssen Sie eine anständige Menge an Zeit investieren, um XAML fließend zu lernen.

Zusammenfassend lässt sich also sagen: Wenn Sie ein schnelles Projekt wollen, das gut aussieht, und Sie wollen nicht XAML lernen, WinForms Wenn Sie etwas mehr Zeit investieren wollen, um es optisch ansprechender und anpassungsfähiger zu machen (vor allem bei der Programmierung, nicht für den Endbenutzer), dann ist WPF die richtige Wahl.

Ein weiterer Vorteil von WPF ist, dass es, wie gesagt, Design und Code trennt, so dass Sie in Zukunft mit einem Designer zusammenarbeiten können. Es gibt auch hart kodierte WPF, soweit ich weiß, aber die meisten Leute verwenden XAML.

Auch habe ich nie nachgeschlagen, aber ich würde eine gute Vermutung geben, dass es viel einfacher ist, einen Job mit Erfahrung in WPF im Gegensatz zu WinForms in einer professionellen Umgebung aufgrund der Design/Code-Trennung zu bekommen

4voto

Konrad Morawski Punkte 8047

Ich empfehle WPF über WinForms, und dort, MVVM Muster passt am besten.

WPF ist moderner, leistungsfähiger und flexibler als WinForms, das zwar technisch nicht veraltet, aber nicht so vielversprechend ist (ähnlich wie WebForms vielleicht). XAML-Kenntnisse sind sowohl für die Entwicklung von Silverlight- als auch von Metro-Anwendungen nützlich.

Wie für WPF / MVVM Ressourcen - Tonnen davon im Internet. Zum einen, werfen Sie einen Blick auf Prisma-Rahmen

Vergleich der MVC- und MVVM-Muster mit ihren jeweiligen ViewModels - auch eine gute Lektüre.

2voto

deadlyvices Punkte 851

Ich würde das Gegenteil befürworten. WPF hat eine Hölle von viel zu lernen im Vergleich zu WinForms. Auf jeden Fall Fortschritte zu den ehemaligen, wenn Sie die letztere gemeistert haben. Holen Sie sich auch Adam Nathans Buch "Windows Presentation Foundation Unleashed", da dies helfen wird, Ihren Weg zu ebnen.

0voto

Sesama Sesame Punkte 281
  1. Ja, winform, wpf werden verwendet, mvc von ms nicht, es ist ein Muster für die Webanwendungen von ms
  2. Ja, Schleppangeln hilft am meisten
  3. Ja, googeln Sie Tutorials, wie ich es die meiste Zeit mache. Ich lerne asp.net von http://asp.net Website

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X