2009-12-01 11 views
6

Ich interessiere mich für den Einstieg mit CommonJS.Ist es möglich, die CommonJS-Bibliotheken noch zu verwenden?

Da JavaScript-Frameworks immer schneller werden und Parsing-Engines und Compiler JavaScript unglaublich schnell machen, ist es überraschend, dass ein Projekt wie CommonJS nicht früher initiiert wurde.

Welche Schritte sind erforderlich, um ein Testprojekt mit dem, was bisher erstellt wurde, in Betrieb zu nehmen?

Antwort

12

Es hängt wirklich davon ab, was Sie eigentlich tun möchten. Persevere ist beispielsweise eine JSON-Datenbank, die auf Rhino basiert, aber mit CommonJS-Modulen arbeiten kann und um JSGI (die Webserver-Schnittstelle) herum aufgebaut wird.

Narwhal ist eine ziemlich robuste Bibliothek von JavaScript und ist speziell auf die CommonJS-Standard zu verfolgen, wie es sich entwickelt. Narwal läuft standardmäßig über Rhino, aber Sie können JavaScriptCore (und möglicherweise v8) auch als zusätzliche "Engines" installieren. JSC ist sehr schnell.

Es sind verschiedene Web-Frameworks verfügbar (einschließlich Helma NG).

Node.js hat als ein schneller, v8-basierter, ereignisgesteuerter Netzwerkdienste-Stack für JS viel Aufmerksamkeit bekommen. Der Knoten wurde kürzlich geändert, um CommonJS-Module zu verwenden.

SproutCore hat eine Verzweigung ("tiki"), die auf CommonJS-Modulen aufgebaut ist. Ich persönlich benutze das jetzt für Bespin, von denen die Clientseite ganz CommonJS-Module ist. (Ironischerweise befindet sich die Serverseite derzeit in Python, aber wir haben Pläne, auch auf den Server auf CommonJS zu migrieren.)

Die Sache, an die man sich bei CommonJS erinnert, ist, dass es sich um eine API-Spezifikation handelt. Es ist möglich, dass es viele Implementierungen gibt. Bis jetzt ist der einzige Teil der Spezifikation, der weitgehend unterstützt wird, die Module ... der Rest ist noch am Backen, aber kommt gut voran.

CommonJS ist noch nicht auf der Ebene der Interoperabilität von, sagen wir, CPython/Jython/IronPython, aber es hat sicherlich dieses Potenzial weiter.

+0

Helma NG heißt jetzt RingoJS: http://ringojs.org/ –

1

Haben Sie versucht, here zu starten?

Worauf stecken Sie fest?

1

Es ist Gelieren. Du bist früh dran, es sei denn, du lebst am Rande.

Übrigens hat Ihr Wikipedia-Link Links zu den Projekten, die CommonJS verwenden. Du hattest die Antwort, bevor du hier warst.

+0

Ich weiß nicht, ich denke, wenn Sie JS auf dem Server verwenden, leben Sie nicht am Rande, Sie fallen bereits die Klippe hinunter, und bald werden Sie den Boden treffen. –

+0

Node.js ist die Zukunft, @silky. – Nosredna

+0

Neue Modelle sind cool sicher, aber Sprachen, die nicht kompiliert werden, sind nicht, IMHO; Das ist alles, was ich nicht mag. Wie dem auch sei, dies ist ein zu wichtiges Argument, um in einem 500-Buchstaben-Kommentarkasten zu stehen, und hier wird nichts erreicht. Besser zu tun als zu reden: P –

2

Welche Schritte beteiligt sind, mit einem Testprojekt in dem Aufstehen und Laufen, was bisher erstellt wurde?

Ich fand die als den schnellsten Weg, um zum Laufen zu kommen.

0

Ich habe gerade begonnen, Node.js zu Hause zu verwenden. Es funktioniert und scheint großartig. Das einzige Problem, auf das ich bisher gestoßen bin, ist, dass die Windows-Unterstützung etwas entfernt erscheint.

Ich glaube, Rhino arbeitet mit Windows, da es ein Javascript-Interpreter in Java geschrieben ist, aber das bedeutet auch, dass es langsamer als die Javascript-C-Implementierungen wie V8 ist. Ich denke nicht, dass Rhino selbst die CommonJS-Spezifikation implementiert, aber Sie können etwas wie Narwahl darüber laufen lassen - wie von Kevin und Jeff erwähnt.

Ich habe gerade eine schnelle Arbeit gemacht, Rhino, Ant (um Rhino zu bauen) und Narwhal mit Windows laufen zu lassen, aber war nicht erfolgreich.

Ich schlage vor, Node.js auf einer Linux-Box zu versuchen, da das meine Umgebung war und es einwandfrei funktionierte.

Verwandte Themen