Full Stack JavaScript
Kuvaus
Mahtoiko joku uskoa vuosituhannen alkuvaiheilla, että JavaScriptistä kasvaisi kieli, jolla voi toteuttaa web-projektin kokonaisvaltaisesti? Niin vain on käynyt ja ratkaisumalli on jopa muodostunut tietynasteiseksi trendiksi.
Selaimessa JavaScriptin käyttö on itsestäänselvyys ja SPA-malli on lyönyt läpi web-ui-kehityksesä. NodeJS laajentaa JavaScriptin käytön myös palvelinympäristöön ja sen järjettömän laaja kirjo laajennuskirjastoja mahdollistaa oikeastaan millaisen palvelinsovelluksen toteuttamisen tahansa.
Samaan aikaan myös työkalupaletti on laajentunut, nyt oikeasti jo löytyy apuvälineitä kehitysprosessin tueksi. Apuvälineet myös integroituvat mukavasti tuoreimpiin IDE-versioihin, jotka taas tarjoavat intellisensen lisäksi tutun projektirakenteen sekä tietenkin mahdollisuuden joissain (satunnaisissa ja harvinaiseksi jäävissä) yhteyksissä käyttää myös muita ohjelmointikieliä.
Tämä kurssi laajentaa osallistujan JavaScript-taidot uudelle tasolle. Kurssilainen saa kokonaisvaltaisen näkemyksen siitä, miten laajempi JavaScript-projekti ja millaisia tekniikoitasen toteuttamisessa käytetään.
Kurssi soveltuu kehittäjille ja arkkitehdeille, joilla jo on hallussa perustiedot web-kehityksestä ja JavaScriptin syntaksirakenteista.
Ohjelma
Käsiteltävät aiheet
1. päivä
Modernit web-sovellukset
- Webin evoluutio
- Standardiversiot ja niiden tuki
- Sovellusarkkitehtuurit, SPA
- Node ja npm
JavaScriptin piirteitä
- Tyyppijärjestelmä ja prototyypit
- Funktiorakenteet, nuolifunktiot
- Taulukoiden käyttö, datan manipulointi
- Oliorakenteet, ES6-oliopiirteet
- JavaScriptin kapselointimekanismit
Asynkrooniset rakenteet
- Asynkrooniset mallit
- Callback vs. Event vs. Promise
- Eri kirjastojen toteutusmalleja
- ES6-Promise ja async-metodit
2. päivä
JavaScript-projekti
- Modularisointi
- JavaScript-käännös, Babel
- TypeScript ja JSX
- Kehitysprosessi: gulp, grunt, webpack
- css-preprosessorit: less/sass
- Yksikkötestaus
- Minifiointi
Selaintekniikoita
- Ajax, Fetch
- Lokalisointi
- Web Socket
- Web Workers
- Web Storage
- Indexed DB
- Canvas ja piirto API
- Muut API:t
3. päivä
NodeJS-palvelinohjelmointi
- Node-modulien toteutus ja käyttö
- Web-palvelin
- REST-rajapinta
- Tiedostokäsittely
- Tietokantaliittymät
- SOAP-palveluiden käyttö
- Pilvipalvelualustat
SPA-perusteet (Angular ja React)
- Kirjastovertailu
- Sovellusten rakenne
- Komponenttien toteutus
- Reititys näkymien välillä
- Datan hallinta
Peruutusehdot
Ilmoittautuminen on sitova. Mikäli ilmoittautuja ei pääse kurssille, voi hänen sijastaan tulla toinen henkilö. Mikäli ilmoittautumisen peruutus tehdään vähemmän kuin 14 päivää ennen kurssin alkua, veloitamme toimisto- ja varauskuluina 50% kurssimaksusta. Mikäli ilmoittautunut jää saapumatta kurssille ilman peruutusilmoitusta, veloitamme koko osallistumismaksun. Kurssimateriaalin toimittamisesta oppilaalle peruuntumistapauksessa veloitamme lisäksi 100 EUR. Peruutusmaksut veloitetaan myös sairastapauksissa.