JavaScript е един от трите големи уеб хостинга: освен HTML (структура на страницата) и CSS (представяне), обектно-ориентираният език за програмиране предлага динамизиране на съдържанието. Но JavaScript е приложим не само в контекста на дизайна на страници. Приложенията от страна на сървъра също могат да се управляват с JavaScript.
Произход на JavaScript
Въпреки името, JavaScript има малко общо с Java. Първоначално езикът за скриптове трябваше да се нарича LiveScript и беше разработен от Netscape за взаимодействие на Netscape Navigator с Java аплети (клиентски приложения на Java). Като действително патентован софтуер JavaScript представляваше конкурентен фактор за компании като Microsoft представени. Те реагираха на развитието на JavaScript със свои собствени решения, като например езика за писане на скриптове JScript. С течение на времето обаче JavaScript се утвърди като основен език за писане на скриптове, който вече се поддържа от всички браузъри, за работа от страна на клиента и (в допълнение към php) динамизиране от страна на сървъра.
Динамично модифициране от страна на клиента
Вероятно най-използваната функция на JavaScript е възможността за динамизиране от страна на клиента. Клиентът е уеб браузърът. Динамизирането от страна на клиента означава, че съдържанието, което се показва в клиента, се манипулира. HTML е статичното описание на структурата на уеб присъствието, така нареченият Document Object Model (DOM). Докато CSS (Cascading Style Sheets) се използва за отделно проектиране на този "скелет", JavaScript предлага възможност за преместване, изтриване или добавяне на HTML елементи.
Това манипулиране на DOM (DOM scripting) може да се използва по много начини. Чрез т.нар. обработчици на събития функциите първоначално се свързват с определени събития. Това могат да бъдат кликвания от страна на потребителя, време или дори зареждане на уебсайта. Идентификаторите, присвоени на елементите в HTML, могат да се използват за задействане на промени, базирани на събития. Това може да включва всичко - от програмиране на прости динамични форми или филтри за таблици до вграждане на видео плейъри или сложни динамични графики.
JQuery: По-малко сложният JavaScript
JavaScript е пример за обектно-ориентирани езици за програмиране. Поради това прагът за навлизане на неопитни уебдизайнери е сравнително висок. Без да ограничава функционалността на JavaScript (много), библиотеката JQuery на JavaScript предоставя опростен синтаксис, който позволява най-често срещаните случаи на използване по бърз и лесен начин. Докато JavaScript предлага сложност и променливост, подобни на тези в Java или Python, с дефинирането на прототипи (вместо класове), екземпляри (конкретни обекти) и методи (функции, свързани с обекти), JQuery ограничава речника и структурите. Командите могат да се вмъкват, така че структурата може да бъде разбрана сравнително бързо. Следователно, ако не се занимавате със сложни и необичайни приложения, почти сигурно има просто решение в JQuery.
Динамизиране от страна на сървъра: AJAX и Node.js
Освен за манипулиране на DOM, JavaScript се използва и за комуникация със сървъри, например за заявки към бази данни. От 2009 г. съществува node.js - рамка за динамизиране от страна на сървъра с JavaScript. Това беше възможно и преди 2009 г., но node.js позволява по-лесна интеграция. За програмистите на JavaScript това е предимство, тъй като тогава вече не е необходимо да прибягват до други езици като php. Освен това node.js позволява и паралелизиране на процесите. Това е предимство, тъй като твърде много от тези така наречени нишки могат да доведат до застой. При node.js заявките се изпълняват в една нишка, което може значително да увеличи производителността.
Node.js е пример за възможностите на AJAX. Съкращението означава процедура, наречена асинхронен JavaScript и XML. Този принцип дава възможност да се изисква съдържание от сървърите, без да се налага да се презарежда цялата страница. За много уеб услуги като YouTube пълното презареждане след заявки за видеоклипове или зареждане на коментари би било сериозен недостатък. AJAX също е решение на проблема с натрупването на заявки благодарение на асинхронната обработка, както беше обяснено по-горе за Node.js.
Интегриране на JavaScript
Основното интегриране на JavaScript в уеб предложенията работи по същия начин, както връзката с CSS файловете. Така че има две възможности за това: От една страна, JavaScript може да се използва в заглавието, а от друга - в тялото на HTML документа.