JavaScript Eeva Ojanen. 14.3.2006 Eeva Ojanen2 Sisältö Historiaa ja JavaScriptiin liittyviä tekniikoita JavaScriptin toiminta Oliosuuntautuneisuus Asiakaspuolen.

Slides:



Advertisements
Samankaltaiset esitykset
Internet ohjelmointi ympäristönä- webtop -web 2.0 kulttuurin alkuaskelet tietosovelluksien siirto yksittäisistä laitteista ja käyttöjärjestelmistä> www-alustaisiksi.
Advertisements

E4X © Reiska, JavaScript  Keksittiin 1995 (Ensin Netscape 2 selaimeen: Mocha  LiveScript  JavaScript)  Standardoitiin vuonna 1997  ECMA-262.
Tietokannat: MySQL ja PostgreSQL. Yleistä • Relaatiotietokantaohjelmisto, jolla voidaan luoda, ylläpitää ja muuttaa ja hallinnoida tietokantoja • Avoin.
Näkövammaiset ja verkkosivustot Virpi Jylhä
SOME Eli sosiaalinen media ja lähinnä sitä Facebook Roast.
WordPress- koulutus Kaarinan & Espoon NKK.
Image Gallery JavaScriptin avulla Juha Konttinen 1.
SkyDrive ja Office Web Apps –sovellusten käyttäminen
JavaScript oliot © Reiska, DOM Oliot  JavaScript sisältää paljon valmiita DOM olioita, on sisältänyt jo DOM level 0 (ns. Legacy DOM) alkaen  WWW-ympäristössä.
JavaScript (c) Irja & Reino Aarinen, 2007
Www-sivuston ja verkkopalvelun rakentaminen Miten tehdä yritykselle www-sivut?
1 Heli Lepomäki Yritysten ja muiden organisaatioiden käyttöön sähköinen työpöytä on jo leviämässä, koska niiden toiminta ja asiakaspalvelu.
1 Java-kieleen pohjautuvien ohjelmien käyttökohteita Ohjelmat Appletit JavaBeans JavaScript Java Server Pages (JSP) Java Servletit J2ME, mobiililaitteet.
Luku 5 – Tietojen hakeminen sovelluksiin
Julkaisukielet ja - tekniikat tMyn1 Julkaisukielet ja -tekniikat •Verkko-ohjelmointi voidaan jakaa kahteen osaan: asiakaspuolen ja palvelinpuolen ohjelmointiin.
Web Services ©Reino Aarinen, Miksi?  Web Services tekniikalla voi muuttaa valmiit sovellukset Web sovelluksiksi.  Sovellus voi julkaista toiminnon.
Erik Fallenius Kevät  Taustaa ◦ Ontologiat  Tavoitteet  Teknologiat ◦ Dojo/AJAX ◦ JSON ◦ SOAP  Projektin kulku  Lopputulos – demo.
Web-Käyttöliittymä, käytettävyys Asiakas on kuningas, hiiri aseena Jos asiakas ei löydä tuotetta, hän ei osta sitä.
W w w. h a m k. f i Wiki koulutus Leenakaija Lehto
EXtensible Markup Language
Taulukot: Array Taulukko Javassa pitää aina perustaa (new)
Taulukoiden määrittely, käsittely ja kopiointi Vaihtoehdot taulukoille
Internet  Lingua Franca, kaikkien ymmärtämä yhteinen kieli: TCP/IP tai UDP/IP. ”Kaikki maaiman tietokoneet, liittykää yhteen”.  Suomeen 1990-luvun alussa.
13. Pakkaukset.
Auli Jaakkola 1 Palkkatiedustelun tietomallin mukaisen tilastovastauksen luonti Tässä esimerkissä tiedosto tuotetaan excelistä csv-muotoon. 1.Oletetaan,
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
1 WWW-lomakkeet Sähköisen liiketoiminnan tärkeä elementti.
XPath © Reino Aarinen, Mikä on XPath? XPath on W3C:n ylläpitämä yleinen standardikieli tiedon hakemiseen XML dokumenteista selaamalla sen elementtejä.
CSS ja sen sovellukset Vesa Jussila. Esitys  Yleistä –Historia –Etuja ja huonoja puolia –Mediatyypit  Käyttö –Laatikkomalli –CSS-taitto –Sovelluksia.
Kuvien liittäminen html- dokumenttiin. IMG-elementti l l Parametrit Align=”top” | ”middle” | ”bottom” teksti alkaa kuvan yläreunan tasalta | keskeltä.
Ohjelmointi.
GNU-ohjelmointityökalut Jussi Raunio TI09OHJ
XML -kielen perusteet SIMO Seminaari Antti Mäkinen.
Jouni Mäkeläinen, Twinkle Oy Esteettömyyden huomioiminen palvelujen toteutuksessa.
PowerPoint-esitys OHJE.
Kalenteri 2005 AJAVA – Ajanvarausjärjestelmä CSP Compact Software Products.
Web 2.0 tiivistetysti 1. Ohjelmistoalusta on Web. Webtop korvaa Desktopin. Keskeistä yhteisöllisyys ja ”Software as a Service”. 2. Kollektiivisen älyn.
XML Namespaces 1 XML Namespaces provide a method to avoid element name conflicts –name conflict will occur when two different documents use the same element.
Matematiikkaa tietokoneella mikko opettaa Sagen avulla matematiikkaa ja ohjelmointia
PHP funktiot Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö.
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Lomakkeet © Reiska, Lomakkeet Varsinkin Web-sovelluksia ajetaan täyttämällä sivulla lomake ja lähettämällä tiedot palvelimella olevan Web-sovelluksen.
XHTML ja linkit Inline-elementti Linkki tehdään a-elementillä ja linkin kohde ilmoitetaan href- attribuutilla Absoluuttinen linkki Helian pääsivulle: Siirry.
Matematiikkaa tietokoneella mikko opettaa Sagen avulla matematiikkaa ja ohjelmointia 2011,2012.
XHTML-perusteita Teppo Räisänen
XML/DTD – osa 3 Teppo Räisänen
© Jukka Juslin1 Tiedostot Tuloksellinen Java-ohjelmointi.
402T20E Digitaalisen sovellustuotannon työvälineet, 3 op Flash MX –perusteet Ari Vainionpää.
Mi Menetelmä tosiaikaiseen sivustomuokkaukseen Sulake Dynamoid | Strictly confidential – legally protected and privileged information Ilari Tuominen Software.
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
Metatieto ja HTML-dokumentit Markus Virkkala Esa Kaihlanen TJTD63 - Semanttinen Web - 4/2002.
CSS – osa 1 Teppo Räisänen
XML Schema Teppo Räisänen Liiketalouden yksikkö.
XSL & JavaScript Teppo Räisänen
XML – osa 2 Teppo Räisänen
Javascript 2: Ohjelmointikielen ominaisuudet Jaana Holvikivi Metropolia.
Ydinpalveluiden (käyttäjä, käyttöoikeus, potilas).NET-palvelutoteutus: CoreServiceDemo PlugIT-loppuseminaari Koulutustyöpaja 1: Avoimet ohjelmistorajapinnat.
1 © Jukka Juslin Luokat, attribuutit ja metodit Yleistietoa: seuraavalla koulutusviikolla tarkempi käsittely.
XSL Teppo Räisänen
XSL Teppo Räisänen
PHP ja MySQL PHP: Hypertext Preprosessor. PHP, johdanto Komentosarjakieli, joka on suunniteltu dynaamisen sisällön tuottamiseen verkossa PHP on sekä kieli,
D OMAINHALLINTATYÖKALUN TOTEUTUS JQUERY JAVASCRIPT - KIRJASTOLLA Insinöörityö Irko Palenius 2009.
WWW-sivuston ja verkkopalveluiden rakentaminen
PaikkaOppi Mobiilin käyttöohje
JavaScriptin perusteet
JavaScript – DOM HTML objektit
JavaScript – DOM JavaScript objektit
Google Docs Teppo Räisänen,
4. Luokan testaus ja käyttö olion kautta
Esityksen transkriptio:

