(JavaScript) Aleksi O Connor DI Informaatioverkostot. Markku Laine Mediatekniikan laitos

Samankaltaiset tiedostot
Verkkosivujen toiminnallisuus (JavaScript)

(JavaScript) T Digitaalisen median työvälineet (3 op) ME-C2300 Verkkojulkaisemisen perusteet (5 op)

5/20: Algoritmirakenteita III

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

Digitaalisen median tekniikat. Luento 4: JavaScript

Java-kielen perusteet

Listarakenne (ArrayList-luokka)

JWT 2016 luento 11. to klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari

Java-kielen perusteita

Java kahdessa tunnissa. Jyry Suvilehto

Sisältö. 22. Taulukot. Yleistä. Yleistä

Metodien tekeminen Javalla

Sisältö. 2. Taulukot. Yleistä. Yleistä

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Ohjelmointiharjoituksia Arduino-ympäristössä

Digitaalisen median tekniikat JavaScript

Digitaalisen median tekniikat JavaScript Harri Laine 1

Olio-ohjelmointi Javalla

05/04/2004. Digitaalisen median tekniikat, k2004 HY/TKTL, javascript_1. Harri Laine 1. JavaScript

Java-kielen perusteet

20. Javan omat luokat 20.1

17. Javan omat luokat 17.1

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

Java-kielen perusteet

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

16. Javan omat luokat 16.1

Ohjelmoinnin perusteet Y Python

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

- Komposiittityypit - Object (Mukaanlukien funktiot) - Array. - Erikoisdatatyypit - null - undefined

Taulukot. Jukka Harju, Jukka Juslin

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmoinnin perusteet Y Python

Luento 5. Timo Savola. 28. huhtikuuta 2006

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

7/20: Paketti kasassa ensimmäistä kertaa

17. Javan omat luokat 17.1

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.

ITKP102 Ohjelmointi 1 (6 op)

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Internet-pohjaisen oppimisympäristön laadinta. Luento 3

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmoinnin perusteet Y Python

14. Poikkeukset 14.1

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

11. Javan valintarakenteet 11.1

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi

14. Poikkeukset 14.1

Ohjelmointi 2 / 2010 Välikoe / 26.3

Javan perusteita. Janne Käki

Luento 3. Jouni Ikonen - Jouni.Ikonen lut.fi

1. Omat operaatiot 1.1

Java-API, rajapinnat, poikkeukset, UML,...

JS-kehitys - yleiskuvaus. TIEA255 - Juho Vepsäläinen

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo

P e d a c o d e ohjelmointikoulutus verkossa

Harjoitustyö: virtuaalikone

Rajapinta (interface)

11. Javan valintarakenteet 11.1

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

9. Periytyminen Javassa 9.1

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

13. Loogiset operaatiot 13.1

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Harjoitustyö 3: Verkkosivujen toiminnallisuus (JavaScript)

Muuttujat ja kontrolli. Ville Sundberg

Ehto- ja toistolauseet

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. X Poikkeusten käsittelystä

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

T Digitaalisen median työvälineet (3 op) ME-C2300 Verkkojulkaisemisen perusteet (5 op) Mediatekniikan laitos / Informaatioverkostot

7. Näytölle tulostaminen 7.1

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

List-luokan soveltamista. Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen

Ohjelmoinnin jatkokurssi, kurssikoe

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta

ELM GROUP 04. Teemu Laakso Henrik Talarmo

18. Abstraktit tietotyypit 18.1

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

JavaScript alkeet Esimerkkikoodeja moniste 2 ( Metropolia)

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

Groovy. Samuli Haverinen, Aki Hänninen. 19. marraskuuta 2015

Ohjelmointikieli TIE Principles of Programming Languages Syksy 2017 Ryhmä 19

12. Javan toistorakenteet 12.1

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Ohjelmoinnin perusteet Y Python

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto

Metodit Arvotyyppi. Metodit Arvotyyppi. Metodit Parametrit. Metodit Parametrit. Metodit Kuormittaminen. Metodit Kuormittaminen. Javan perusteet

A TIETORAKENTEET JA ALGORITMIT

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Transkriptio:

Selainohjelmointi Verkkosivujen toiminnallisuus (JavaScript) (JavaScript) T-111.1100 CS-C1180 Digitaalisen Verkkojulkaisemisen median työvälineet perusteet (5 (3 op) op) Aleksi O Connor DI Informaatioverkostot Markku Laine Mediatekniikan laitos 21. helmikuuta 2017

