Novinky

Více než 30 IDM realizací v České republice i zahraničí

AMI Praha Proč bych se měl zajímat o Javascript a ECMAScript 6 – 1. díl
Proč bych se měl zajímat o Javascript a ECMAScript 6 – 1. díl

Proč bych se měl zajímat o Javascript a ECMAScript 6 – 1. díl

Před několika lety přehlížený a „opravdovými“ programátory zesměšňovaný jazyk, který byl ve svých začátcích určen pouze pro interaktivitu na straně klientských internetových prohlížečů, zažívá v poslední době nebývalý boom. Není to nikdo jiný, než starý známý Javascript.

ECMAScript je pak specifikace pro Javascript, která je aktuálně prohlížeči nejvíce podporována ve verzi 5, ale byla též v roce 2015 uveřejněna verze 6, přinášející významné změny, ovlivněné vývojem a trendem v používání tohoto jazyka.

V prvním díle, se před samotným popisem novinek v oblasti Javascriptu, zaměřím na fakta, která stojí za jeho úspěchem.

Hurááá na server

Javascript se nám dostal především díky projektu jako NodeJs na stranu serveru. NodeJs postavený na V8 JavaScript Engine určený pro Chromium, se stal velmi populární alternativou pro vývoj na síti. Je daleko rychlejší, než aplikace vyvinuté např. v Ruby a Pythonu, dokáže zvládat i velké zátěže a koncept práce založený na callbeckách umožňující asynchronní operace je zajímavým způsobem vývoje. NodeJs je, mimo jiné, použitelný pro websocketovou komunikaci nebo real-time komunikace na technologií WebRTC.  Se znalostí Javascriptu je tedy dnes možné dělat plnohodnotné aplikace a to nejen založené na protokolu HTTP.

HTML 5

S možnostmi, které přineslo HTML 5 je práce v prohlížeči stále více „dokonalejší“ a pomalu, ale jistě vytlačila nebo vytlačí klasické klientské aplikace (tlusté klienty). S tím je spojena složitější práce na straně klienta, kód je rozsáhlejší, potřebuje udržovat apod. Neměníme tedy pouze dynamicky barvu pozadí, ale vytváříme opravdové aplikace.

Musím ještě zmínit, že HTML 5 také pomalu vytlačilo klasický flash, kdy lze pomocí objektů canvas a svg nyní vytvářet opravdu neuvěřitelné věci, rozhraní ovládáme pomocí Javascriptu.

Frameworky

V současné době existuje velké množství frameworků, které nám pomáhají. Jen si řekněte, kolik z vás by dnes umělo něco napsat v klasickém Javascriptu a jak dlouho by to asi trvalo. Frameworky jako JQuery, AngularJs, React a další jsou neocenitelný pomocníci, kteří dělají mnoho práce za nás a zároveň udržují váš kód přehlednější. Frameworky práci zjednodušují, zrychlují a zvyšují přehlednost našeho kódu. Další důležitou vlastností každého frameworku, je jeho přenositelnost mezi více vývojáři, podporují tedy týmovou práci.

Hybridní mobilní vývoj

Asi se to nebude líbit klasickým vývojářům pro mobilní telefony, ale se vznikem hybridního vývoje pro mobilní platformy je nyní možné vyvíjet mobilní aplikace pomocí HTML, CSS a Javascriptu. Postupem času došlo ke zlepšení především v rychlosti, což ovšem souvisí se vývojem technologií všeobecně. Opět existuje několik platforem, mě osobně zaujal projekt Ionic, který je spojený s frameworkem AngularJs. Samozřejmě není ještě možné vyrobit všechny typy aplikací jako u nativního vývoje, ale budoucnost to z mého pohledu určitě má. Asi největší přidanou hodnotou je kromě vývojářské základny, existenci jednoho zdrojového kódu, který je kompilován pro jednotlivé platformy (Android, iOS, Windows).

Principy správného vývoje

Jak jsme popisovali výše, v Javascriptu je dnes možné psát opravdu rozsáhlé aplikace s velkým množstvím řádků zdrojového kódu. Abychom to vše dokázali udržet a psychicky se nezhroutili, je nutné do jazyka přinést principy, které fungují u jiných a již zavedených značek. Javascript byl historicky jazykem velmi volným, ať se to týká typové kontroly, platnosti proměnných nebo podpory objektů.  Nový standard ESCMScript 6 toto napravuje a Javascript se zase více, jak se dozvíme v dalším díle, přibližuje jazykům jako Java nebo C#. Alternativní možností je využití nadstavby Javascirptu v podobě TypeScriptu, který je následně kompilován do klasického Javascriptu. Typescript byl integrován do nového AngularuJs 2 a bude součástí nového Ionicu, bude tedy zajímavé sledovat jeho další vývoj.

Další trendem v této oblasti je psaní testovacích scriptů např. pomocí QUnit, Mocha.  Pro vývojáře na straně serveru doplňuji, že jde vlastně o unit testy přizpůsobené potřebám tohoto jazyka.

Pro samotný vývoj existují nástroje, které nám pomohou automatizovat mnoho činností. Osobně mám zkušenost s Gruntem, něco podobného je projekt Gulp. Pomocí Gruntu lze například automaticky provést zvolené (kontrola validity, mimifikace apod.) akce při změně nějakého souboru, nebo se spojit pomocí protokolu ssh na jakýkoliv server a tam zkopírovat svůj vývoj. Je toho opravdu mnoho, podstatou této informace je skutečnost, že pro práci máme nástroje, které nám pomáhají. Samotná konfigurace v Gruntu probíhá opět pomocí Javascriptu.

Vždyť už to umím

Hodně lidí už Javascript zná a umí, takže se nemusí učit nic nového. Být dobrým vývojářem v novém jazyku i se znalostí obecných principů programování zabere jednoduše mnoho času (pokud nejste geniální) a ten dnes nikdo nemá :).

Na závěr posíláme statistiku popularity programovacích jazyků ze dvou různých pohledů (počet nabízených pracovních pozic a počet projektů na GitHubu).

Javascript už ukončil pubertu a stal se dospělým a uvidíme, jaká budoucnost ho čeká. V dalším díle se již budeme věnovat podrobnějšímu popisu novinek, které nová verze přináší.

Autor: Ondřej Tyrychtr