Web components as application building blocks

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorSvan, Lauri
dc.contributor.authorPelkonen, Hannu
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.supervisorAura, Tuomas
dc.date.accessioned2015-07-01T08:16:06Z
dc.date.available2015-07-01T08:16:06Z
dc.date.issued2014
dc.description.abstractThe evolution of the web towards an application platform and its integration with mobile technologies has set the new requirements for the web standards. The web has experienced a rush to the client-side. Even though the client-side complexity has increased radically, the underlying technologies have provided few possibilities to modularize an application. The web page document object model, DOM, has not provided any isolation between the different parts of the document. Even if we have well modularized JavaScript frameworks on top of DOM, the final composed DOM structure vanishes these boundaries. In this work, we investigate the new Web Component specification that tries to solve these problems. We evaluate the Web Components from the perspective of dynamic content support, encapsulation, consistent interfaces and component hierarchy and evaluate how the current problems could be solved with the new specification. As a case study, we re-implemented an existing web-page menu component with the Web Component technologies and investigated how problems were solved in that particular case. The use case showed that the different parts of the Web Component specification could be combined to achieve a good modularization even on the DOM tree level. We raise some concerns about the performance impact and drawbacks related to the weak modularity which the polyfilled version of the technology could cause when the browser does not support specification natively.en
dc.description.abstractWebin kehittyminen kohti sovellusalustaa ja mobiiliteknologian yhdistyminen olennaiseksi osaksi webiä on asettanut uusia vaatimuksia web-standardeille. Webpalvelut ovat yhä enemmän sovellusmaisia ja asiakaspuolen kompleksisuus on kasvanut huomattavasti. Vaikka sovelluksien koko on kasvanut, webin perusteknologiat ovat tarjonneet hyvin vahan mahdollisuuksia modularisoida ohjelmaa asiakaspuolella. Web-sivujen objektimalli, DOM, ei ole tarjonnut minkäänlaista eristystä eri osien välillä samassa dokumentissa. Modulaariset JavaScript-sovelluskehykset ovat yrittäneet ratkaista ongelmaa, mutta nykyisen standardin tekniset rajoitteet estävät halutun lopputuloksen saavuttamisen. Esittelemme tässä työssä Web Component -spesifikaation, joka yrittää paikata nykyisten teknologioiden puutteita. Selvitämme spesifikaatiota dynaamisen sisällön, kapseloinnin, komponenttien yhtenäisen rajapinnan ja komponenttihierarkian näkökulmista. Tarkastelen kuinka hyvin nykyisen standardin ongelmat voidaan ratkaista uuden spesifikaation tarjoamilla teknologioilla. Työn soveltavassa osassa toteutimme jo olemassa olevan komponentin uudestaan käyttäen Web Component -teknologioita ja tarkastelimme kuinka alkuperäisen toteutuksen ongelmat voitiin ratkaista tämän komponentin tapauksessa. Näytämme kuinka eri Web Component -teknologioita voidaan yhdistellä ja saavuttaa modulaarinen rakenne myös dokumentin DOM-rakenteessa. Tarkastelemme myös suorituskykyä ja heikompaan modulaarisuuteen liittyviä haittapuolia, jos joudumme käyttämään siirtymävaiheen ns. polyfill-toteutusta teknologiasta.fi
dc.format.extent57 s.
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/17081
dc.identifier.urnURN:NBN:fi:aalto-201507013723
dc.language.isoenen
dc.programme.majorTietokoneverkotfi
dc.programme.mcodeT-110
dc.rights.accesslevelclosedAccess
dc.subject.keywordkapselointifi
dc.subject.keywordmodularisointifi
dc.subject.keywordHTML5fi
dc.subject.keywordweb componentsen
dc.subject.keywordencapsulationen
dc.subject.keywordmodularizationen
dc.titleWeb components as application building blocksen
dc.titleWeb components -spesifikaatio sovelluksen perustanafi
dc.typeG2 Pro gradu, diplomityöfi
dc.type.dcmitypetexten
dc.type.okmG2 Pro gradu, diplomityö
dc.type.ontasotDiplomityöfi
dc.type.ontasotMaster's thesisen
dc.type.publicationmasterThesis
local.aalto.digifolderAalto_06580
local.aalto.idinssi49360
local.aalto.openaccessno

Files