Luennon jälkeen osaan toteuttaa verkkosivuille toiminnallisuutta JavaScript:llä.

Luennon sisältö JavaScript CodeAcademy: JavaScript peruskurssi JSON-tiedonsiirtoformaatti DOM API jquery Tiedon tallennus Verkkosivujen optimointi CodeAcademy: jquery peruskurssi Yhteenveto

JavaScript

Tulkattava skriptikieli Pääasiallinen käyttö selaimessa Verkkosivun toiminnallisuus API:en kautta pääsy selaimeen/laitteeseen Prototyyppipohjainen, dynaamisesti tyypitetty,...

Historia

1995-1996 Kehittäjä Brendan Eich. Ensiesiintyminen Netscape Navigator 2.0:ssa. 1996-1998 Standardoitavaksi Ecma International:iin. Standardoitu nimellä ECMAScript.

1998-2004 HTML-sivujen manipuloiminen DOM Level 1, 2 ja 3 API:ien avulla. 2001-2002 JSON-tiedonsiirtoformaatti. Kehittäjä Douglas Crockford. 2005 Asynkroninen kommunikointi palvelimen kanssa, AJAX. Termin kehittäjä Jesse James Garrett.

2006 Asiakaspään JavaScript-kirjastot, kuten jquery (kehittäjä John Resig) ja Prototype. 2008 HTML5 ja siihen liittyvät JavaScript API:t. 2009 Standardoitu palvelinpään JavaScript-kirjasto, CommonJS. Kehittäjä Kevin Dangoor.

Käyttö *.js / <script>

JavaScript

KÄYTTÖTAVAT 1) Ulkoinen skriptimäärittely (*.js tiedosto) 2) Sisäinen skriptimäärittely (<script> elementti)

ULKOINEN SKRIPTIMÄÄRITTELY Skriptit voidaan määritellä ulkoisessa tiedostossa (*.js). Ulkoinen skriptitiedosto voidaan linkittää verkkosivuun ja näin ollen samoja skriptimäärittelyitä voidaan käyttää usealla eri verkkosivulla (helpottaa ylläpitoa). Selaimet voivat myös tallentaa ulkoisen skriptitiedoston välimuistiin (nopeuttaa verkkosivujen lataamista). Suositeltavin käyttötapa. Käyttäminen verkkosivuilla * (Suositeltu tapa HTML-tiedoston head-tagin sisällä) <script type= text/javascript src= scripts.js ></script> * Perinteisesti <head> osion sisään

Ulkoinen skriptimäärittely HTML JavaScript

SISÄINEN SKRIPTIMÄÄRITTELY Skriptit voidaan määritellä verkkosivun sisällä (<script>). Sisäinen skriptimäärittely keskittää verkkosivun skriptimäärittelyt yhteen paikkaan (helpottaa hieman ylläpitoa). Samoja skriptimäärittelyjä ei kuitenkaan voi käyttää muilla verkkosivuilla eivätkä selaimet pysty tallentamaan niitä välimuistiin. Käyttäminen verkkosivuilla * <script type= text/javascript >...</script> * Perinteisesti <head> osion sisään

Sisäinen skriptimäärittely HTML JavaScript HTML

HTML JavaScript HTML

Syntaksin perusteet

Muuttujat Paikalliset muuttujat määritellään var sanalla, globaalit ilman. Nyrkkisääntö: käytä aina paikallisia muuttujia. Tyyppi jätetään määrittelemättä Määrittyy dynaamisesti Arvo määrittelee tyypin undefined, null, totuusarvo, merkkijono, numero, olio

Primitiivityypit undefined Ei määritelty null Ei viittausta mihinkään Totuusarvo (boolean) true tai false

Primitiivityypit Numero Kokonais- tai desimaaliluku Laskuoperaattorit: +, -, *, /, jne. isnan( muuttuja ) testaa onko luvaton numero (Not-a-Number) Merkkijonosta numeroksi

Primitiivityypit Merkkijono (string) Arvo ympäröidään joko lainausmerkein ( ) tai puolilainausmerkein ( ) Merkkijonojen yhdistäminen + merkillä Myös olio, jolla useita ominaisuuksia ja metodeita, esim. length Numerosta merkkijonoksi http://www.quirksmode.org/js/strings.html

Oliotyypit Taulukko (array) Lista arvoja Alkioiden arvot voivat olla eri ja/tai mitä tahansa tyyppiä Myös olio, jolla useita ominaisuuksia ja metodeita, esim. length Kaksi tapaa luoda taulukko Alkioiden arvojen käsittely indeksinumeroiden kautta Indeksointi alkaa nollasta

