Deo zbornika Učimo Javascript
Kratka istorija Javascripta
Na početku, web je bio samo niz statičnih HTML stranica, povezanih linkovima. Javascript je kreiran za interakciju na web stranicama i rastao je sa webom.
Danas je Javascript sveprisutan programski jezik opšte namene, u kojem možemo pisati aplikacije za razne platforme, uključujući serverske, mobilne i desktop aplikacije.
Nastanak Javascripta
Kako je rasla popularnost weba, tako su administratori stranica (ujedno i njihovi tvorci), hteli korisničku interakciju. Nastale su dve opcije – Java apleti i LiveScript, koji je osmislio Brendan Eich u kompaniji Netscape 1995. godine, a koji je kasnije uveden u pregledač Netscape 2.0 pod nazivom JavaScript.
Java apleti nisu masovno prihvaćeni, ali JavaScript jeste. Zajednica je prihvatila mogućnost upotrebe kratkih kodova koji su ugrađeni u HTML stranice. Zatim je konkurentski proizvođač Microsoft objavio pregledač Internet Explorer 3.0 sa JScript jezikom, koji je bio obrnuta inženjerska verzija JavaScripta sa nekim IE funkcijama. Na kraju, uložen je trud da se standardizuju različite implementacije jezika i tako je nastao ECMAScript. Evropska asocijacija proizvođača računara (ECMA) je kreirala standard ECMA-262, u kome su opisani osnovni delovi JavaScript programskog jezika.
JavaScript sadrži dva glavna dela:
-
ECMAScript standard: srž jezika – promenljive, funkcije, petlje i tako dalje. Nije povezan sa pregledačem i može se koristiti u drugim okruženjima.
-
Objektni model dokumenta (DOM) - Obezbeđuje načine za korišćenje HTML i XML dokumenata.
ES5 standard
Standard ECMAScript 5 (ES5) je zvanično prihvaćen u decembru 2009. godine, i u narednom periodu je implementiran u svim većim pregledačima i serverskim okruženjima. Standard ES5 je uveo značajne sintaksne promene, dodatke standardnim bibliotekama, i nove jezičke konstrukcije. Pre svega, uveo je nove metode nizova map
, filter
i reduce
, koji podržavaju paradigmu funkcionalnog programiranja.
Takođe, standard ES5 je uveo neke nove objekte i svojstva, ali i strogi režim ("use strict"
), podskup jezika koji isključuje loše prakse i zastarele funkcije.
ES6 revolucija
Bilo je potrebno dugo vremena da se ECMAScript 6 revizija završi i konačno je prihvaćena 17. juna 2015. godine. Standard ES6 je značajno unapredio JavaScript i uveo mnoge sintaksne i jezičke promene. Uopšteno govoreći, postoje dve vrste osnovnih promena u ovoj reviziji ECMAScripta:
- poboljšana sintaksa postojećih funkcija i izdanja standardne biblioteke (na primer, klase i obećanja)
- nove jezičke funkcije (na primer, generatori)
Jezičke promene uvedene standardom ES6 izmenile su način na koji pišemo JavaScript. Nova sintaksa omogućuje da pišemo kod koji je jasniji, lakši za održavanje i za koji nisu potrebni “trikovi”.
Ako nove funkcije jezika nisu podržane u starim pregledačima i serverskim okruženjima, možemo ih koristiti pomoću transpajlera. Transpajleri omogućavaju da pišemo kod u novoj sintaksi i prevedemo ga u staru sintaksu, koja može da se koristi u starim pregledačima. Najpoznatiji JS transpajler je Babel.
Moderni JS
U današnje vreme možemo da koristimo JavaScript za:
-
razvoj moćnih web aplikacija. Zahvaljujući dodacima kao što su keš memorija aplikacije, klijentska memorija i baze podataka, programiranje pregledača postaje sve moćnije.
-
razvoj mobilnih aplikacija. Možemo da kreiramo aplikacije za iPhone, Android i druge uređaje pomoću alata PhoneGap ili Titanium. React Native predstavlja novi način za razvoj prirodnih iOS i Android aplikacija pomoću JavaScripta.
-
razvoj desktop aplikacija za sve platforme (Linux, Mac, Windows) pomoću Electrona. Electron je korišten za izradu nekih najpopularnijih desktop aplikacija, kao što su Slack, Atom i Visual Studio Code.
-
pisanje skripti za desktop aplikacije, kao što su Photoshop i After Effects.
-
pisanje skripti za komandnu liniju i automatizaciju rada na računaru.
-
za programiranje pametnih kuća, robota i mnoge druge namene.
JavaScript je rođen unutar web stranica, ali je danas sveprisutan. Kompanije koje razvijaju pregledače se utrkuju u kreiranju najbržih JavaScript virtuelnih mašina, čime se otvaraju vrata još moćnijoj upotrebi JavaScripta u novim oblastima, kao što su obrada slika, audio i video zapisa, razvoj igara i 3D.
Literatura
- Ved Antani, Stojan Stefanov, Objektno-orjentisan JavaScript, Beograd, 2017.