logo
Проектирование инт-прил / лекции / Проектирование инет приложений

JavaScript

Поскольку на клиентской стороне JavaScriptимеет наибольшее распространение, здравой выглядит идея иметь и серверную часть, и клиентскую часть - на одном и том же языке программирования. При таком подходе задачи написания, сопровождения и обмена данными между клиентом и сервером выглядят проще в плане их реализации.

На самом деле язык JavaScriptбыл изначально разработан именно как средство управленияDOM-элементами внутри браузера и не мог быть применим на серверной стороне. В частности, у него отсутствуют средства работы с файловой системой, с потоками ввода-вывода и другие необходимые для серверной части составляющие. Кроме того,JavaScriptпо своей сути являлся однопотоковым интерпретатором, не позволял создавать ни потоки, ни процессы, без чего серверное программное обеспечение будет рассчитано на одного одновременно подключенного клиента. В связи с вышеизложенными факторами появление серверной реализации, основанной наJavaScript, несколько подзадержалось. Но в 2009 году практически одновременно появились сразу несколько таких реализаций, допускающих общение с написанными наJavaScriptскриптами по протоколуCGI.

На данный момент существует несколько фреймворков, позволяющих строить серверную часть на базе JavaScript. Их "родоначальником" является событийно-ориентированный фреймворкNodeJS. За счет событийно-ориентированного подхода он минимизирует накладные расходы, позволяя повысить быстродействие и нагрузочную способность системы в целом.