Oliotyypit Funktio (function) Lohko ohjelmakoodia, joka eriyttää tietyn ja/tai usein suoritettavan toiminnon Määrittely koostuu function sanasta sekä funktion nimestä, parametreista, ja paluuarvosta Funktion nimi, parametrit ja paluuarvo ovat valinnaisia Funktiot voivat myös olla muuttujien arvoina Esimerkki

Oliotyypit Olio (object) Kuvaa jotakin käsitettä ja sen ominaisuuksia, esim. kurssi Oliolla on ominaisuuksia, jota koostuvat avain-arvo pareista Avaimet ovat merkkijonoja Arvot voivat olla mitä tahansa tyyppiä, esim. funktio Avain-arvo parit (ominaisuudet) erotetaan toisistaan pilkulla Määrittelyesimerkki

Oliotyypit Olion (object) käyttö Ominaisuuksia voi lukea, lisätä ja poistaa Joustava Kaksi eri notaatiota: piste- ja sulkumerkkinotaatio Esimerkki

Muita oliotyyppejä Date Päivämäärään ja aikaan liittyvät metodit http://www.w3schools.com/jsref/jsref_obj_date.asp Math Matemaattisiin operaatioihin liittyvät ominaisuudet ja metodit http://www.w3schools.com/jsref/jsref_obj_math.asp RegExp Säännöllisiin lausekkeisiin liittyvät toiminnot http://www.w3schools.com/jsref/jsref_obj_regexp.asp

Näkyvyys (scope) Muuttujat ilman var sanaa (global) näkyvät kaikkialla, esim. funktion ulko- ja sisäpuolella Ohjenuora: määrittele muuttujat aina var sanaa käyttäen Funktion ulkopuolella var sanalla määritellyt muuttujat näkyvät sekä funktion ulko- että sisäpuolella Funktion sisäpuolella var sanalla määritellyt muuttujat näkyvät vain funktion sisäpuolella

this Viittaa käytettävissä olevaan kontekstiin (itseviite) Määräytyy kutsuja(olio)n mukaan Käytetään esim. olion sisällä viittaamaan sen ominaisuuksiin Esimerkki

Laskuoperaattorit + lisäys - vähennys * kerto / jako % jakojäännös ++ yhden lisäys -- yhden vähennys

Vertailuoperaattorit == arvot vastaavat toisiaan === arvot ja tyypit vastaavat toisiaan!= arvot eivät vastaa toisiaan!== arvot tai tyypit eivät vastaa toisiaan > suurempi kuin < pienempi kuin >= suurempi tai yhtä suuri kuin <= pienempi tai yhtä suuri kuin

Kommentit Yksirivinen kommentti Monirivinen kommentti

Logiikkaoperaattorit && ja tai!vastakohta

Valintalauseet if lause Suorita lohko, mikäli lauseen ehto toteutuu if else lause Suorita lohko, mikäli lauseen ehto toteutuu tai muussa tapauksessa toisen lauseen lohko if else if else lause Suorita yksi (ensimmäinen) lohko, joka toteuttaa lauseen ehdon tai muussa tapauksessa toisen lauseen lohko

Valintalauseet switch lause Suorita yksi (ensimmäinen) lohko, joka toteuttaa lauseen ehdon tai vaihtoehtoisesti vakiolauseen lohko (default) break sana estää suoritusta jatkamasta seuraavaan lohkoon (tästä lisää Hyppylauseet kohdassa)

Toistolauseet while lause Suorita lohko nolla tai useampi kertaa, niin kauan kuin toistolauseen ehto toteutuu do while lause Suorita lohko yksi tai useampi kertaa, niin kauan kuin toistolauseen ehto toteutuu

Toistolauseet for lause Suorita lohko nolla tai useampi kertaa, niin kauan kuin toistolauseen ehto toteutuu Toistojen määrä yleensä etukäteen tiedossa

Hyppylauseet return lause Poistu metodista tai silmukasta Voi palauttaa arvon break lause Poistu toistolauseesta tai silmukasta continue lause Poistu toistolauseen lohkosta

Virhetilanteiden käsittely try...catch...finally lause Suorita catch lohko, mikäli try lohkon suorituksessa tapahtuu poikkeus Suorita lopuksi vielä valinnainen finally lohko Esimerkki