JavaScript Eeva Ojanen

Eeva Ojanen2 Sisältö Historiaa ja JavaScriptiin liittyviä tekniikoita JavaScriptin toiminta Oliosuuntautuneisuus Asiakaspuolen JavaScriptin piirteitä Koodin liittäminen HTML:ään Tietoturva Tulevaisuuden näkymiä (JS v.2.0, Ajax)

Eeva Ojanen3 Historiaa HTML työläästi päivitettävä -> JavaScript mukana 1995 julkaistussa Netscape Navigator 2.0 –selaimessa nykyinen versio 1.5 julkaistu vuonna 1999 Netscape - JavaScript, Microsoft - JScript tulkit ja sen lähdekoodit vapaassa käyttössä Netscapen tulkin kehityksestä ja jakelusta vastaa nykyään Mozilla-säätiö –kaksi toteutusta, toinen C-kielellä (SpiderMonkey), toinen Javalla (Rhino)

Eeva Ojanen4 Tekniikoita: DOM, ECMAScript W3C (World Wide Web Consortium)-> dokumenttioliomalli (DOM) –piirteet, joita jokaisen selaimen tulisi tukea –dokumenttien rakenteelle standardoitu APIn eli ohjelmointirajapinta Ecma International -> ECMAScript –standardi sekä JavaScript, että JScript perustuvat ECMAScript-standardiin, joka puolestaan pohjautuu DOMiin

