JavaScript ennen ja nyt

JavaScript on saanut kritiikkiä hitaudesta ja lisäksi se on kärsinyt maineesta lelukielenä, joka on hyödyllinen vain suhteellisen yksinkertaisiin tehtäviin. Aikaisemmin web-sivut oli rakennettu pelkän HTML:n avulla staattisiksi sivuiksi. Ne näkyivät selaimessa aina samanlaisina ja muuttuivat vain, j...

Täydet tiedot

Bibliografiset tiedot
Päätekijä: Aho, Petteri
Muut tekijät: Faculty of Information Technology, Informaatioteknologian tiedekunta, Tietojenkäsittelytieteiden laitos, Department of Computer Science and Information Systems, University of Jyväskylä, Jyväskylän yliopisto
Aineistotyyppi: Pro gradu
Kieli:fin
Julkaistu: 2015
Aiheet:
Linkit: https://jyx.jyu.fi/handle/123456789/45626
_version_ 1828193110829563904
author Aho, Petteri
author2 Faculty of Information Technology Informaatioteknologian tiedekunta Tietojenkäsittelytieteiden laitos Department of Computer Science and Information Systems University of Jyväskylä Jyväskylän yliopisto
author_facet Aho, Petteri Faculty of Information Technology Informaatioteknologian tiedekunta Tietojenkäsittelytieteiden laitos Department of Computer Science and Information Systems University of Jyväskylä Jyväskylän yliopisto Aho, Petteri Faculty of Information Technology Informaatioteknologian tiedekunta Tietojenkäsittelytieteiden laitos Department of Computer Science and Information Systems University of Jyväskylä Jyväskylän yliopisto
author_sort Aho, Petteri
datasource_str_mv jyx
description JavaScript on saanut kritiikkiä hitaudesta ja lisäksi se on kärsinyt maineesta lelukielenä, joka on hyödyllinen vain suhteellisen yksinkertaisiin tehtäviin. Aikaisemmin web-sivut oli rakennettu pelkän HTML:n avulla staattisiksi sivuiksi. Ne näkyivät selaimessa aina samanlaisina ja muuttuivat vain, jos tiedostoa muokattiin palvelimella. Nykypäivänä useimmat web-sivut käyttävät JavaScriptiä, jonka tärkein tehtävä on lisätä web-sivuille vuorovaikutteisuutta ja dynaamista toiminnallisuutta. JavaScriptin käyttö on yleistynyt sen yksinkertaisuuden, joustavuuden, monipuolisten lisäosien ja tehokkaan suorituskyvyn ansiosta. Tutkimuksessa käytettiin aihepiirin kirjallisuuteen perustuvaa teoreettis-käsitteellistä tutkimusta ja suunnittelutieteellistä, konstruktiivista tutkimusta. Sen päätavoitteena oli täydentää aikaisempia tutkimustuloksia toteuttamalla erilaisilla menetelmillä kaksi toiminnallisuudeltaan ja ulkoasultaan samanlaista web-sovellusta ja vertailemalla niiden laatuominaisuuksia. Sovellusten tarkoitus on nauhoittaa ja tallentaa käyttäjän kirjaamia erilaisia työtehtäviä muistiin. Sovellusten tehokkuutta, ylläpidettävyyttä, kytkentää ja kokoa mitattiin standardointijärjestöjen määrittelemien laatustandardien avulla. Ensimmäisessä versiossa JavaScriptin tukena käytettiin kolmansien osapuolten tekemiä kirjastoja, automaatiotyökalua ja sovelluskehystä. Toinen versio ei käyttänyt tällaisia apuvälineitä. Tutkimus osoitti, että kirjastojen, automaatiotyökalun ja sovelluskehyksen käyttö heikensi sovelluksen tehokkuutta sivun alustusvaiheessa ja kasvatti sen kokoa. Alustuksen jälkeen näitä menetelmiä käyttävä sovellus toimi kuitenkin tehokkaammin kuin verrokkisovellus. Menetelmien käyttö parantaa sovelluksen ylläpidettävyyttä ja kytkentää. Nämä asiat vaikuttavat sovelluksen kehitys- ja ylläpitokustannuksiin. Kehittyneiden ja monipuolisten kirjastojen ja ominaisuuksien ansiosta negatiivinen käsitys JavaScriptistä vähenee jatkuvasti. JavaScript has been criticized for its slowness and it has suffered from its reputation as a toy language that is useful only for relatively simple scripting tasks. Earlier web pages were constructed with plain old HTML as static pages. They looked always the same on a browser and changed only if a file was edited on a server. These days, most web pages use JavaScript because it is possible to create dynamic and interactive functionality with it. JavaScript has become a more common language because it is very simple to use, flexible, efficient and there is a wide range of add-ons. A theoretical and conceptual study based on literature, and constructive research based on design science were used as the research methods. The main purpose of this research was to build upon previous research results by implementing two web applications with similar functionality and layout, and comparing their quality attributes. The web applications were created using different methods. The purpose of the applications is to record different tasks that the user wants to save. The efficiency, maintainability, coupling and size of the applications were measured with the help of quality standards defined by standard organizations. The first version used JavaScript libraries, a task runner and a framework created by a third party. The second version did not use such tools. This study showed that the use of the libraries, task runner and framework decreased the efficiency of the application at the page initialization phase, and increased its size. After the initialization, however, the application built with those methods run more effectively than the other one. The maintainability and coupling of the application are improved through the use of these methods. The development and maintenance costs of the application are affected by these issues. As more advanced JavaScript libraries and applications become available, the negative perception of JavaScript will gradually improve.
first_indexed 2023-03-22T09:57:59Z
format Pro gradu
free_online_boolean 1
fullrecord [{"key": "dc.contributor.advisor", "value": "Sakkinen, Markku", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Aho, Petteri", "language": null, "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2015-04-14T10:34:18Z", "language": "", "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2015-04-14T10:34:18Z", "language": "", "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2015", "language": null, "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.other", "value": "oai:jykdok.linneanet.fi:1472133", "language": null, "element": "identifier", "qualifier": "other", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/45626", "language": "", "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "JavaScript on saanut kritiikki\u00e4 hitaudesta ja lis\u00e4ksi se on k\u00e4rsinyt maineesta lelukielen\u00e4, joka on hy\u00f6dyllinen vain suhteellisen yksinkertaisiin teht\u00e4viin. Aikaisemmin web-sivut oli rakennettu pelk\u00e4n HTML:n avulla staattisiksi sivuiksi. Ne n\u00e4kyiv\u00e4t selaimessa aina samanlaisina ja muuttuivat vain, jos tiedostoa muokattiin palvelimella. Nykyp\u00e4iv\u00e4n\u00e4 useimmat web-sivut k\u00e4ytt\u00e4v\u00e4t JavaScripti\u00e4, jonka t\u00e4rkein teht\u00e4v\u00e4 on lis\u00e4t\u00e4 web-sivuille vuorovaikutteisuutta ja dynaamista toiminnallisuutta. JavaScriptin k\u00e4ytt\u00f6 on yleistynyt sen yksinkertaisuuden, joustavuuden, monipuolisten lis\u00e4osien ja tehokkaan suorituskyvyn ansiosta.\r\n\r\nTutkimuksessa k\u00e4ytettiin aihepiirin kirjallisuuteen perustuvaa teoreettis-k\u00e4sitteellist\u00e4 tutkimusta ja suunnittelutieteellist\u00e4, konstruktiivista tutkimusta. Sen p\u00e4\u00e4tavoitteena oli t\u00e4ydent\u00e4\u00e4 aikaisempia tutkimustuloksia toteuttamalla erilaisilla menetelmill\u00e4 kaksi toiminnallisuudeltaan ja ulkoasultaan samanlaista web-sovellusta ja vertailemalla niiden laatuominaisuuksia. Sovellusten tarkoitus on nauhoittaa ja tallentaa k\u00e4ytt\u00e4j\u00e4n kirjaamia erilaisia ty\u00f6teht\u00e4vi\u00e4 muistiin. Sovellusten tehokkuutta, yll\u00e4pidett\u00e4vyytt\u00e4, kytkent\u00e4\u00e4 ja kokoa mitattiin standardointij\u00e4rjest\u00f6jen m\u00e4\u00e4rittelemien laatustandardien avulla. Ensimm\u00e4isess\u00e4 versiossa JavaScriptin tukena k\u00e4ytettiin kolmansien osapuolten tekemi\u00e4 kirjastoja, automaatioty\u00f6kalua ja sovelluskehyst\u00e4. Toinen versio ei k\u00e4ytt\u00e4nyt t\u00e4llaisia apuv\u00e4lineit\u00e4.\r\n\r\nTutkimus osoitti, ett\u00e4 kirjastojen, automaatioty\u00f6kalun ja sovelluskehyksen k\u00e4ytt\u00f6 heikensi sovelluksen tehokkuutta sivun alustusvaiheessa ja kasvatti sen kokoa. Alustuksen j\u00e4lkeen n\u00e4it\u00e4 menetelmi\u00e4 k\u00e4ytt\u00e4v\u00e4 sovellus toimi kuitenkin tehokkaammin kuin verrokkisovellus. Menetelmien k\u00e4ytt\u00f6 parantaa sovelluksen yll\u00e4pidett\u00e4vyytt\u00e4 ja kytkent\u00e4\u00e4. N\u00e4m\u00e4 asiat vaikuttavat sovelluksen kehitys- ja yll\u00e4pitokustannuksiin. Kehittyneiden ja monipuolisten kirjastojen ja ominaisuuksien ansiosta negatiivinen k\u00e4sitys JavaScriptist\u00e4 v\u00e4henee jatkuvasti.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "JavaScript has been criticized for its slowness and it has suffered from its reputation as a toy language that is useful only for relatively simple scripting tasks. Earlier web pages were constructed with plain old HTML as static pages. They looked always the same on a browser and changed only if a file was edited on a server. These days, most web pages use JavaScript because it is possible to create dynamic and interactive functionality with it. JavaScript has become a more common language because it is very simple to use, flexible, efficient and there is a wide range of add-ons.\r\n\r\nA theoretical and conceptual study based on literature, and constructive research based on design science were used as the research methods. The main purpose of this research was to build upon previous research results by implementing two web applications with similar functionality and layout, and comparing their quality attributes. The web applications were created using different methods. The purpose of the applications is to record different tasks that the user wants to save. The efficiency, maintainability, coupling and size of the applications were measured with the help of quality standards defined by standard organizations. The first version used JavaScript libraries, a task runner and a framework created by a third party. The second version did not use such tools.\r\n\r\nThis study showed that the use of the libraries, task runner and framework decreased the efficiency of the application at the page initialization phase, and increased its size. After the initialization, however, the application built with those methods run more effectively than the other one. The maintainability and coupling of the application are improved through the use of these methods. The development and maintenance costs of the application are affected by these issues. As more advanced JavaScript libraries and applications become available, the negative perception of JavaScript will gradually improve.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted using Plone Publishing form by Petteri Aho (pejuaho) on 2015-04-14 10:34:17.739168. Form: Pro gradu -lomake (https://kirjasto.jyu.fi/julkaisut/julkaisulomakkeet/pro-gradu-lomake). JyX data: [jyx_publishing-allowed (fi) =True]", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by jyx lomake-julkaisija (jyx-julkaisija@noreply.fi) on 2015-04-14T10:34:18Z\r\nNo. of bitstreams: 2\r\nURN:NBN:fi:jyu-201504141575.pdf: 1505827 bytes, checksum: 389f41567e8774def009507f9217ed91 (MD5)\r\nlicense.html: 4779 bytes, checksum: 7d8b0dd4273d37442e4325f8614bfe80 (MD5)", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2015-04-14T10:34:18Z (GMT). No. of bitstreams: 2\r\nURN:NBN:fi:jyu-201504141575.pdf: 1505827 bytes, checksum: 389f41567e8774def009507f9217ed91 (MD5)\r\nlicense.html: 4779 bytes, checksum: 7d8b0dd4273d37442e4325f8614bfe80 (MD5)\r\n Previous issue date: 2015", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "1 verkkoaineisto (79 s.)", "language": null, "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.format.mimetype", "value": "application/pdf", "language": null, "element": "format", "qualifier": "mimetype", "schema": "dc"}, {"key": "dc.language.iso", "value": "fin", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": "en", "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.subject.other", "value": "JavaScript", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "web-sovellus", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "sovelluskehys", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "automaatioty\u00f6kalut", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "JavaScript-kirjastot", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "web-sovellusten vertailu", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "konstruktiivinen tutkimus", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "JavaScript : ennen ja nyt", "language": null, "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "master thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-201504141575", "language": null, "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Master\u2019s thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Pro gradu -tutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Tietojenk\u00e4sittelytieteiden laitos", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Department of Computer Science and Information Systems", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Information Systems Science", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietoj\u00e4rjestelm\u00e4tiede", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.date.updated", "value": "2015-04-14T10:34:19Z", "language": "", "element": "date", "qualifier": "updated", "schema": "dc"}, {"key": "yvv.contractresearch.funding", "value": "0", "language": "", "element": "contractresearch", "qualifier": "funding", "schema": "yvv"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_bdcc", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": null, "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "masterThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.subject.oppiainekoodi", "value": "601", "language": null, "element": "subject", "qualifier": "oppiainekoodi", "schema": "dc"}, {"key": "dc.subject.yso", "value": "JavaScript", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "sovellukset (tietotekniikka)", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "sovelluskehykset", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "verkko-ohjelmointi", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "sovellukset", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.format.content", "value": "fulltext", "language": null, "element": "format", "qualifier": "content", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}, {"key": "dc.type.okm", "value": "G2", "language": null, "element": "type", "qualifier": "okm", "schema": "dc"}]
id jyx.123456789_45626
language fin
last_indexed 2025-03-31T20:01:26Z
main_date 2015-01-01T00:00:00Z
main_date_str 2015
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/ee74d8c9-9e6a-45b4-86a7-8c41d258b0cc\/download","text":"URN:NBN:fi:jyu-201504141575.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2015
record_format qdc
source_str_mv jyx
spellingShingle Aho, Petteri JavaScript : ennen ja nyt JavaScript web-sovellus sovelluskehys automaatiotyökalut JavaScript-kirjastot web-sovellusten vertailu konstruktiivinen tutkimus Information Systems Science Tietojärjestelmätiede 601 sovellukset (tietotekniikka) sovelluskehykset verkko-ohjelmointi sovellukset
title JavaScript : ennen ja nyt
title_full JavaScript : ennen ja nyt
title_fullStr JavaScript : ennen ja nyt JavaScript : ennen ja nyt
title_full_unstemmed JavaScript : ennen ja nyt JavaScript : ennen ja nyt
title_short JavaScript
title_sort javascript ennen ja nyt
title_sub ennen ja nyt
title_txtP JavaScript : ennen ja nyt
topic JavaScript web-sovellus sovelluskehys automaatiotyökalut JavaScript-kirjastot web-sovellusten vertailu konstruktiivinen tutkimus Information Systems Science Tietojärjestelmätiede 601 sovellukset (tietotekniikka) sovelluskehykset verkko-ohjelmointi sovellukset
topic_facet 601 Information Systems Science JavaScript JavaScript-kirjastot Tietojärjestelmätiede automaatiotyökalut konstruktiivinen tutkimus sovellukset sovellukset (tietotekniikka) sovelluskehykset sovelluskehys verkko-ohjelmointi web-sovellus web-sovellusten vertailu
url https://jyx.jyu.fi/handle/123456789/45626 http://www.urn.fi/URN:NBN:fi:jyu-201504141575
work_keys_str_mv AT ahopetteri javascriptennenjanyt