2010-07-16 11 views
5

Ich möchte einige Apps für die JVM in einer prägnanten, dynamischen Sprache entwickeln. Die beliebtesten Optionen hierfür scheinen Jython, JRuby, Groovy und vielleicht Clojure zu sein.Warum nicht Rhino für JVM-Apps?

Rhino scheint schnell und sehr stabil zu sein, aber ich sehe keine Bücher über Rhino Entwicklung und wenig Diskussion. Warum wird JavaScript offensichtlich nur für eingebettete Skripts verwendet?

Edit: Ich fand this Frage informativ auf die Lebensfähigkeit der Rhino-basierte Entwicklung.

Antwort

5

Ich habe Rhino als Teil eines production-grade VoiceXML-Interpreter in Java geschrieben und auf der JVM ausgeführt. Es funktioniert sehr gut für diesen Zweck. Wenn ich diesen Interpreter von Grund auf neu implementieren würde, hätte ich mich mehr mit JavaScript beschäftigt. Es ist also definitiv eine Option. Sie müssen untersuchen, wie ausgereift die umgebenden Bibliotheken für Ihr Anwendungsgebiet sind (Sie können immer Logik schreiben, die von JavaScript zu Java-Bibliotheken aufruft, aber das könnte zu mühsam sein).

Aber ich stimme auch mit @Peter Recore überein: Geben Sie den anderen JVM-Sprachen einen zweiten Blick. Ich bin beeindruckt von der objekt-funktionalen Scala-Sprache: Ihre Leistung ist fast so gut wie Java und sie hat eine große Ausdruckskraft.

Update: Gute Bücher zum Lesen auf JavaScript sind: JavaScript: The Definitive Guide und JavaScript: The Good Parts. Das einzige Rhino-spezifische Material, das Sie benötigen, ist .

3

Ich habe Rhino nie benutzt, so kann ich nicht aus technischen Gründen bietet, sondern als generischen Programmierer, kann ich eine Pop-Psychologie Theorie darbringen:

Für die meisten sein Leben, javascript streng eine Client-Seite wurde Sprache, zumindest in den Köpfen der Menschen. Noch schlimmer, es schien wie ein beschissener, weil es immer Probleme auf Webseiten mit Javascript gab. Diese Probleme waren nicht unbedingt die Schuld der Sprache, sondern vielmehr, wie die Browser sie implementierten, wie sie das dom organisierten und was wir durch Javascript erreichen konnten. Aber in unseren Köpfen begannen wir zu denken "Javascript hat Probleme" oder auch nur "Javascript ist begrenzt in dem was es tun kann".

Also trotz all der hohen Magie, die einige Leute damit anfangen können, denken viele von uns an Javascript als eine Spielzeugsprache, von unseren frühen Erinnerungen an das Web, wo es nur ein Bildwechsel beim Mausüberschlag machen konnte .

Schließlich, damit eine Sprache populär wird (vor allem, wenn es einem großen Firmensponsor fehlt), muss sie einen greifbaren Vorteil gegenüber den bestehenden haben. Es gibt bereits viele serverseitige Sprachen, Frameworks und Laufzeiten, die um die Aufmerksamkeit der Leute konkurrieren. Was ist das Besondere an JavaScript, dass Leute ihre Investitionen in Technologie X wegwerfen sollten, die sie bereits benutzen? (das ist keine Ausgrabung bei js, nur Denkanstoß)

+0

auch, haben Sie scala in Betracht gezogen? Es ist im engeren Sinne nicht dynamisch, bietet aber trotzdem die meisten Vorteile einer dynamischen Sprache. –

+0

Ich mag Prototyping mit Lua. JavaScript-Semantik ist nah genug, um mir warme Fuzzies zu geben. – user287424