fi en en fi en en fi en en zh fi fi en fi fi en ru en en en fi fr en en fi en fi en en en en fi tr eu es en en sl en en fi en fi fi fi fi fi fi fi fi en fi en fi en en en en en en en en en en en en en en en en fa en en en en fi en en en en en en en en en en en en en en
JYX - JavaScript ja takaisinkutsut suomalaisilla verkkosivuilla : takaisinkutsumenetelmän yleisyys ja ongelmat
University of Jyväskylä | JYX Digital Repository
English  | Give feedback |
JavaScript is disabled for your browser. Some features of this site may not work without it.
Show download detailsHide download details
JavaScript on hyvin paljon käytetty ohjelmointikieli ja verkkosivuilla vallitsevassa asemassa. JavaScript-kieliset ohjelmat sisältävät kuitenkin paljon virheitä. Verkkokeskusteluissa ”takaisinkutsuhelvetti”, eli tilanne jossa ohjelmakoodi on monien sisäkkäisten takaisinkutsullisten funktioiden vuoksi hyvin vaikesti ymmärrettävä ja hallittava, nostetaan yhdeksi kielen kipupisteistä. Tässä tutkimuksessa tutkittiin kirjallisuudesta JavaScriptin takaisinkutsumenetelmään liitettyjä ongelmia sekä sitä korvaavia asynkronisen toiminnan menetelmiä. Empiirisessä tutkimuksessa kartoitettiin suomalaisten verkkosivujen JavaScript-ohjelmakoodia. Ohjelmakoodin määriä, sijaintia ja ominaisuuksia mitattiin. Erityisesti tutkittiin takaisinkutsumenetelmän hyödyntämistä ja siihen liittyvien sisäkkäisyyksien syvyyksiä. Tutkimusta varten kehitettiin mittausohjelmisto, jonka avulla tutkimus suoritettiin. Tiedostot haettiin sivustoittain, tiedot mitattiin ja havainnot kirjattiin havaintomatriisiin. Tutkimukseen valittiin suomalaisia verkkopalvelun sisältäviä verkkosivustoja jaoteltuina tarkoituksen mukaan viiteen ryhmään ja tutkittuja sivustoja oli yhteensä 134. Tutkimus osoitti, että suomalaisten verkkosivujen sisältämän JavaScript-ohjelmakoodin ominaisuudet vaihtelevat sivuston tarkoituksen mukaan. Tutkimuksessa havaittiin myös, että sivustoilla hyödynnetään erittäin paljon sekä yleensä HTML-tiedostoihin sisällytettyä JavaScriptiä että asynkronisen toiminnan menetelmää, jossa HTML-elementtien attribuuteiksi asetetaan JavaScriptiä. Tutkimusaineistosta oli löydettävissä monitasoisia sisäkkäisyyksiä ja takaisinkutsumenetelmän hyödyntäminen muutenkin oli yleistä. Sen sijaan tutkitut takaisinkutsuja korvaavat asynkronisen toiminnan menetelmät olivat aineistossa vähäisiä. Tästä huolimatta tutkimuksessa havaittiin sivustoryhmittäin tarkasteltuna viitteitä riippuvuudesta lupausabstraktion löytymisen ja vähäisemmän sisäkkäisyyden välillä. Tuloksia vertailtiin julkaistuun tutkimukseen, jossa joitakin samoja asioita oli tutkittu avoimen lähdekoodin projekteista. Julkaistun tutkimuksen tulosten havaittiin olevan osin kyseenalaisia ja jopa virheellisiä. Vertailukelpoisten tietojen osalta tulokset olivat varsin yhteneviä. ...
JavaScript is a very widely used programming language. It is used in almost all websites  and all modern web browsers support it. However, applications developed with JavaScript  contain a lot of errors. Callback functions have been generally considered to cause  errors. Callback hell is a situation where there are deeply nested, usually anonymous and asynchronously called, callback functions. This makes the program code hard to understand and to maintain. In this study we performed a literature review of problems related to JavaScript callback mechanisms and also some surrogate asynchronous methods. An empirical study was performed to analyze JavaScript code used in Finnish websites. Code characteristics, usage of callback mechanism and depth of nested functions were measured. A measurement tool was created to collect measurements from selected web sites. For each site all necessary files were first downloaded, then analyzed, and the results were saved to a data matrix. The total number of analyzed web sites was 134 in five different categories. Our research indicates that the style of JavaScript code varies between the categories. We also found that many web sites embed JavaScript directly in HTML and also within HTML attributes. Frequent usage of callback functions was found from the collected data set as well as deep nesting of these functions. Only few surrogate methods were used. Despite this, we found indication of correlation between use of the promise abstraction and shallower levels of nesting. Results were also compared with a published research where same things were analyzed from Open Source -projects. We found that some of their results were questionable or even incorrect. For comparable parts the results were similar. ...
takaisinkutsu asynkronisuus takaisinkutsuhelvetti callback callback-hell JavaScript verkkopalvelut
Show full item record
Pro gradu -tutkielmat [24077]
Showing items with similar title or keywords.
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 ...
Tutkimusdata - JavaScript ja takasinkutsut suomalaisilla verkkosivustoilla - Takaisinkutsumenetelmän yleisyys ja ongelmat
Hakemistosta löytyy raaka-aineisto, mittaustulokset ja työkalut, jotka liittyvät pro gradu -työnöni. HUOM! Aineisto tulee pyynnöstä saataville myöhemmin.
Haitallisen JavaScript-koodin tunnistaminen koneoppimismenetelmiä käyttäen
Tutkimuksessa tutkitaan haitallisen JavaScript-ohjelmakoodin tunnistamista koneoppimismenetelmin opetettujen luokittelijoiden avulla. Tutkimusaiheen valintaan vaikuttivat seuraavat kolme tekijää. Tekijöistä ensimmäinen oli ...
HTML5 monialustaisessa pelikehityksessä : kaksiulotteiset minipelit Phaser-pelimoottorilla
Mobiililaitteiden yleistyessä videopelien pelaamiseen on tarve pelien helpommalle kehitykselle ja levitykselle kasvanut. HTML5 on avoin web-standardi, joka mahdollistaa monialustaisen multimediasisällön näyttämisen suoraan ...
“You really brought all your feelings out” : Scaffolding students to identify the socio-emotional and socio-cognitive challenges in collaborative learning
Näykki, Piia; Isohätälä, Jaana; Järvelä, Sanna (Elsevier, 2021)
The aim of this study is to explore how students experience and describe socio-cognitive and socio-emotional challenges in collaborative learning. The participants (N = 20) were teacher education students whose collaborative ...
Tunes and musical notes
All of JYXCollection listBy Issue DateAuthorsSubjectsPublished inDepartmentDiscipline
How to publish in JYX?
Publish Your Thesis Online
Open Science at the JYU
Unless otherwise specified, publicly available JYX metadata (excluding abstracts) may be freely reused under the CC0 waiver.