C++/Qt vs Adobe AIR
Habe ich zu wählen, eine Plattform für unser Produkt. Ich habe zu entscheiden zwischen Dem Qt-Framework und Adobe AIR. Ich bin versiert mit Qt als ich gearbeitet habe für die letzten zwei Jahre. Ich schaute auf die Adobe-Website, aber alle Infos zu flex, flash, Fähigkeit zur Programmierung in HTML/ActionScript ist überwältigend und verwirrend. Ich kann nicht verstehen, das folgende über das Adobe-ökosystem.
Habe ich die folgenden Fragen zu Adobe AIR:
-
Welche Sprache verwende ich für die Codierung von meiner Bewerbung? (nicht nur definieren das Aussehen der Benutzeroberfläche)
Wie in Qt benutze ich C++. Es ist Actionscript? -
Können wir sagen, die LUFT ist nur für die Herstellung von UI ' s für apps.
-
Wo ist die doc für die utility-Klassen zusammen mit LUFT?
z.B. http://qt-project.org/doc/ für Qt -
Qt Schiffe mit einer großen Reihe von vorgefertigten widgets, die man nutzen kann. Hat Adobe Schiff mit diesen widget und wenn ja, wo kann ich es sehen, wie in der url?
-
Ich verstehe flex SDK ist open source. Kann ich machen commerical apps und versenden Sie ? Hat flex SDK Schiff alles (compiler, utility classes/widgets)
-
Wie viel LUFT Kosten in Bezug auf die Lizenzierung?
-
Gibt es etwas in der LUFT, dass ist äquivalent zu QGraphicsView von QT?
InformationsquelleAutor der Frage Ankur Gupta | 2008-11-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie Zugriff auf eine Menge von nativen Bibliotheken, die Sie brauchen, um zu bleiben in Ihrem QT-Umgebung. Halten Sie im Verstand, die LUFT ist single-threaded und wird auf dem Flash-Player (etwas, das ursprünglich für frame-basierte Animationen.)
Jedoch, abhängig von der Art der Anwendung Sie erstellen, die LUFT könnte zu Ihnen passen einfach gut.
Vorsicht, die LUFT kann verwirrend sein, weil es gibt ein paar andere Entwickler die Pfade zu erstellen von AIR-Anwendungen: 1) mit html - /javascript-und das AIR-SDK, 2) mit Flash/Actionscript und 3), die mit Flex SDK und/oder den Flex builder. Die Letzte ist am meisten fähig ist, soweit zu kommen-vom traditionellen desktop-hintergrund in der Entwicklung.
Kleine Anwendungen, die Web 2.0 für den Anschluss in web-services sind gute Kandidaten für AIR-Anwendungen. Dinge wie die IM-client Digsby wäre toll. Meine Lieblings-AIR-app, die ich bisher gesehen habe ist Basamiq Prototypen. Weitere nützliche apps sind TweetDeck. Diese sind gute Beispiele für die Arten von Dinge, die sind gut geeignet, um die Lösung mit LUFT.
Besuchen Sie die Adobe Showcase und schauen Sie sich einige Anwendungen: http://www.adobe.com/products/air/showcase/
Auch, wenn Sie nur aus der C++ - Spiel, ich glaube, QT hat einige java-bindings jetzt...auch ich erinnere mich an einige python-bindings, aber nie schaut auf die mich.
Soweit QGraphicsView, die Menschen getan haben, ähnliche Dinge in der Flex. Ich habe versucht, Googeln jetzt aber konnte Sie nicht finden zunächst, aber die Leute genommen haben, die Dinge wie Ein großes Bild, und dann nur angezeigt, eine aktuelle region in das Fenster. Auch in der nächsten version von Flex, Sie sind acutaly Gebäude eine offizielle ViewPort-Komponente:
http://opensource.adobe.com/wiki/display/flexsdk/Gumbo+Viewport
InformationsquelleAutor der Antwort taudep
Gehen, verbringen einige Zeit, mit dieser AIR-Anwendung handelt und dann Fragen Sie sich, ob Adobe Flex und AIR sind, lohnt sich die Investition Ihrer Zeit in mastering (bereit sein, sich zu Fragen, warum etwas vergleichbares nicht existiert, für die gerne von C++/QT):
Tour de Flex
Einige deiner Fragen:
ActionScript3. LUFT zusätzlich
unterstützt HTML/DOM/JavaScript
Programmierung webkit-HTML-render-engine integriert ist
der AIR-Laufzeitumgebung.
kompiliert wird in ActionScript3
imperativem code. Es ist ganz gut,
obwohl, für das deklarative Kodierung der
grafische Formen des UI (D. H., die
Blick auf das MVC-Muster).
gegründet auf JavaScript, aber es hat
wurde embelished auf den Punkt, dass es mehr
ähnelt Java oder C#. Es hat Paket
Namespaces, Klassen und Schnittstellen
mit Vererbung, Klasse
access protection, keywords,
Konstruktoren, statische member, und
einige sehr schöne Ergänzungen über Java:
Eigenschaften, Ereignisse, Datenbindung,
und Verschlüsse.
Flex style-Programmierung ist auch eine single-threaded-Modell, basiert auf der asynchronen I/O-Wechselwirkungen. Dies ist ein einfacheres Modell, um das Programm als multi-threaded Java Swing oder C# .NET Winform apps noch erlaubt, um die gleiche Netto-Ergebnisse des Programms Verhalten. Ich nochmal hier:
Flex Async I/O vs Java und C# Explizites Threading
InformationsquelleAutor der Antwort RogerV
Flex ist open source, können Sie das SDK kostenlos herunterladen, es gibt keine Lizenzkosten verbunden. (siehe Ihre FAQ)
Sie versenden eine "flex builder", die einige benutzerdefinierte Eclipse ich denke, und das kostet Geld, aber man kann perfekt ohne arbeiten.
Den docs finden Sie unter adobe livedoc Seiten. (die zu einigenist Grund genug, in sich selbst nicht zu mögen Adobe ;))
Ich Frage mich, wenn Sie gut sind versiert in QT, warum Sie erwägen, etwas anderes? Welche Vorteile erwarten Sie LUFT, um Ihnen über QT?
Ich habe einige Erfahrung mit QT und Flex, aber nicht annähernd genug, um das Gewicht eines gegenüber dem anderen. Ich weiß QT/C++ ist viel, viel reifer als Flex/ActionScript.
Wenn Sie bereits wissen, QT, ich glaube nicht, dass die Zeit verbringen Sie lernen einen neuen Rahmen (und Programmiersprache) gewinnen Sie genug, um ehrlich zu sein...
InformationsquelleAutor der Antwort Pieter
Habe ich verwendet QT und die Flex (nicht so viel Luft, selbst wenn) und haben festgestellt, dass die Flex ist schneller für immer apps laufen sowie ändern, während QT gibt Ihnen mehr Kontrolle-vor allem in den installer. Die Air-app-installer ist ziemlich umständlich, oder war es zumindest als ich es versucht habe, aber es kann verbessert seitdem.
Der große Vorteil von Luft ist, dass ein Großteil der code dafür ausgeführt werden kann, in Flash innerhalb von web-Seiten. Sie können nicht auf das lokale Dateisystem, etc. aus dem web, aus Sicherheitsgründen aber nur über alles, was sonst noch tragbar ist.
InformationsquelleAutor der Antwort user15899
Machte ich das Gegenteil bewegen. Ich fing mit der Arbeit an Adobe Sachen und zog zu QT. Der Hauptgrund dafür war etwa Adobe framework Einschränkungen. Wenn Sie mithilfe von Adobe-Sachen, Sie sind begrenzt auf die tools, die Sie produzieren, ist es schwer vorzustellen externe frameworks oder Bibliotheken, wenn Sie können nicht tun, was Sie möchten, mit Adobe-Zeug. In der Regel, die Lösung dazu ist die Verwendung von sockets, die verwandelt eine soll "stand-alone" - Anwendung auf einem client-server-Architektur. Darüber hinaus, wenn Sie viele externe Dinge, die es kann schwierig sein, zu verwalten, so viele verschiedene clients.
Mit QT können Sie code in C++, und fügen Sie beliebige externe Frameworks oder lib, die Sie wollen. Obwohl, manchmal kann es nicht einfach sein, diese zu Programmieren, ist machbar und keine "seltsamen" system-Architektur.
InformationsquelleAutor der Antwort dnc
Wenn Ihr auf der Suche für einige Beispiele von "Spaß" UIs mit Qt und SVG, werfen Sie einen Blick auf die KDEGames-Pakets [1][2] und KDEEdu [3][4] Projekte. Es gibt viele schöne code dort verwendet QGraphicsView und SVG erstellt, um skalierbare Schnittstellen. Natürlich beachten Sie, dass es die GPL so vorsichtig sein, was Sie sich "ausleihen" wenn Ihre app nicht.
[1] http://games.kde.org/
[2] http://websvn.kde.org/trunk/KDE/kdegames/
[3] http://edu.kde.org/
[4] http://websvn.kde.org/trunk/KDE/kdeedu/
InformationsquelleAutor der Antwort Parker Coates
Werde ich die zweite @Pieter's Kommentar - wenn Sie bereits wissen, QT, Umzug in eine ganz neue Umgebung ist VIEL mehr.
QT hat den Vorteil, dass cross-Plattform, und sehr ausgereift: es gibt Bibliotheken für Windows, Linux und Mac OS X. ich bin nicht sehr vertraut mit der LUFT über zu wissen, es ist von Adobe, aber die Produkt-Website scheint darauf hinzudeuten, dass es für rich-internet-Anwendungen (http://www.adobe.com/products/air/). Wenn das wahr ist, dann ist QT wäre die weit bessere Wahl sein, wenn Sie die Entwicklung einer desktop-Anwendung.
InformationsquelleAutor der Antwort warren