Občas mi na FB stránke pristane v schránke nejaká zaujímavá otázka, alebo prosba o pomoc. Väčšinou ide o kontakty na osvedčených grafikov, copywriterov, sem tam chce vedieť niekto názor na nejaký jeho internetový projekt a podobne.
Začiatkom septembra som dostal otázku od chalana, čo "chce vedieť programovať moderné weby, ale nevie v čom". Tak som sa nad tým hlboko zamyslel. Padlo zopár doplňujúcich otázok či má ísť o frontend alebo backend, aké sú jeho skúsenosti resp. čo už vie. Na prvú časť otázky odpovedal, že všetko a na druhú, že nič.
Osobne som začínal s PHP, koniec 90 rokov. PHP na backende stále dominuje, u nás je žiadané. Je to mainstream a pre moju generáciu by sa dalo povedať, že povinná jazda. Ak sa ale zamyslím, že v čom robia ľudia s ktorými som si vtedy na iCQ vymieňal kusy kódu tak pri ňom snáď nikto neostal. Buď už sú všetci konzultanti, alebo píšu v Pythone, Ruby on Rails alebo C#.
Pred desiatimi rokmi by som si za túto vetu dal facku, ale teraz poviem, že ja by som sa dobre naučil JavaScript (teraz by tu malo nasledovať info o registrovanej značke Oracle a bla bla bla). Ale áno bol by to JavaScript, bez ktorého sa na súčasnom webe nezaobídete.
Frontend
Machrovať, že dnes robím weby v HTML 5, je ako machrovať, že mám telefón s dotykovým displejom. Naučiť sa nové tagy bola otázka na pár minút, CSS3 dá trocha viac zabrať no bez JavaScriptu by to nebolo to čo sme chceli. Skúste si ho vypnúť a troška si posurfovať, je to ťažké. Tú dynamiku si už častokrát ani neuvedomujeme. Je to super odrazový mostík pre ďalšie frameworky na frontende.
Backend
Prečo nevyužiť znalosť JavaScriptu aj na server-side? Myslím, že node.js nemusím veľmi predstavovať. Pre svoju efektivitu postavenú na non-blocking I/O a asynchrónnych udalostiach ide o platformu ktorá sa stala synonymom pre real-time web.
A inde?
Veľa aplikácii používa JavaScript (a JSON) syntax, napríklad NoSQL databáza MongoDB. Takisto CouchDB, ďalšia NoSQL databáza používa pre dotazovanie JavaScript syntax. Ak vás zaujíma vývoj mobilných aplikácii tak aj tu už viete všetko čo k tomu potrebujete. Apache Cordova umožňuje vytvárať multiplatformové aplikácie napísané v HTML, CSS a JavaScripte. Nezaostáva ani Microsoft – ten tiež umožňuje tvoriť aplikácie ako pre mobilný tak aj desktopový operačný systém v JavaScripte.
Kapitolou samou o sebe sú aplikácie, ktorých funkčnosť sa dá rozšíriť týmto skriptovacím jazykom. Spomeniem len LibreOffice, rozšírenia do Google Chrome, herný engine Unity a podobne.
To bylo málo...
Tak málo, říkáš? No dobře. JavaScript má syntax podobnú ako jazyk C. Čiže pri prechode na niečo iné s ňou nebude problém, to skorej so samotnou logikou kódu. Príkladom môže byť ActionScript používaný na tvorbu hier v Adobe Flash Builder. A ani samotný JavaScript už každému nestačí – máme tu CoffeeScript, Google tlačí svoj Dart a podobne.
Každopádne ak sa chcete venovať vývoju pre web JavaScript určite nie je stratený čas, skôr naopak. Toľko moja odpoveď.