Jak postupovat v začátcích? rubrika: Programování: JavaScript

1 darksouls
položil/-a 30.5.2015

Zdravím,
měl bych otázku, se kterou si již delší dobu nevím rady a myslím, že bude nejlepší vyjádření většího počtu lidí :)

Jsem na IT škole a něco málo programujeme (ale za moc to nestojí), sám ještě nad rámec školy programuji v Pythonu, ale poslední dobou mě stále víc a víc láká "ekosystém" javascriptu.
Myslím, že můj teoretický přehled není malý, ale samozřejmě to vždy může být lepší. V současnosti sleduji hlavně Jakuba Mrozka, Ondřeje Žáru a Daniela Steigerwalda (tam mi je celkem blízký přístup k využívání moderních technologií, které přicházejí průběžně).

Do budoucna bych se rád věnoval především aplikacím (a to hlavně izomorfním) a držel se všech důležitých věcí (RESTful, SEO friendly...).

No a teď k té otázce... jak začít, abych se do toho pořádně dostal? Zatím mám tak nějak namyšleno, že bych využíval těchto technologií:

  • React
  • Flux
  • Node.js
  • Někdy v budoucnu možná rovnou kouknout na Este.js
  • A další frameworky, které budou pro různé věci potřeba (proč tvořit věci po svém, když to někdo má přesně dle mých představ, že?)

No a dále také přemýšlím, jak psát? Čistý javascript? Babel? CoffeeScript? Něco dalšího?

Je to všechno spolu tak propojené, že opravdu netuším, jak nejlépe začít, co studovat a jak se posouvat dál atd.

Předem díky za možnou pomoc a rady
DarkSouls

odkaz
5 VojtechMiksu
odpověděl/-a 30.5.2015
 
upravil/-a 2.6.2015

Nejlepší je pustit se do tvorby nějaké reálné aplikace. Něco co ulehčí život tobě, tvým kamarádům nebo třeba spolužákům. Hodně času zpočátku strávíš čtením a studováním různých dokumentací, nicméně je vždy důležité mít nějaký reálný cíl a k němu se snažit dostat. Právě překonávání problémů na cestě, která k němu vede, je ten úplně nejúčinnější způsob učení se.

Postupně to půjde lépe a poměr progamuju/čtu si o programování se bude zvětšovat. Nakonec se jednou dostaneš do fáze, kdy zase budeš čas raději trávit čtením, protože cokoliv co naprogamuješ budeš mít nutkání nejpozději do půl roku celé přepsat. Bohužel a bohudík tak rychle se dnešní svět kolem JavaScriptu a webu točí. Je to jako obří cukrárna, kde je vše zadarmo. Problém ovšem je, že sladkého se rychle přejíš a musíš tedy pečlivě vybírat. Na druhou stranu něco si vybrat musíš - nechceš přeci všechen čas strávit jenom okukováním výlohy.

React, Flux, Node.js - rozhodně dobrá volba v rámci JS světa. Vůbec, celý eskosystém JS je velmi modulární. Spousta drobných pochutin, které můžeš rychle konzumovat, mixovat či nahrazovat. Nemusíš tedy sníst celý dort (framework) a doufat, že ti z něj nebude špatně. S Este klidně začni experimentovat ihned. Není to nic víc než "pouze" několik pospojovaných a nakonfigurovaných modulů a lehce upravený (zjednodušený) návrhový vzor Flux.

Babel je čistý JavaScript, jen lepší (zrovna jsem teď o něm psal). Za mě je to jasná a přirozená volba. Sám jsme začínal jsem na CoffeeScriptu, ale spousta věcí se teď s příchodem ES6 zlepšila a není potřeba si komplikovat život dalším jazykem.

Komentáře

  • darksouls : Díky za rady, právě při nedávném hledání jsem i narazil na váš článek o babelu, jenom jsem stále byl dost zmatený, ale teď už mi je to úplně jasné :) 31.5.2015
  • dyamon : Parádní článek o Babel! Víc takových :P 1.6.2015
  • Občan : U toho Babelu by mě jako začátečníka mátlo proč u beztřídního jazyka je syntax cukr "class". Ovšem řekl bych, že bez CoffeeScriptu se stále i začátečník neobejde, když je plno knihovem v něm napsaných. Immutable.js zase v AS, hold pro programátora v Javascriptu je dobré najít krásu různorodnosti. :) 1.6.2015
  • VojtechMiksu : darksouls & dyamon: Díky. Už píšu další. :) Obcan: Neobejde? http://githut.info - 320k projektu je v JS, pouze 14k v Coffee. Lepsi uz to nebude. Svuj historicky ukol ale Coffee splnilo - dokazalo ovlivnit i soucasnou podobu ES6. Nejvetsi problem Coffee vyvstal s prichodem Reactu a nepodporou JSX. Existuje sice fork, ktery JSX do Coffee nejak integruje, ale to uz by byl trochu ulet nasadit na dulezity projekt. Zkousel jsem take pouzivat Coffee + React bez JSX, coz je celkem v pohode, ale je zas potreba rucne psat navic nektere veci, ktere jinak JSX automaticky resi. Immutable.js je napsano take v ES6 afaik. A co se tyce trid v JS - je lepsi je vubec nepouzivat a programovat spise funkcionalne (i o tom napisu). 1.6.2015
  • Občan : @VojtechMiksu To s TS napsal špatně ne AS, ale TS a navíc jenom jeho malá součástka, IDE mě našeptává dokumentaci v TS, tak to lehce zmátlo. Ten Coffee script bych neházel jako flintu do žita, poměrem je knihoven v něm málo, ale za to kvalitních od špičkových programátorů a má přeci vysokou křivku učení. "Class" mě v Babel vadí právě z toho důvodu, že programuji funkcionálně, i tak jeho využití je elagantní, jen to slovo je zavádějící. Pro začátečníky musí být matoucí už samotná prototypová dědičnost, natož, když tam je slovo "class". 1.6.2015
  • xxar3s : mne teda ECS6 pripada dost inspirovany funkcionalnymi jazykmi. S takymi vychytavkami ako comprehensions, tail calls, destructuring (alebo tymto https://github.com/zenparsing/es-function-bind ) som sa prvy krat stretol v F#. Syntakticky je to zase klon C# (trebars arrow funkcie su implementovane na vlas rovnako) ale narozdiel od vacsiny pure funkcionalnych jazykov je JS dynamicky a v tom je jeho krasa. 10.6.2015
  • xxar3s : A Coffee som pouzival vo svojej dobe to bol pokrok (LiveScript este vacsin pokrok) dnes ho ale s odstupom casu vnimam ako tazko debugovatelny nekonzistentny bordel. 10.6.2015
  • Občan : @xxar3s ES už zasahuje do funkcionálna již dávno v prvních verzích, ale pravda, že poslední dobou se s tím roztrhl pytel a to nejen na úrovni syntaxe. Akorát ty tail calls, jak zmiňuješ, mají ještě určité performance omezení, mám pocit (ale to se netýká ES) 10.6.2015
  • VojtechMiksu : Tady je slibovaný článek: http://www.dzejes.cz/prvni-dev-stack.html 25.6.2015

Pro zobrazení všech 8 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.