Was sind die Open-Source-Alternativen zu WPF / XAML?
Wenn wir alles gelernt haben von HTML/CSS ist es, dass, deklarative Sprachen (wie XML) zu tun, einen guten job zu beschreiben, User-Interfaces, weil:
- Es ist leicht zu bauen-code Präprozessoren, kann die Vorlage der code effektiv.
- Der code ist in einem gut definierten und gut strukturierten (idealerweise) - format, so dass es leicht zu analysieren.
- Die Technologie, um effektiv zu analysieren und zu Crawlen, einer XML-basierten Quell-Datei bereits vorhanden ist.
- Die UIs scripted-code wird viel einfacher und leichter zu verstehen.
- Es ist einfach genug, dass Designer sind in der Lage zur Gestaltung der Schnittstelle selbst.
- Programmierer saugen Erstellung von UIs, also sollte es leicht genug für Designer.
Ich habe vor kurzem warf einen Blick auf das Fleisch einer WPF-Anwendung (ie. die XAML -) und es sieht erstaunlich vertraut zu, die deklarative Sprache Stil in HTML verwendet.
Den aktuellen Stand der desktop-UI-Entwicklung ist weitgehend fractionalized, sonst würde es nicht so viel doppelten Aufwand im Bereich graphical user interface design (IE. GTK -, XUL -, Qt, Winforms, WPF, etc.).
Es gibt 45 GUI-Plattformen für Python allein
Was sind einige Open-Source-GUI ' s, dass die Darstellung dieser Merkmale:
- standardisierte
- Plattform-unabhängige
- deklarative markup-Sprache
- sprachneutral
WPF, oder genauer XAML scheint wie ein ziemlich wahrscheinlich Schritt in die richtige Richtung.
Update:
Vielen Dank für die info, keep it comin'. Hier sind die Optionen, die ich gesammelt habe aus den Kommentaren und Antworten.
- Editor: Glade-Interface-Designer
- OS-Plattformen: Alle
- GUI-Plattform: GTK+
- Sprachen: C (libglade), C++, C# (Glade#), Python, Ada, Pike, Perl, PHP, Eiffel, Ruby
- Redaktion: wxGladeXRCedwxDesignerDialogBlocks (non-free)
- OS-Plattformen: Alle
- GUI-Plattform: wxWidgets
- Sprachen: C++, Python (wxPython), Perl (wxPerl), .NET (wx.NET)
XML-basierte Formate, die entweder nicht frei, nicht cross-Plattform oder Sprache bestimmten
- Editor: Jedem einfachen text-editor
- OS-Plattformen: Alle OS mit einem browser, der das unterstützt XUL
- GUI-Plattform: Gecko-Engine?
- Sprachen: C++, Python, Ruby als plugin nicht base Sprachen
Hinweis: ich bin mir nicht sicher, ob XUL Erwähnung verdient in dieser Liste, weil es weniger ein desktop-GUI-Sprache und mehr zu einem make-webapps-laufen-auf-dem-desktop-Sprache. Plus, es erfordert einen browser ausführen. IE, es 's' DHTML für den desktop.'
- Editor: Eclipse über WindowBuilderNetBeans 5.0 (non-free) über Swing-GUI-Builder aka Matisse
- OS-Plattformen: Alle
- GUI-Plattform: Java -
- Sprachen: Java, nur
- Editor: MonoDevelop
- OS-Plattformen: Linux und andere Unix/X11-basierte Betriebssysteme nur
- GUI-Plattformen: GTK+
- Sprachen: .NET
Hinweis: XAML ist nicht eine Reine Open-Source-format, da Microsoft kontrolliert seine Nutzungsbedingungen, darunter das Recht auf änderung der Nutzungsbedingungen zu jeder Zeit. Moonlight kann nicht legal gemacht werden für die Ausführung auf Windows oder Mac. Darüber hinaus die einzige Plattform, die frei von rechtlichen Maßnahmen Novell. Dies sehen für eine vollständige Beschreibung von dem, was ich meine.
XAML ist auch nicht ein ECMA-standard C#, Managed C++, und die CLR.
Update: Die Frage wurde geändert von "gibt es ein Open-source-alternative zu WPF? da die ursprüngliche Frage war falsch, und es gesaugt. Die Richtung dieser Frage die Richtung verändert hat, übereinstimmen, in übereinstimmung mit den neuen Eingang. Meine Entschuldigung an die Leute, die geantwortet haben, bevor Sie es geändert.
InformationsquelleAutor der Frage Evan Plaice | 2010-06-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Qt entwickelt QML, die sieht viel wie XAML-außer im JSON-Format. Es ist verfügbar als Vorschau gebaut mit der aktuellen version, und ist in den snapshots der nächsten version.
Hier ein kleiner Ausschnitt aus http://doc.qt.nokia.com/4.7-snapshot/declarative-ui-components-progressbar.html
InformationsquelleAutor der Antwort Thomas
Im Web ist unter den meisten der Dampf Weg von desktop-apps, wie es ist.
Ich denke, der große Grund ist, dass jeder ist so konzentriert auf das web jetzt. HTML5 ist ein Quantensprung vorwärts in dem, was das web tun können. Mit schnellen JavaScript-Interpreter und-fähigen Browsern, die Notwendigkeit für einen desktop-Programme beginnen zu schwinden über die Zeit. Das ist das Pferd, auf Google zu setzen, und zu einem viel geringeren Ausmaß, bei Apple als gut.
Erstellen etwas gutes hätte radikal unterschiedliche Implementierungen für jedes Betriebssystem, also die Basis-toolkit selbst wäre nicht sehr portabel.
Wenn man darüber nachdenkt, das Web ist die einzige wirklich gemeinsame Substrat haben wir auf die Entwicklung dieser Art von Infrastruktur, die im cross-platform-Weise. WPF ist unglaublich anders aus architektonischer Sicht vs. WinForms/gerade WinAPI code. Die Anpassung etwas ist wie es jedes OS nehmen würde, eine große Menge sehr unterschiedlicher Sanitär für jedes OS, wenn Sie ein Gebet sprechen, dass Sie etwas, das gut durchgeführt. (Nicht, dass web-apps sind sehr schnell, wohlgemerkt, aber Sie sind immer besser).
Sehen und fühlen ist immer auch etwas von einem Problem.
Deren look and feel, die Sie benutzen? Versuchen Sie zur Anpassung der Benutzeroberfläche und das Betriebssystem chrome, so sieht es aus "native", oder tun Sie etwas, das wie Swing haben vor Jahren und die Entwicklung von apps, die Aussehen deutlich von allem unterscheidet, was es gibt? (Pfui, das war ein Zugunglück...) Und wenn Sie wählen, um die Anpassung der Benutzeroberfläche an das jeweilige Betriebssystem, das Aussehen und fühlen, können Sie alle Arten von mess-und design-Fragen.
InformationsquelleAutor der Antwort Dave Markle
Novell eine open-source-Implementierung von Silverlight, mit großer Unterstützung für XAML, rief Moonlight:
http://en.wikipedia.org/wiki/Moonlight_(Laufzeit -)
http://www.mono-project.com/Moonlight
InformationsquelleAutor der Antwort code4life