Eeva Ojanen5 JavaScript ja Java ei kevyempi versio Javasta! nimi alunperin Mocha ja sitten LiveScript -> markkinointisyistä JS Javaa paljon yksinkertaisempi komentosarjakieli, jolla ohjataan suoraan WWW-sivuja kuitenkin toimii hyvin yhteistyössä Java-kielen kanssa: –sivuille upotettujen Java-sovelmien kontrollointi –vuorovaikutus Java-sovelmien kanssa

Eeva Ojanen6 JavaScriptin toiminta oliopohjainen yleisohjelmointikieli nk. scriptikieli, jonka koodi tulkitaan suunniteltu liitettäväksi mihin tahansa sovellukseen mutta käytännössä yleisimmin www-sivuilla kolme osaa: –ydinkieli (upotettu www-selaimiin, syntaksi) –asiakaspohjainen JavaScript (komennot suoraan WWW-sivun lähdekoodissa, tulkkaus käyttäjän koneella) –palvelinpohjainen JavaScript (liitettynä WWW- palvelimeen, tulkkaus palvelimella)

Eeva Ojanen7 Mikä olio? JavaScript-kieli olio-orientoitunut oliot oikeastaan tapa luokitella samanlaisia asioita koostuvat ominaisuuksista ja toiminnoista eli funktioista yleinen, joten siitä voidaan muodostaa erilaisia ilmentymiä

Eeva Ojanen8 Oliopohjaiset ominaisuudet oliot luodaan ohjelmallisesti liittämällä ominaisuuksia ja toimintoja ”tyhjiin” olioihin, eli luomalla niistä ilmentymiä -> tapahtuu reaaliaikaisesti ohjelman ajon aikana sisältöä ei tarvitse määritellä erikseen avainsana this viitattaessa käsiteltävään olioon voidaan tuhota muistista kesken ohjelman suorituksen asettamalla arvoksi null periytyvyys prototyyppi-oliolla

Eeva Ojanen9 Valmiit oliot Sisäänrakennetut oliot: sisältyvät ydinkieleen, käytetään perusosina ohjelmien rakentamisessa –Date - päivämäärien käsittely –Math - matemattisten ja tilastollisten lausekkeiden muokkaus –String - merkkijonojen käsittely HTML-oliot –kaikki WWW-sivujen elementit –rakenteeltaan hierarkisia Selainoliot: esittävät selaimen kulloisenkin tilanteen –Window - selaimen tai kehyksen käsittely –History - selaimen URL-historian käsittely

Eeva Ojanen10 Asiakaspuolen JS:n piirteitä dokumentin ulkonäön ja sisällön kontrollointi (Document-olio) selaimen hallinta (selainoliot) vuorovaikutus HTML-lomakkeiden kanssa (Form-olio) vuorovaikutus käyttäjän kanssa – tapahtumankäsittelijät –jonkin tietyn tapahtuman esiintyessä ajettavia koodinpätkiä käyttäjän tilan luku ja kirjoitus evästeiden avulla

Eeva Ojanen11 Muita käyttötarkoituksia (mm.) kuva-animaatio- ja ylirullausefektien (roll-over) luonti (Image-olio) toistojen ja aikaviiveiden asettaminen (Window-olion Timeout() tai Interval()- toiminnot) käyttäjän selaimen ja sen version selvittäminen (Navigator-olio) käyttäjän näyttöpäätteen koon ja värisyvyyden selvittäminen (Screen- olio)

