8 Stimmen

Warum sollte ich serverseitiges JavaScript verwenden?

Ich bin verwirrt, lese ich regelmäßig sprechen von Server-seitigen JS, warum sollte ich wollen, dass zu verwenden? Es scheint, wie es Weg langsamer als so ziemlich jede andere Sprache ausführen würde, es fehlt auch viele Konventionen, die anspruchsvollere Sprachen haben.

Ist es möglich, ganze Objekte vom Client an den Server zu übergeben, sie zu manipulieren und wieder zurückzugeben?

Es fällt mir nur schwer, die Konzepte zu verstehen.

9voto

Michael Borgwardt Punkte 334642

warum sollte ich das benutzen?

Es reduziert die Anzahl der Sprachen, die Ihre Projekte verwenden. Für eine moderne Webanwendung brauchen Sie ohnehin Entwickler mit JavaScript-Kenntnissen, und wenn Sie nur JavaScript-Kenntnisse haben Sie einen größeren Arbeitskräftepool zur Auswahl, als wenn Sie JavaScript+Java oder JavaScript+C# oder JavaScript+irgendwas benötigen.

Es scheint so, als würde es viel langsamer ausgeführt werden als so ziemlich jede andere Sprache,

Können Sie uns jede Grund, warum Sie das glauben? Sicherlich ist dies eine Frage der VM-Implementierung und daher nicht etwas, über das man endgültige Aussagen machen kann. Außerdem ist es fast eine Binsenweisheit, dass Webapps in der Regel eher beim DB-Zugriff als bei der CPU einen Engpass haben.

Außerdem fehlen ihr viele Konventionen, die in anspruchsvolleren Sprachen üblich sind.

Ähm... Nein? Heutzutage ist JavaScript (oder besser gesagt ECMAScript) eine eigene, recht anspruchsvolle Sprache. Sie hat Ausnahmen, Schließungen, assoziative Arrays... wirklich alles, was man braucht.

Ist es möglich, ganze Objekte vom Client an den Server zu übergeben, sie zu manipulieren und wieder zurückzugeben?

Nicht die Objekte als solche, da das zugrundeliegende Protokoll immer noch HTTP ist, aber die Verwendung von JSON ist wirklich fast dasselbe.

9voto

Annie Punkte 6613

Ja, Sie können ganze Objekte vom Client an den Server übergeben, sie manipulieren und zurückgeben, indem Sie JSON verwenden. Sie können auch Code zwischen dem Client und dem Server austauschen.

8voto

TheHippo Punkte 58289
  • Ich denke, man kann nichts über die Geschwindigkeit von JavaScript sagen, ohne zu wissen, wo es läuft. Ich denke, ein V8 könnte eine Skriptsprache wie Ruby oder Python schlagen.
  • Meiner Meinung nach ist JavaScript eine viel klarere Sprache als zum Beispiel PHP oder Perl. Aber das ist nur meine persönliche Meinung.

Warum also nicht?

Interessante Links: v8cgi , node.js , wxJavaScript und nicht zuletzt CouchDB (ein JavaScript-gestützter Datenbankserver)

3voto

nemisj Punkte 10476

Wenn Sie die Sprache kennen und mit ihr auf einem wirklich hohen Niveau arbeiten können, warum sollten Sie dann zu einer anderen Sprache wechseln? Im Moment gibt es ein wirklich schönes und schnelles serverseitiges JS, das sich nodejs . Meiner Meinung nach Nodejs beweist, dass Server-seitige JS ist nicht Fare-Märchen, sondern Realität.

2voto

mvalente Punkte 23

Ich bin verwirrt, ich lese regelmäßig Server-seitigen JS, warum sollte ich wollen das verwenden?

So können Sie alle Ihre Anwendungen in einer einzigen Sprache schreiben. Damit Sie Objekte zwischen Server und Client austauschen können, ohne eine Serialisierung/Konvertierung/etc. durchführen zu müssen. Damit Sie Code einmalig schreiben können (z. B. Feldvalidierung)

I langsamer als so ziemlich jede andere Sprache,

Das stimmt nicht. Die Wahrnehmung der JS langsam ist aufgrund der Client-Seite verwendet werden. Engine-Implementierungen waren ziemlich langsam und es gab auch die DOM-Probleme. Es hat sich gezeigt[1], dass JS in der Leistung an C heranreicht. Und das war letztes Jahr. Es hat weitere Leistungsverbesserungen gegeben. Sehen Sie sich auch die [Benchmarks von Node.js-Webservern im Vergleich zu anderen[2] an.

Außerdem fehlen ihr viele Konventionen, die in anspruchsvolleren Sprachen üblich sind.

Sie meinen Dinge wie [Closures, Generatoren, Map/Rece[3], [Funktionen höherer Ordnung, dynamische Typisierung und ein prototypbasiertes OO-Paradigma, das flexibler ist als klassenbasiertes OO[4]?

Ist es möglich, ganze Objekte zu übergeben vom Client an den Server zu übergeben, manipulieren und wieder zurückgeben?

Es[5] ist[6].

-- MV

1: shaver.off.net/tagebuch/2008/08/22/die-geburt-eines-schnellen-affen/ 2: four.livejournal.com/1019177.html 3: ejohn.org/blog/javascript-18-progress/ 4: www.ibm.com/developerworks/java/library/j-cb12196/index.html 5: www.jaxer.org/ 6: juicejs.org/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X