Entwicklung eines einheitlichen Web-Anwendung erfordert in der Regel zwei oder mehr verschiedene Programmiersprachen. Zum Beispiel könnte eine typische Web-Anwendung PHP-Skript auf einem Apache Web -Server und JavaScript auf den PC eines Benutzers ausführen . Das macht die Software-Entwicklung und Debugging- Prozesse immer komplexer und fehleranfälliger . Während einige Unternehmen in den letzten Versionen von JavaScript entwickelt haben , um auf einem Webserver ausgeführt werden , es war die Veröffentlichung von Googles " V8 " JavaScript -Engine, die Interesse an einem Server-Side JavaScript-Version erneuert hat . Node.js enthält "V8 " und bietet nicht nur einen gemeinsamen Client - und Server-Side- Sprache, sondern liefert auch deutliche Verbesserungen in der Geschwindigkeit über aktuelle Client-seitige Sprachen läuft auf Apache . Client-seitiges Scripting
JavaScript ist überwiegend eine clientseitige Skriptsprache , weil es seinen Code auf dem Client ausgeführt wird , oder Benutzer , Computer. Das gesamte Skript geladen oder zwischengespeichert und im Speicher auf dem Client- PC der Auslegung durch den Browser , die eine JavaScript-Engine enthält . Weil es im Speicher resident , können clientseitige JavaScript sofort zu überprüfen Werte auf einem Formular und können den Inhalt eines Bildschirms manipulieren " on-the- fly" , ohne Route führt zurück zu einem Apache Web -Server. Allerdings können Client - seitigen Code gelesen und sogar verändert durch einen Benutzer auf dem Client- PC .
Server - Side Scripting
Eine serverseitige Skriptsprache führt seine Code auf einem Webserver . Zum Beispiel ist eine beliebte PHP Skriptsprache am häufigsten auf einem Apache Web -Server implementiert. Während Server-Seite Sprachen nicht ändern kann, den Inhalt der Bildschirme ohne das Senden von Daten an den Web- Server , können sie mit Ressourcen auf dem Web -Server , wie z. B. einer Datenbank zu interagieren , um dynamische Seiten auf scripted Code zu generieren. Server -Side- Code wird auch vom Web-Server , die nur ausgeführt wird geschützt. Wenn sie richtig konfiguriert ist, wird ein Apache-Server senden niemals roh PHP-Code zu einem Client-Rechner .
Nachteil verschiedener Sprachen
Softwareentwicklung wäre einfacher, wenn es waren eine gemeinsame Sprache für die client-und serverseitige Aufgaben . Heute bieten verschiedene Skriptsprachen unterschiedliche Ergebnisse für scheinbar identische Funktionen sein . Zum Beispiel, wenn Sie die aktuelle Zeit in Bezug auf 1. Januar 1970 in PHP abfragen , gibt die Funktion die Anzahl der Sekunden . Die gleiche Abfrage in JavaScript gibt die Anzahl der Millisekunden. Ein Programmierer muss das wissen und stellen entweder die JavaScript -oder PHP- Ergebnis , wenn Sie versuchen , Werte über Sprachen vergleichen . Programmierer arbeiten Teams müssen sich auf einen Standard für die Umrechnung der Werte zwischen den Sprachen zu vereinbaren. Es gibt viele Beispiele für diese Arten von Inkonsistenzen, die das Erstellen und Debuggen von Anwendungen , die sowohl client-und serverseitigen Code sehr viel schwieriger und zeitaufwendiger nutzen machen .
JavaScript " V8 "
Mehrere Unternehmen haben Server-Side -Versionen von JavaScript in einem Versuch, dem Programmierer eine Sprache zu verwenden, wenn die Entwicklung von Anwendungen entwickelt. Aptana entwickelt Jaxster basierend auf der Mozilla Gecko -Engine, die FireFox . Microsoft eingebaute JavaScript in seine ASP Sprache . Allerdings, wenn Google seinen Web-Browser Chrome veröffentlicht , enthüllt er eine JavaScript -Engine namens "V8 " , die extrem schnell und relativ einfach in andere Anwendungen zu integrieren ist . Dies hat zu der Entwicklung von Server-Side JavaScript , die nicht nur eine konsistente Sprache über die Client-und Server geführt , sondern bietet auch eine deutlich bessere Performance als aktuelle Server- Seite Sprachen. Zum Beispiel ist von Node.js Joyent ein event-driven serverseitige JavaScript für Apache , die immer beliebter wird .