2016-02-25 4 views
18

Ich weiß, dass XAML zum Entwerfen der Benutzeroberfläche in Kombination mit Blend verwendet wird. Ich bin verwirrt mit so vielen Begriffen wie, wie XAML ins Spiel kommt für WPF, Store App, Phone App oder UWA. Was ist der Unterschied zwischen WPF, Store App, Phone App und UWA? Bedeutet dies, dass das alte Desktop-Projekt nicht mehr verwendet und durch WPF oder Store App oder UWA ersetzt wird?XAML vs WPF vs Store App vs Phone App vs UWA

+4

Die Geschichte geht so. WPF verwendete zuerst XAML. Dann kam WINRT, die MSFT in den Weltraum schickte und das, was sie nur XAML für Store-Apps nannten, ausspannte. Einfach google WPF DEAD? Telefon-APPS können auch XAML verwenden, aber es ist eine eigene Plattform wie Silverlight.Um diese Lücken zu schließen, kam UWA vorbei und wer kümmert sich noch mehr darum, weil MSFT alles mit Windows 8 abgespritzt hat und versucht, alles wieder zusammen zu bringen, und das schaffen sie nicht. Übrigens brauchen Sie überhaupt keine Mischung. –

+1

Sie könnten meinen Wiki-Artikel hilfreich finden: [UWP vs. WPF] (https://github.com/jbe2277/waf/wiki/UWP-vs.WPF) – jbe

Antwort

44

Als .NET in 2000 veröffentlicht wurde, konnten Sie mit WinForms Desktop-Anwendungen für Windows erstellen. Es bietet Zugriff auf "native" Steuerelemente (d. H. Eine in WinForms erstellte Schaltfläche ist ein Windows Button-Steuerelement aus user32.dll), indem die Windows-API in verwalteten Code eingeschlossen wird. Diese können in einem beliebigen Version von Windows ausgeführt werden, die die entsprechenden .NET Framework-Version installiert ist, einschließlich bis zu Windows-10

Im Jahr 2006 wurde WPF freigesetzt, die eine Alternative zu WinForms. WPF verwendet XAML, eine auf XML basierende Sprache, um die Elemente der Benutzeroberfläche zu deklarieren. In einer einfachen WPF-App beschreibt die .xaml-Datei die GUI und die Code-Behind-Datei beschreibt die Logik. DirectX wird verwendet, um das in der .xaml beschriebene in das Fenster zu zeichnen. Wie Winforms können mit WPF erstellte Programme in jeder Windows-Version ausgeführt werden, für die die entsprechende .NET-Framework-Version installiert ist, einschließlich bis zu Windows 10. Beachten Sie, dass die Verwendung von XAML vollständig optional ist. Welche Benutzeroberflächenelemente Sie auch mit XAML beschreiben, können Sie auch mit Ihrer .NET-Sprache C# oder VisualBasic.NET erstellen. Aber die Verwendung von XAML ist normalerweise einfacher. Siehe To XAML or not to XAML (MSDN Blogs).

Von XAML (Wikipedia):

als XAML einfach auf XML basiert, Entwickler und Designer sind in der Lage und bearbeiten Inhalte frei und ohne untereinander zu teilen Kompilation zu erfordern.

Von ~ 2012 zusammen mit Windows 8, eine neue Art von App namens Metro/modern/windows-8/windows-Store-Anwendungen vorgenommen werden können. Diese Apps ähneln WPF, da sie XAML zum Beschreiben der GUI verwenden. Diese Anwendungen können nur in Windows 8, 8.1 und Windows 10. Windows 8.1 hinzugefügt einige Verbesserungen und Features laufen blieb aber meist die gleichen. Die gleiche Technologie wurde verwendet, um Apps für Windows Phone zu erstellen.

Mit der Veröffentlichung von Windows 10, machte Microsoft UWP (Universal Windows Platform), über die Sie die gleiche Code-Basis verwenden können, um verschiedene Arten von Geräten (Desktop/Mobile/Xbox/IoT/holographische). Diese für die UWP erstellten Apps ähneln den früheren Windows 8/8.1-Apps. Wie zuvor wird XAML zur Beschreibung der GUI verwendet.

Nur für die Windows Store-Apps gibt es keine rückwärts Kompatibilität. Die Zeitachse wird Windows 8 ->Windows 8.1 -> . Eine App gemacht in UWP kann nur Lauf in Windows 10 und ein in Windows 8.1 gemacht App kann in Windows nicht ausgeführt 8.

+1

Vielen Dank für die Antwort. Das heißt also, wenn ich meine Anwendung in verschiedenen Geräten (PC/Tablet/Phone) für Windows 8.1 ausführen möchte, muss ich mit Universal Projektvorlage von Windows 8.1 gehen. Und für Windows 10 muss ich mit UWP-Projektvorlage gehen, oder? –

+2

Ja, das stimmt. Hinweis: Windows 8.1 ist nicht so universell wie UWP, da es nur die Freigabe von Ressourcen zwischen einem Windows 8.1-Desktop und Windows 8.1 Phone ermöglicht. In UWP wird die gleiche Codebasis für alle Formfaktoren verwendet. –

+2

korrigieren Sie mich, wenn ich falsch liege, aber ich denke, XAML ist in WinRT nicht das gleiche wie in WPF. – mFeinstein

0

Ich würde auf diese Diskussion sehr empfehlen in stopbyte Bezug genommen wird, es weit mehr Details hat und explanation of the concepts behind WPF, UWP And WinRT .

Wie für WinForms glaube ich, dass es jetzt Geschichte ist. Wurde fast durch WPF ersetzt. Ich glaube, Microsoft hat aufgehört, Windows Forms zu entwickeln, und wahrscheinlich hat es auch nicht mehr gewartet.

+0

Winforms ist definitiv nicht "Geschichte". Es hat Mainstream-Unterstützung von vielen Drittanbietern (DevExpress, Syncfusion, Telerik, Infragistics, ComponentOne, Dart, etc.) und immer noch blühenden Foren. Und nichts für ungut, aber Antworten mit nicht-autoritären "Ich glaube" -Faktoiden sind für Leute, die nach Antworten suchen, von geringer Relevanz. – Jazimov