JavaScript come codice lato server per Apache

June 6

Lo sviluppo di una singola applicazione Web richiede in genere due o più diversi linguaggi di programmazione. Ad esempio, una tipica applicazione Web può eseguire script PHP su un server Web Apache e JavaScript sul PC di un utente. Questo rende i processi di sviluppo e debug di software più complesso e soggetto a errori. Mentre diverse aziende hanno in passato ha sviluppato versioni di JavaScript per funzionare su un server Web, è stato l'uscita di "V8" di Google motore JavaScript che ha rinnovato interesse per una versione server-side JavaScript. Node.js incorpora "V8" e fornisce non solo un client-comune e il linguaggio server-side, ma offre anche significativi miglioramenti nella velocità più lingue lato client corrente in esecuzione su Apache.

Scripting lato client

JavaScript è prevalentemente un linguaggio di scripting lato client perché esegue il proprio codice sul client, o utente di, computer. L'intero script è stato caricato o memorizzato nella cache in memoria sul PC client e interpretato dal browser, che contiene un motore JavaScript. Perché è residente in memoria, JavaScript lato client può controllare istantaneamente i valori su una forma e in grado di manipolare il contenuto di una schermata "on-the-fly", senza dover risultati via del ritorno a un server Web Apache. Tuttavia, codice lato client può essere letto e addirittura cambiato da un utente sul PC client.

Scripting lato server

Un linguaggio di scripting lato server esegue il codice su un server Web. Ad esempio, PHP è un linguaggio di scripting popolare più comunemente implementato su un server Web Apache. Mentre linguaggi lato server non possono modificare il contenuto degli schermi senza inviare i dati al server Web, possono interagire con le risorse sul server Web, come ad esempio un database, per generare pagine dinamiche basate su codice script. codice lato server è protetto dal server Web, che non farà che eseguirlo. Se correttamente configurato, un server Apache non invierà mai codice PHP prima per un computer client.

Svantaggio di lingue diverse

Lo sviluppo di software sarebbe più facile se ci fosse una lingua comune per le attività sul lato client e lato server. Oggi, diversi linguaggi di scripting di risultati diversi per quelli che sembrano essere identiche funzioni. Ad esempio, quando si esegue una query il tempo corrente rispetto al 1 gennaio 1970 in PHP, la funzione restituisce il numero di secondi. La stessa query in JavaScript restituisce il numero di millisecondi. Un programmatore ha bisogno di sapere questo e regolare sia il risultato JavaScript o PHP quando si cerca di confrontare i valori tra le varie lingue. I programmatori che lavorano su squadre devono concordare uno standard per la conversione dei valori tra le lingue. Ci sono molti esempi di questo tipo di incongruenze che rendono la creazione e debug di applicazioni che utilizzano sia sul lato client e il codice lato server molto più difficile e richiede tempo.

JavaScript "V8"

Diverse aziende hanno sviluppato le versioni server-side di JavaScript nel tentativo di consentire ai programmatori di utilizzare una sola lingua, quando lo sviluppo di applicazioni. Aptana sviluppato Jaxster basato sul motore Gecko di Mozilla FireFox che alimenta. Microsoft incorporato JavaScript nel suo linguaggio ASP. Tuttavia, quando Google ha rilasciato il suo browser web Chrome, che ha presentato un motore JavaScript denominato "V8" che è estremamente veloce e relativamente facile da integrare in altre applicazioni. Questo ha portato allo sviluppo di server-side JavaScript che non solo fornisce un linguaggio coerente tra il client e il server, ma fornisce anche prestazioni significativamente migliori rispetto ai linguaggi lato server attuali. Ad esempio, Node.js da Joyent è un server-side event-driven JavaScript per Apache che sta guadagnando in popolarità.