Mesačné archívy: júl 2014

Prečo JavaScript? Aneb JavaScript nie je Java

Koncom roku 2008 sa JavaScriptu smiali, že “Java and Javascript are similar like Car and Carpet are similar.” (Java a JavaScript sú podobné ako auto a koberec). Teda Java mala byť auto a JavaScript koberec. V roku 2008 to aj tak bolo. Java bola vyspelejšia, JavaScript bol iba skriptovací jazyk, v ktorom sa dali robiť rózne fígle pre webové stránky v prehliadačoch. JavaScript bolo možné použiť iba vo webovom prehliadači. Javu bolo a je možné použiť pre desktopové aplikácie, webové aplikácie (na strane servera) a Android aplikácie.

V roku 2009 vznikla platforma Node.js, ktorá umožnila použitie JavaScriptu na strane webového servera. Webová stránka má 2 časti – serverovú a klientskú (prehliadač) časť. Zrazu vďaka Node.js bolo možné použiť JavaScript v oboch častiach, čo prináša nesmiernu výhodu pre programátorov – nemusia rozmýšľať vo viacerých serverových jazykoch ako PHP, Java, Python, Ruby,… ale stačí im JavaScript na strane servera aj na strane klienta. Osobne som programoval weby v PHP na serveri a potom som mal niečo spraviť na klientovi v JavaScripte. Keďže PHP a JavaScript majú trochu odlišnú syntax, zrazu som bol z JavaScriptu debil. Nevedel som takmer napísať ani čiarku JavaScriptu bez googlenia. A potom som objavil server-side Javascirpt – Node.js. Nádhera. Bol som milo prekvapený, že také niečo existuje a nebol som sám. Mnoho ľudí prešlo z klasických server-side jazykov na Node.js možno aj práve kvoli tomu, že bolo možné písať server a klienta v jednom jazyku ale hlavne preto, že Node.js je výkonnejšie.

Mobilné aplikáce v JavaScripte

Áno, v JavaScripte, HTML a CSS sa dajú spraviť aj mobilné aplikácie napríklad pomocou Phonegap a Ionic. Obrovskou výhodou je, že robíte klasickú webovú aplikáciu v JavaScripte, HTML a CSS, ktorú potom môžete rovno preportovať pre rôzne mobilné operačné systémy ako iOS, Android, Windows7, Blackberry alebo FirefoxOS. Keby ste pre mobilné aplikácie nepoužili JavaScript, museli by ste pre Android programovať v Jave, pre iOS v Objective C, pre Windows7 v C#,… pre každú platformu zvlášť a znova to isté v inom jazyku. Strach a hrôza!!!

Aby som JavaScript iba nechválil, mobilné aplikácie napísané v JavaScripte môžu byť o niečo pomalšie ako natívne aplikácie. Stojí ale za rozmyslenie, či obetujem výkon za čas programovania pre ďalšie platformy… Navyše minimálne Android plánuje lepšiu podporu HTML5 + JavaScript aplikácií.

Môžte si pozrieť moje Android aplikácie Drink counter, Math homework. A takisto mám Drink counter a Math homework pre FirefoxOS. Jeden kód – viac platforiem. Nemám žiaľ  iOS ani Windows7 telefóny a tak nemám na čom testovať aplikácie pre tieto platformy. Pred vypustením aplikácie do sveta je dobré otestovať aplikáciu na reálnom zariadení, môžu (a nemusia) nastať rôzne odchylky vo funkčnosti :)

V skratke

JavaScript je univerzálny programovací jazyk. Naprogramujete v ňom webové (klient, server), mobilné (Phonegap) aj desktopové aplikácie. Stačí tak málo – vedieť JavaScript.

Záver

Osobne si myslím, že JavaScript, HTML5 a CSS je budúcnosť akýchkoľvek aplikácii, či už mobilných, desktopových, alebo webových. Samozrejme JavaScript nie je dokonalý jazyk, existujú oveľa krajšie a lepšie jazyky. Ale JavaScript je univerzálny. A tá univerzálnosť ma láka viac, než čokoľvek iné.