Virhetilanteiden käsittely throw lause Virheviestit voidaan räätälöidä throw lauseen avulla Esimerkki

Varatut sanat abstract const enum function boolean continue export goto break debugger extends if byte default false implements case delete final import catch do finally in char double float instanceof class else for int

Varatut sanat interface public throw void long return throws while native short transient with new static true null super try package switch typeof private synchronized var protected this volatile

JavaScript http://bit.ly/1uxnrdr http://www.codecademy.com/tracks/javascript > Introduction to JavaScript

Olio-ohjelmointi

Olio-ohjelmointi JavaScriptillä JavaScript on oliopohjainen kieli JavaScript ei kuitenkaan tarjoa Javan / Scalan kaltaista tukea olio-ohjelmoinnille Ei suoranaisesti tue luokkia, perintää, jne. Voidaan simuloida funktioiden ja prototyyppien avulla luokat, rakentajat, muuttujat, vakiot, metodit, Luokkien määrittelyyn useita eri tapoja http://www.phpied.com/3-ways-to-define-a-javascript-class/ Tarjolla myös erillisiä kirjastoja

Olio-ohjelmointi JavaScriptillä

Olio-ohjelmointi JavaScriptillä

Olio-ohjelmointi JavaScriptillä

JSON

JavaScript Object Notation (JSON) Kevyt, tekstipohjainen (string), kieliriippumaton tiedonsiirtoformaatti Erittäin suosittu webissä, kuten XML Toimii erittäin hyvin yhteen JavaScriptin kanssa Avoin teknologia (ts. ei ole standardoitu) Pohjautuu ECMAScript 3:een http://tools.ietf.org/html/rfc4627 XML:ään verrattuna teknisesti hieman rajoittuneempi Alkaa olla standardi syötteissä, esimerkiksi Twitter- ja Facebook ovat siirtyneet xml:stä json:iin

JavaScript Object Notation (JSON) Olio tai taulukko Olio kuvaa jotakin käsitettä ja sen ominaisuuksia, esim. kurssi Taulukko listaa arvoja Arvojen sallitut tyypit null, boolean, numero, merkkijono, taulukko, olio Helppokäyttöinen sekä ihmisen että koneen näkökulmasta Natiivituki tullut selaimiin vasta 2009 Käytä erillisiä kirjastoja vanhojen selaimien kanssa

Esimerkki JSON

JSON:n käyttö Olion ominaisuuksien lukeminen Kaksi eri notaatiota: piste- ja sulkumerkkinotaatio Esimerkki course[ "credits" ] course.credits Taulukon arvojen lukeminen Haetaan indeksin perusteella (alkaa nollasta) Esimerkki courses[0] Syvähierarkisen JSON:n lukeminen Tarvittaessa käytä molempia tapoja useampaan kertaan ja/tai yhdistele niitä keskenään Esimerkki courses[0].credits

Tapahtumat

Tapahtumat Suuri osa selainpään JavaScript-ohjelmakoodista liittyy tapahtumien kuunteluun ja niihin reagoimiseen HTML-sivun latauksen valmistuminen Linkin painaminen Hiiren liikkeiden seuraaminen Tapahtumasta välittyy muun muassa sen tyyppi ja kohde http://www.quirksmode.org/js/events_properties.html

Tapahtumat DOM Level 3 Events W3C:n työluonnos, syyskuu 2012 Määrittelee tapahtumat, niiden kuuntelun ja etenemisen, jne. http://www.w3.org/tr/dom-level-3-events/ Yleisimmät tapahtumatyypit Käyttöliittymätapahtumat, esim. load Kohdistustapahtumat, esim. focus Hiiritapahtumat, esim. click, mouseover ja mousemove Näppäimistötapahtumat, esim. keyup ja keydown Lista tapahtumatyypeistä http://www.w3.org/tr/dom-level-3-events/#event-types-list

Tapahtumien käyttö Tapahtumakuuntelijoiden lisääminen addeventlistener( tyyppi, kuuntelija ) https://developer.mozilla.org/en/dom/element.addeventlistener Tapahtumakuuntelijoiden poistaminen removeeventlistener( tyyppi, kuuntelija ) https://developer.mozilla.org/en-us/docs/dom/element.remove EventListener Tapahtumien lähettäminen dispatchevent( tapahtuma ) https://developer.mozilla.org/en-us/docs/dom/element.dispatch Event http://www.w3.org/tr/dom-level-3-events/#events-eventtarget

Tapahtumien käyttö

jquery

jquery http://jquery.com/

