úterý 14. února 2012

Jaké IT dovednosti budou žádány v roce 2012?

Žebříček žádaných IT dovedností pro rok 2012, dle inzerátů IT firem:


Jak je vidět, největší poptávka je po lidech z oblasti vývoje pro mobilní platformy (zda jde pouze o nativní platformy nebo i mobilní web, nebylo specifikováno). Jako druhá se umístila Java, která je dlouhodobě velmi populární a vypadá to, že si svou pozici udrží ještě hodně dlouho. Třetí příčka patří JavaScriptu, což  může být velké překvapení pro spoustu programátorů. Na druhou stranu, alespoň základní znalost JS je dnes v podstatě nutnost pro každého webdevelopera a JS se objevuje jako vítaná dovednost téměř v každém inzerátu.

Další zajímavosti:
  • nejpoužívanějším JS frameworkem je stále jQuery
  • nejrozšířenější databází MySQL (i když NoSQL databáze zaznamenaly oproti minulému roku velmi výrazný nárůst ),
  • z NoSQL je nejčastěji poptávaná DB Hadoop, pak Cassandra, Redis a MongoDB
  • Android je zmiňován o něco častěji než  iPhone
  • požadavek znalosti Gitu se objevuje častěji než znalost SVN
  • nejpoužívanější testovací framework je Selenium
  • jenčastěji používaný CMS systém je Drupal [u nás je ale rozložení malinko jiné a myslím, že Drupal vs Wordpress by skončil remízou]

neděle 12. února 2012

Mozilla Servo + Rust == new Firefox?

Vypadá to, že Mozilla ve svých laboratořích kutí něco opravdu zajímavého.
Dle jejich slov se zdrojové kódy Firefoxu už opravdu rozrostly a vzhledem k tomu, že Firefox je psaný v C++, je velmi obtížné udržet vše pod kontrolou. Na druhou stranu jaký jiný jazyk by se dal pro takto velký projekt použít, přičemž bychom chtěli využívat moderních principů, výkonu všech jader moderních procesorů a zároveň udržet aplikaci bezpečnou?

Zřejmě žádný, a proto si inženýři v Mozille napsali jazyk vlastní.
Jmenuje se Rusthttp://www.rust-lang.org/  a je to takový všeuměl složený z těch nejlepších věcí z ostatních jazyků.
Rust vychází z Céčkové syntaxe (pro ty z vás, kteří jsou nerozhodní při psaní závorek u jednořádkových příkazů, máme dobrou zprávu, zde se píšou závorky vždy), obsahuje vlastnosti Common Lispu (polymorfismus pomocí generických funkcí), Erlangu (Actor-style concurrency) [pozn. autora - bohužel Erlang neznám, ale tuším že se jedná o jakousi izolaci paralelního kódu], ML (moduly, immutable data) a několik dalších včetně několika druhů uzávěrů známých z JavaScriptu. Spoluautorem jazyka není nikdo jiný než Brendan Eich - tvůrce JavaScriptu.



Rust je kompilovaný, ale při tom by měl být bezpečný, zvládat lehce paralelní algoritmy a řešit spoustu dalších věcí.

Už nějakou dobu je zřejmě ve vývoji experimentální verze prohlížeče založená na Rustu s názvem Servo. Jeden z cílů tohoto experimentu je dokonce implementace DOM v JavaScriptu, dle slov tvůrců už je na to JS dostatečně rychlý.


Otloukánek JavaScript

JavaScript měl dlouhá léta mezi programátory pověst spíše obskurního jazyka, který se nehodí k ničemu jinému, než dynamickému menu, případně hrátkám s HTML formuláři.

Programátoři vychovaní (stejně jako já) na objektových jazycích typu C++/Java/C# a spol. se JavaScriptu spíše vysmívali a s oblibou nadávali na to, jak tento jazyk neschopný, místo toho, aby se ho snažili opravdu pochopit.

JavaScript si ale zatím žil svým vlastním životem. Jeho standardizovaná verze ECMAScript  se stala jádrem programu Flash. Díky rozšíření Flashe na desktop, se dostal i tam. Stejně tak se objevily i první pokusy s jeho nasazením na serverech. O jeho použití se začalo uvažovat i v kombinaci s různými lowlevel programy a desktopovými prostředími (Linux + KDE/Gnome). Postupně se začal z chvostu propracovávat na lepší pozice.

Dnes to s JavaScriptem tedy vypadá o mnoho lépe. Google investoval do JS nemalé prostředky, aby ho výkonnostně srovnal s ostatními skriptovacími jazyky viz V8 JavaScript vs Python a V8 JavaScript vs Ruby a v některých případech je i překonal. To samozřejmě nezůstalo bez odezvy a o JS se začali zajímat další vývojáři a začali ho zvažovat pro své nadcházející projekty. Navíc to odstartovalo závody ve zrychlování JS i v prohlížečích, díky čemuž si dnes můžeme užívat komfortu moderních webových aplikací typu GMail, Facebook, Twitter a dalších. JavaScript v různých formách podporují i desktopová prostředí a dokonce má být i jedním z pilířů nového mobilního operačního systému Tizen.
Vzniklo mnoho JS knihoven, které zjednodušují práci s HTML (jQuery, Prototype a další), síťovou komunikaci (Socket.IO, Now.js), objekty a dědičnost (jQuery, Base2, Prototype a další),  modularizaci JS kódu (RequireJS), práci s grafikou (Raphael), dokonce i práci s OpenGL (např. GLGE). Nové knihovny vznikají téměř každý den a JS má dnes jednu z nejaktivnějších vývojářských komunit.
Poptávka po JavaScriptu také nastartovala jeho další vývoj a experti z různých firem už dnes "kutí" další verzi JavaScriptu/EcmaScriptu pod názvem ECMAScript Harmony.
Ačkoliv se JS rozšířil z browserů a jeho doménou jsou stále klientské aplikace, objevil se před několika lety projekt, který by mohl způsobit jeho masové rozšíření i na server. Tím by se uzavřel kruh a JavaScript by se začal používat na všech úrovních. Tento projekt se jmenuje Node.js - http://nodejs.org/ a bude to jedno z hlavních témat dalších článků.


Počet nabízených pozic s požadavkem na JavaScript dle serveru Indeed.com


Nevím jak vám, ale mně z tohoto všeho vychází jediné. JavaScript je víc než použitelný programovací jazyk a jsou v něm napsány spousty dobrých projektů. Už tu s námi pár let je a je víc než pravděpodobné, že s námi také pár let zůstane. Proto ty, co mají stejný názor, je určen tento blog. Postupně se tu budou objevovat články na zajímavá témata kolem JavaScriptu, HTML5 a webového vývoje obecně.

Držte nám palce, a pokud byste se chtěli na něco zeptat, případně něco doplnit, tak neváhejte a pište do diskuze.