JavaScript ili JS je programski jezik koji je jedna od osnovnih tehnologija web developmenta, pored HTML-a i CSS-a. Preko 97% veb lokacija koristi JavaScript, često uključujući druge biblioteke.
Istorijat
U ranim godinama razvoja interneta, kompanija iza Netscape-a, svojevremeno najpopularnijeg veb pregledača, želela je da pokuša da učini internet dinamičnijim, te je u te svrhe odlučila da napravi jezik koji bi veb dizajneri i programeri mogli da koriste ispisujući kod u HTMLu veb stranice.
Zbog konkurencije sa Microsoftom, Netscape odustaje od prvobitne namere da implementacija bude zasnovana na jeziku Scheme koji bi bio ugrađen u pregledač. Umesto toga, kompanija sklapa sporazum sa Sun Microsystems da se radi na novom programskom jeziku koji je komplementaran Javi, sa sličnom sintaksom.
Brendan Ajk je napisao prototip budućeg programskog jezika za 10 dana u maju 1995. godine, kako bi mogao da bude uključen u novu beta verziju softvera. U tom kratkom periodu, Ajk je radio na dizajnu jezika i osnovnim funkcijama, dodajući funkcije nekih jezika koji su mu se dopadali, poput Scheme ili Self.
Kako se često navodi, pošto je znao da će tokom prvobitnog rada napraviti mnogo grešaka, JavaScript je namerno načinio promenljivim i ekstenzibilnim, što se docnije ispostavilo kao prednost.
Jezik je tokom razvoja nosio ime Mocha, a prilikom prvog objavljivanja beta verzije Netscape navigatora 2.0, u septembru 1995. godine, nazvan je Livescript. Zbog ugovora sa Sun-om je ubrzo preimenovan u JavaScript.
U novembru 1996. godine, Netscape je standardizovao jezik i zvanično objavio specifikaciju ECMAScript u junu 1997. godine, čija je najpoznatija implementacija JavaScript (pored ActionScript i JScript).
Microsoft je reagovao objavljivanjem svog JScripta u Internet Exploreru, što je dovelo do fragmentacije standarda i opcija. Pošto Microsoft nije učestvovao u naknadnim ciklusima standardizacija, to je duže vreme stvaralo konfuziju i ometalo razvoj ekosistema.
Popularnost JavaScripta porasla je 2005. nakon što je Džesi Džejms Geret objavio rad u kom je formulisao ajax, skup tehnologija zasnovanih na JavaScriptu, za učitavanje podataka bez osvežavanja stranice. Ajax je doveo do formacije mnogo novih biblioteka otvorenog koda, poput jQuery, Prototype, Dojo Toolkit i drugih.
Pojavom Node.js 2009. godine znatno se proširilo prisustvo JavaScripta van veb pregledača, a Electron, React Native, Cordova i slični frejmvorci još više su proširili ulogu JavaScripta u izradi aplikacija.
Danas preko 97% veb lokacija koristi JavaScript, a 80% koristi i neku biblioteku ili frejmvork, a neke od najvećih tehnoloških kompanija, kao što su Twitter, Google (Angular), Facebook (React), razvili su svoje alate radeći na sopstvenim veb sajtovima.
Karakteristike
JavaScript je dinamičan, slabo tipiziran i interpretiran programski jezik visokog nivoa. Zasnovan je na prototipovima sa funkcijama prvog reda, i podržava objektno-orijentisani, imperativni i funkcionalni način programiranja. Pored toga sadrži i API za rad sa tekstom, nizovima, datumima i regularnim izrazima, ali se za ulazno/izlazne funkcionalnosti oslanja na okruženje u kome se izvršava.
Zbog prednosti kakve su brzina, jednostavnost, ekstenzibilnost, fleksibilnost i mogućnost smanjenja opterećenja na serveru zbog oslanjanja na veb pregledače, ovaj skriptni jezik stekao je veliku popularnost. Rastuća popularnost dovela je do pojave velikog broja ekstenzija i funkcionalnosti, čime je JavaScript postao perspektivan kako za front-end, tako i za back-end razvoj, a novije JS virtuelne mašine i platforme zasnovane na njima, popularizovale su JavaScript i za izradu veb aplikacija na serverskoj strani.