http://jquery.com/

JavaScript-kirjastot http://w3techs.com/technologies/overview/javascript_library/all

Yleiskuvaus jquery on JavaScript-kirjasto, joka helpottaa ja nopeuttaa yleisimpien JavaScript-toimintojen toteutusta asiakaspäässä Yksinkertainen ja tiivis syntaksi Tukee yleisimmin käytettäviä toimintoja Ottaa huomioon selainten väliset eroavaisuudet Laajennettavissa liitännäiskoodin avulla

Syntaksi

Toiminnot Elementtien valitseminen DOM-puusta (Selectors) DOM-puun manipuloiminen Tapahtumat Efektit ja animaatiot Ajax Liitännäiset

jquery-kirja http://jqfundamentals.com/ http://www.carbonsmart.co.uk/wp-content/uploads/2011/03/jquery-fun damentals-book.pdf Linkkejä jquery http://jquery.com/ jquery API http://api.jquery.com/ jquery UI http://jqueryui.com/ jquery UI API http://api.jqueryui.com/

Tiedon tallennus

Tiedon tallennustavat verkossa (selainpäässä) Web Storage Web Storage, http://www.w3.org/tr/webstorage/ Tallentaa käyttäjän selaimen muistiin tietoa joko kyseisen session ajaksi (kunnes selainikkuna suljetaan, sessionstorage) tai pysyvästi (kunnes muisti tyhjennetään, localstorage) Kolmannen osapuolen palvelut Firebase, https://www.firebase.com/ Reaaliaikainen tiedonsiirto Hyödyllinen esimerkiksi moninpeleissä

Web Storage:n käyttö Varmista aluksi että käyttäjän selain tukee web storagea if(typeof(storage)!== "undefined") { } else { // Code for localstorage/sessionstorage. // Sorry! No Web Storage support.. } Tiedon tallentaminen avain-arvo pareilla localstorage.setitem("lastname", "Smith"); Tiedon hakeminen avaimen avulla localstorage.getitem("lastname"); //Smith Tarkempi dokumentaatio http://www.w3schools.com/html/html5_webstorage.asp

Verkkosivujen optimointi

Kuvien optimointi Myös kuvat kannattaa optimoida käyttötarkoitukseen sopivaksi Pienennä kuvat tarvittavan kokoisiksi Käytä optimaalisinta kuvaformaattia Poista ylimääräinen tieto kuvista Työkaluja http://addyosmani.com/blog/image-optimization-tools/ http://www.picresize.com/

Muu optimointi (good to know, mutta ei tämän kurssin kannalta oleellista) Olennaista käytettävyyden ja saavutettavuuden kannalta Nopeasti latautuva ja optimoitu sivusto sijoittuu korkeammalle hakutuloksissa Jopa muutaman sekunnin latausajat karkottaa suuren osan käyttäjistä https://blog.kissmetrics.com/loading-time/ https://developers.google.com/speed/pagespeed/ Hakukoneoptimiointi Semanttinen html-koodi (meta-tiedot, oikeanlaiset elementit oikeissa tarkoituksissa) Responsiivisuus (pienelle näytölle optimoitu sivusto sijoittuu korkealle mobiililaitteilla haettaessa) https://www.google.com/webmasters/tools/mobile-friendly/

Yhteenveto

Linkkejä http://www.codecademy.com/tracks/javascript http://www.codecademy.com/tracks/jquery https://developer.mozilla.org/en-us/docs/dom/dom_re ference http://www.gotapi.com/jsdomw3s http://www.w3schools.com/jsref/default.asp

Yhteenveto JavaScriptistä on kehittynyt vuosien varrella johtava asiakaspään ohjelmointikieli HTML5:n ja siihen liittyvien JavaScript API:ien myötä JavaScriptin suosio kasvaa entisestään JavaScript tarjoaa ohjelmointirajapinnat niin tapahtumien kuunteluun kuin DOM-puun käsittelyyn JSON tarjoaa yksinkertaisen ja toimivan tiedonkuvausja tiedonsiirtoformaatin JavaScript-kirjastot (esim. jquery) helpottavat ja nopeuttavat asiakaspään ohjelmointia Verkkosivujen optimointi nopeuttaa sivulatauksia sekä parantaa käyttökokemusta

jquery https://www.codecademy.com/cou rses/web-beginner-en-bay3d/0/1 http://www.codecademy.com/tracks/jquery > Introducing jquery

KIITOS! aleksi.oconnor@aalto.fi