2013-06-05 8 views
6

Ich möchte eine Anwendung in JavsScript schreiben, die nativ auf OS X läuft. Es wäre ein Bonus, wenn es auch für Windows-Apps verwendet werden könnte, aber ich bin in erster Linie am OS X/Cocoa zunächst interessiert.Native OS X-Anwendungen in JS?

Ich hatte die Möglichkeit, die gesamte Geschäftslogik in JS und dann die primären UI-Komponenten mit Cocoa bzw. .NET zu schreiben, aber ich dachte, es wäre schön, wenn da schon etwas wäre ermöglichen einen solchen Workflow, ohne dass einige verschiedene Codebasen unterstützt werden müssen.

Nachdem ich dies ein wenig erforscht hatte, war ich offensichtlich überwältigt von den Lösungen, die für die iOS-Entwicklung existieren, aber bisher habe ich nichts gefunden, was wirklich auch auf OS X funktioniert. Gibt es Lösungen, die ich sein könnte übersehend? Wenn nicht, was wäre der empfohlene Weg, um die meisten Geschäftslogiken in einer JavaScript-App zu erstellen und mit den nativen UI-Komponenten zu verknüpfen?

+0

Ich denke, Sie könnten eine einfache App, die nur ein Vollbild-Webbrowser ohne eine Adressleiste oder etwas ist, dann laden Sie die HTML und CSS und JS in Ihrer App dann automatisch den Webbrowser auf die Haupt-HTML-Seite auf startup – Doorknob

+0

crx web apps für chrome, manifeste für firefox und adobe AIR sind plattformübergreifende dev-umgebungen mit JS, die auf mac und pc funktionieren. – dandavis

Antwort

5

Dies wird ein heißes Thema. Ich schlage vor, Sie lesen this article über eine JavaScript-Objective-C-Brücke für OS 10.9. Schauen Sie sich auch dieses code sample from Apple an, in dem der Anwendungscontroller einfach für die Kommunikation zwischen Objekten zuständig ist und JavaScript wirklich alles antreibt. Die Probe wird genannt JavaScriptCoreHeadstart und Apple beschreibt es wie folgt:

Javascript ist ein neues System Rahmen verfügbar in Mac OS X 10.5, die Anwendungen JavaScripts ausgeführt werden können. Dieses Beispiel zeigt eine Möglichkeit zur Verwendung von JavaScriptCore zum Bereitstellen benutzerkonfigurierbarer Funktionen in einer Cocoa-Anwendung. Hier sind eine Reihe von JavaScript-Objekten definiert, die verschiedene Teile der Anwendung darstellen und der Controller der Anwendung ist wirklich nur eine dünne Schale, die JavaScripts aufruft, die entscheiden, wie die Anwendung als Reaktion auf Interface Builder-Aktion Methodenaufrufe und WebKit-Delegate funktioniert Rückrufe. Die JavaScripts selbst steuern die Anwendung über die Objekte, die verschiedene Teile der Anwendung darstellen.

2

Es gibt NodObjC, die Ihnen erlauben sollten, Cocoa-Anwendungen für NodeJS zu schreiben.

+0

Es ist großartig, dass dieses Projekt existiert. Meine 2c gibt an, dass die API etwas zu "brückenartig" ist, was bedeutet, dass die API nicht sehr JavaScript-isch ist, die mehr in einer Funktion-Versand-Anordnung agiert. – cmroanirgo