Eeva Ojanen12 Koodin liittäminen HTML:ään Ne ljä tapaa: 1. ja -tunnisteiden väliin dokumentin - tai -osiossa 2.haku ulkoisesta tiedostosta -tunnisteen src -attribuutissa, esim. 3.tapahtumankäsittelijässä määriteltynä HTML- attribuutin arvona (mm. onclick, onmouseover ), esim.

Eeva Ojanen13 Koodin liittäminen (jatkoa) 4.HREF-attribuutin arvona, javascript: - pseudoprotokollatäsmentimellä, esim. olen linkki

Eeva Ojanen14 Esimerkkikoodi yksinkertainen JavaScript koodi näyttää yhden kolmesta siteerauksesta: // ============================================== // Copyright 2004 by CodeLifter.com // Free for all; but please leave in this header. // ============================================== var Quotation = new Array() // JavaScript ei vaadi välttämättä ;-merkkiä metodin loppuun. Quotation[0] = "Asioilla on tapana järjestyä. –Muumimamma”; Quotation[1] = "Kopitellaan" sanoi Tero kun pallon nuotioon heitti"; Quotation[2] = "’Sköp’ sano mummo ku kolmannesta kerroksesta katuun mätkähti."; // selvitetään, montako elementtiä on taulukossa ”Quotation”: var Q = Quotation.length; // valitaan umpimähkäisesti yksi siteerauksista: var whichQuotation=Math.round(Math.random()*(Q-1)); // näytetään valittu siteeraus selaimella funktion avulla: function showQuotation(){ document.write(Quotation[whichQuotation]); } showQuotation(); Lähde:

Eeva Ojanen15 Tietoturva JavaScript-ohjelmilla ei pysty toteuttamaan vahingoittavia toimenpiteitä: –lukemaan tai kirjoittamaan tiedostoja –luomaan suoraa yhteyttä muihin verkon päätelaitteisiin voidaan kuitenkin ajaa muita ohjelmistokomponentteja (kuten ActiveX) käyttämällä ns. JavaScript-moottorina viimeaikoinakin eri selaimista löydetty tietoturva-aukkoja liittyen JavaScriptillä suoritettaviin haittaohjelmiin -> liittyneet selainten JavaScript-kielen käsittelyn toteutukseen, eivät sinänsä itse kieleen

Eeva Ojanen16 Tulevaisuuden näkymiä - v.2.0 seuraava versio JavaScript v. 2.0 sekä kielen seloste (specification), että sen käännöskone kirjoitetaan kokonaan uusiksi, takautuva yhteensopivuus huomioiden lisätään luokkia, tyyppejä ja muita ominaisuuksia, joita tyypillisesti staattisissa kielissä tavoitteena täysin standardit täyttävä kieli

Eeva Ojanen17 Tulevaisuuden näkymiä - Ajax Ajax (Asynchronous JavaScript + XML) = ryhmä tekniikoita, joilla yhdessä kehitetään uusia interaktiivisia verkkosovelluksia suurin osa vuorovaikutteisuudesta selailijan tietokoneelle -> dynaamisten verkkopalvelujen käytön nopeutuminen hyvin alustariippumaton

Eeva Ojanen18 Ajax-tekniikka XHTML ja CSS-tyylikieli: sisällön ja ulkonäön luonti DOMiin perustuva selainpuolen komentosarjasovellus (JavaScript/JScript): informaation dynaaminen esittäminen ja vuorovaikutus tiedon vaihtaminen asynkronisesti eli tahdistamattomasti www-palvelimen kanssa XMLHttpRequest-oliollaXMLHttpRequest XML: yleisesti tiedonsiirtoformaattina

Eeva Ojanen19 Ajaxin käyttötavat www-lomakkeiden laajentaminen yksinkertaisten hakukyselyiden vastausten palauttaminen -> nopeampia, interaktiivisempia ja käytettävämpiä verkkosivuja esim. Google MapsGoogle Maps -asiakassovellusten ja palvelimien interaktiivisuuden lisääminen -> kokouksen sijainnin merkintä kalenterisovelluksessa Google Maps kuvaan yrityssovellusten isännöiminen yrityksen verkon ulkopuolelta + sisäänrakennettuja mekanismeja tiedon varmuuskopiointiin ja päivitysten lähettämiseen

Eeva Ojanen20 Lopuksi Ajax uhkana Microsoftin ohjelmistoylivallalle sekä Flash- ja Java-teknologioille?

Eeva Ojanen21 KIITOS!