Building Cross Platform App - Empfehlung

Ich muss eine ziemlich einfache App erstellen, aber sie muss sowohl auf dem PC als auch auf dem Mac funktionieren.

Es muss auch als eigenständige Desktop-App auf einer Disc oder einem USB-Laufwerk weiterverteilt werden können.

Anfangs dachte ich, AIR wäre perfekt dafür (es erfüllt alle API-Anforderungen), aber die Schwierigkeit besteht darin, es verteilbar zu machen, da für die App die AIR-Laufzeit installiert werden muss, damit es ausgeführt werden kann.

Ich bin rübergekommenShu-Spieler Als Option scheint es möglich zu sein, die AIR-Laufzeit mit der App zu packen und eine (stille?) Installation durchzuführen.
Dies scheint jedoch die AGB von Adobe zu brechen (wie hier beschriebenIch bin mir also nicht sicher, ob es legal ist.

Eine andere Option könnte Zink sein, aber ich habe es nicht getestet, daher bin ich mir nicht sicher, wie gut es in die Rechnung passt.

Was würdest du empfehlen oder vorschlagen, wenn ich auschecke?

Jeder Vorschlag sehr geschätzt

BEARBEITEN: Es gibt noch ein paar Diskussionen über Mono-Nutzung (obwohl keine wirkliche Schlussfolgerung):Hier undHier

EDIT2: Titan Könnte auch die Rechnung vielleicht passen, werde es nachprüfen.

Noch Kommentare von irgendjemandem?

EDIT3 (ein Jahr danach): Eigentlich ist es schon fast ein Jahr her, dass ich diese Frage gestellt habe, aber es scheint, dass manche Leute immer noch hin und wieder darauf stoßen und sogar eine Antwort liefern, sogar ein Jahr später.

Dachte, ich würde die Frage ein bisschen aktualisieren. Ich bin nicht dazu gekommen, die Option tcl / tk am Ende auszuprobieren. Zeitliche Einschränkungen und die Ungewissheit der Kompatibilität mit verschiedenen Betriebssystemversionen haben mich dazu veranlasst, diese Option zu verwerfen.

Ich habe Titanium ein bisschen ausprobiert, aber obwohl die ersten Eindrücke in Ordnung waren, treiben sie die mobile Plattform mehr als alles andere voran, und imho, die Desktop-Implementierung leidet ein bisschen unter dieser Unaufmerksamkeit. Es gibt auch einige Berichte über Probleme mit der Visual Studio-Laufzeit auf einigen Betriebssystemen (ich kann mich jetzt jedoch nicht an die Details erinnern).

Am Ende ging ich mitXULRunner. Die beiden wichtigsten Appelle waren:

Firefox scheint auf den meisten Betriebssystemversionen sofort zu funktionieren, daher habe ich nach bestem Wissen angenommen, dass eine XULRunner-App wahrscheinlich mit den meisten Systemen kompatibel ist. Habe mir viele Tests erspart und es hat sich herausgestellt, dass es funktionierttat Läuft wirklich gut auf allen Plattformen, es gab keinen einzigen Bericht darüber, dass die App nicht gestartet werden konnteEs ist Javascript Baby! Die Sprachlernkurve war minimal. Die Hauptsache ist, was die zusätzlichen xpcom-Schnittstellen sind und wie man sie abfragt.

Auf der Unterseite:

Ich dachte, die Fehlerbehebung sei eine manchmal schwierige Aufgabe. Der Venkman-Debugger ist ein bisschen klobig und hat am Ende mehr als alles andere die Konsole benutzt.Die SQLite-Oberfläche ist ein großer Vorteil für eine Desktop-App, aber ich hatte oft Probleme, relevante Fehlerinformationen zu finden, wenn etwas nicht funktionierte - vielleicht habe ich es falsch gemacht.Es dauerte eine Weile, bis herausgefunden wurde, wie die App als eigenständige App für PC und Mac verpackt werden kann. Der letzte Ansatz bestand darin, eine "Shell" -Mac-App und eine Shell-PC-App sowie ein paar "Kompilierungs" -Skripte zu haben, mit denen die Shells kopiert und der benutzerdefinierte Quellcode an der richtigen Stelle hinzugefügt wurden.Ein letztes potenzielles Problem für einige Benutzer: Aufgrund der Art der xulrunner-Apps wird Ihr Quellcode mit der App bereitgestellt. Sie können die Verschleierung verwenden, wenn Sie möchten. Dies ist jedoch zu beachten, wenn Sie Ihr geistiges Eigentum schützen möchten

Alles in allem eine großartige Plattform für eine plattformübergreifende App. Ich kann es nur empfehlen.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage