Učenje: JavaScript


#1

Kao idealan nastavak na HTML/CSS, nadovezuje se JavaScript ili JS od milja – programski jezik frontenda (internetskog preglednika), ali sve češće i backenda weba. Koristan za animacije, integraciju s raznim API-jima za npr. prikaz vremenske prognoze (to svima treba, jel), ali i izradu onih opakih web aplikacija tipa Google Maps, Docs, gdje web pokazuje svoje prave mogućnosti … Za sad ću samo započeti ovu prilično veliku temu i označiti post kao wiki, tako da možemo kasnije dodavati nove materijale.

Frontend

Interaktivni tečaji:

  • Codecademyjev skup materijala za JavaScript
  • Try JavaScript
  • Try jQuery – kada svladate osnove JS-a i manipulacije DOM-a u prethodnim tečajima, brzo ćete shvatiti zašto vam neka biblioteka poput jQuery-ja može olakšati život.

Platforme – za malo kompleksnije JavaScript aplikacije zasnovane na nekom obliku MVC obrasca. Nije potrebno odmah uskočiti u ovaj vlak, mogu se dobre web aplikacije napraviti i koristeći samo HTM/CSS i malo JavaScripta/jQueryja za animacije i efekte. Prije ili kasnije ćete htjeti napraviti svoju single page aplikaciju, doduše:

  • Angular – Googleov kandidat s velikom zajednicom, ali pomalo ljudi prelaze na Angular2 i ReactJS. Besplatan tečaj na CodeSchoolu kojeg nije loše proći u svakom slučaju.
  • Angular2 – “up & coming” nasljednik koji još sazrijeva
  • React – Facebookov popularni V dio MVC-a koji je trenutno jako popularan, često se uparuje s Reduxom za M i C dijelove. Postoji i vodič kroz veliki React ekosustav.
  • Ember – trenutno pokreće ovaj i sve druge Discourse forume

Za početi ovako neki JS projekt s puno komponenti, nije loše uzeti neki popularan Yeoman generator kostura aplikacije. Imaju puno različitih generatora za frontend, ali i backend platforme. Alati koje Yeoman podesi obično omogućavaju super korisne stvari kao što su:

  • automatsko osvježavanje preglednika nakon svake izmjene koda
  • lagano instaliranje biblioteka i povezivanje s ostatkom aplikacije koristeći samo jednu naredbu (bower install x ili npm install x)
  • minificiranje i spajanje koda prije postavljanja aplikacije u produkciju za brže stranice

Backend

NodeJS omogućuje izvođenje JavaScripta na web serveru. Nakon što se pojavio, dosta je revolucionaliziralo svijet weba, obzirom da je po prvi puta jedan programski jezik podržan i u pregledniku i na serveru (Java applete ne brojimo :stuck_out_tongue: ).

Materijali za učenje:

  • nodeschool.io – Zgodna kolekcija tečaja koju možete instalirati lokalno i prolaziti u svom terminalu. Neki od tečaja uključuju čak i osnove JavaScripta, tako da ovo donekle može spadati i u frontend.
  • nodecasts – besplatni video tečaj Nodea, Expressa, ali i drugih tehnologija poput Reacta
  • warriorjs – interaktivni tečaj JavaScripta i umjetne inteligencije u stilu nodeschoola

Platforme:

  • koa – koliko vidim, jedna od popularnijih mikro web platformi, nasljednik Expressa
  • meteor – sve-u-jednom rješenje gdje se sinkronizacija podataka u pregledniku i na serveru odvija automatski, bez da programer mora voditi brigu o tome.

#2

Inače, danas je međunarodni NodeSchool dan, tako da možete osobno otići na meetup i učiti programiranje u društvu drugih:

Za druge gradove dostupan je i gitter chat. Jer učenje zajedno je barem toliko zabavno kao učenje sam, ako ne i još malo zabavnije! :tada:


#3

You can find some of the best JavaScript tutorials and best ReactJS tutorials.