Frage

Ich dachte, wäre es möglich, eine Cocoa-Anwendung zu erstellen, die im Wesentlichen nur eine eine Schnittstelle mit einer Web-Ansicht? Oder gibt es eine ernsthafte Einschränkung, wenn so etwas wie dies zu tun?

Wenn es „machbar“, würde bedeuten, dass auch, dass Sie für Windows-Anwendungen das gleiche tun könnten?

War es hilfreich?

Lösung

Es ist sicherlich möglich, eine Anwendung zu erstellen, die mit einer Web-Ansicht in ihn nur ein Cocoa-Fenster ist, sicher. Ob das kann sinnvoll eine „Cocoa-Anwendung“ bezeichnet wird, ist fraglich. Offensichtlich Dinge wie das App-Menü würden einige Cocoa Glue Code erfordern, also ja, gibt es Grenzen, wie viel Sie in nur HTML und JS tun könnten.

Sie würden auch sorgfältig darüber nachdenken, wie Sie Lokalisierung (Duplizieren der gesamten HTML und JS Quelle für jede Sprache wird als wünschenswert nicht) behandeln würde, und es gibt viele Interface-Konstrukte, die viel schwieriger sein würde schaffen, als sie Cocoa verwenden würde, und / oder würde nicht heimisch fühlen jemand auf die OS X Look and Feel verwendet. Und Sie werden durch die Verwendung einer interpretierten Sprache einige Performance-Aufgeben, die für Ihre Anwendung kann oder auch nicht wichtig.

Es gibt Anwendungen für OS X, die auf diese Weise gebaut werden, und sie fühlen sich im Allgemeinen wie schlechte Ports; wenn Ihr Ziel ist, etwas zu machen, das fühlt sich an wie eine echte Mac-Anwendung ist, ist es wahrscheinlich kein guter Weg zu gehen.

Andere Tipps

iPhone OS verfügt über fantastische Einrichtungen für die Herstellung von Web-Anwendungen fungieren als Bürger erster Klasse auf dem Gerät. Sie können Ihre Web-Anwendungen Symbol hinzugefügt, um die Sprungbrett wie ein Cocoa App haben, können Sie Daten lokal speichern und viele andere wirklich nette Dinge ... Check out diese Beispiele oder die ADC Dokumentation .

Klar. PandoraBoy ist genau dieses. Es ist eine dünne Hülle um einen bestehenden Flash-App mit Javascript Brücken. Ich habe auf anderen UIs gearbeitet, die programmatisch gesteuert WebViews mit direkter DOM-Manipulation sind sehr nette Effekte zu erhalten (ohne jemals das Gefühl von „Web-App“ zu geben). Sie können die ObjC / Javascript Brücke benutzen lassen Javascript ObjC nennen, und WebKit macht es einfach Javascript von ObjC auszuführen.

verwandt, aber in der entgegengesetzten Richtung, gibt es Cappuccino , die ein Cocoa-ähnlichen Rahmen in Javascript sind.

Ich bin mir nicht klar, was Sie unter „für Windows-Anwendungen das gleiche tun.“

Titanium viel helfen könnte, es ist im Grunde ein Cocoa-Fenster mit WebView (das, was Sie suchen,) , aber (der gute Teil) mit JavaScript-Bindungen zu nativem Sachen wie der Zugriff auf Dateisystem, Menubar, Dock-Symbol (dh. Abzeichen), Ton etc. Außerdem wird es auf dem Mac, Linux, Windows, iPhone und Android laufen!

Ja, es gibt eine ganze Reihe von Anwendungen, die es tun. Ich denke, dass sie in der Regel die HTML-Dateien speichern und verwenden jquery die aktualisierten Daten zu holen. Es hauptsächlich nur gibt den Benutzer eine geringfügig schnelle Erfahrung, da Sie nur Daten abrufen und nicht den Großteil der HTML.

Die Einschränkungen sind vor allem aufgrund der Tatsache, Sie haben keinen Zugang zu allen von dem iPhone-Steuerelemente und Bibliotheken. MapKit, Post, etc.

Natürlich ist es möglich. Es wäre ziemlich große Einschränkungen sein. Eine solche könnte eine App nichts tun, was eine Webseite nicht tun konnte. So zum Beispiel Unterstützung der Standard-systems Handhabung Dokument betriebener würde sein, wenn Sie Cocoa-Code unterstützt geschrieben.

Nicht ganz, was Sie fragen, aber ...

mProjector ist ein OS-Wrapper für Flash. Es ist wie eine erweiterte Version eines Flash-Projektor mit einem System-API geben Sie Mac / Win OS-Funktionen zugreifen zu können.

Dies gibt Ihnen die abiliy Web-Fähigkeiten zu verwenden, um eine Cross-Plattform-Desktop-Anwendung zu bauen. Es ist billiger und besser als die andere Haupt Option, Zink.

Titan Rechnungen selbst als Open-Source-Software, aber die Entwickler sind erforderlich, um ein Konto registrieren und eine Internetverbindung zu proprietärer Server-Software zu halten, um die Nutzung der Plattform zu machen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top