Transpiler-based architecture for web applications
Loading...
URL
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu |
Master's thesis
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
2021-12-13
Department
Major/Subject
Computer Science
Mcode
SCI3042
Degree programme
Master’s Programme in Computer, Communication and Information Sciences
Language
en
Pages
51
Series
Abstract
Web technologies are constantly evolving. JavaScript, CSS, and HTML are getting new versions and web browsers provide more APIs for web developers. But users are visiting these web pages on a wide variety of web browsers, that have varying levels of support for these latest features. Additionally, users are not updating their browsers to the latest versions immediately. The web page should still work for most users. On the other hand, these new features make developing web pages and applications easier and allow new possibilities for what pages and applications can do. So, the question becomes how to serve a functioning web page to all users and still allow the usage of the newest language features in those pages. One solution is to use a transpiler. A transpiler is a tool for converting source code from one language to another. In web development, it is used to convert the latest language version to an older version, so that it is supported in older browser versions. Another complementary solution is polyfills. A polyfill is a JavaScript library that can add missing APIs to browsers, so that code relying on these APIs will work. This thesis focuses on improving the support of older browsers and the performance of web browsers on the Iltalehti news website. Iltalehti already uses transpilers and polyfills to support older browsers. This thesis will focus first on how to form a list of browser versions that should be supported from website access analytics and updating the current list to this new list. Second, how much transpilation target change affects file sizes and thus website performance. And lastly, how automated testing can be used to ensure that website is actually working in all these browser versions.Verkkoteknologiat kehittyvät jatkuvasti. JavaScript, CSS ja HTML saavat uusia ver- sioita ja verkkoselaimet tarjoavat yhä uusia rajapintoja sivustojen kehittäjille. Mutta käyttäjät vierailevat sivustoilla eri selaimilla, joista jokaisella on erilainen tuki näille uusille ominaisuuksille. Lisäksi käyttäjät eivät päivitä selaimiaan heti uusimpaan ver- sioon. Toisaalta nämä uudet ominaisuudet tekevät sivustojen kehittämisestä helpompaa ja tarjoavat uusia mahdollisuuksia sivustojen ja verkkosovellusten toimintaan. Haasteena on kuinka samaan aikaan tarjotaan kaikille käyttäjille toimiva sivusto sekä mahdolliste- taan näiden uusien ominaisuuksien käyttö sivustolla. Yksi ratkaisu tähän on kääntäjä, joka kääntää yhden ohjelmointikielen lähdekoodia toisen ohjelmointikielen lähdekoodiksi. Verkkosivujen kehittämisessä tämäntyyppistä kääntäjää käytetään kääntämään ohjelmointikielen uusimman version mukaista läh- dekoodia vanhempaan versioon, jotta se toimisi myös vanhemmissa selaimissa. Tämän lisäksi käytetään JavaScript-kirjastoja, jotka lisäävät vanhempiin selaimiin puuttuvia rajapintoja. Tämä diplomityö keskittyy parantamaan tukea vanhoille selaimille ja parantamaan suorituskykyä Iltalehden uutisverkkosivustolla. Iltalehdessä käytetään jo mainittuja tapoja vanhojen selaiminen tukemiseksi. Ensiksi koostetaan lista selaimien versioista ja käyttäjämääristä Iltalehdessä kävijämittauksen perusteella. Seuraavaksi tämän lis- tan perusteella päivitetään tuettujen selaimien listaa Iltalehdessä ja tutkitaan kuinka paljon tämä vaikuttaa sivuston muodostavien tiedostojen kokoon ja tätä myötä suoritusky- kyyn. Viimeiseksi tutkitaan kuinka Iltalehden selaintuen toimivuutta voidaan varmistaa automaatiotestauksen avulla.Description
Supervisor
Vuorimaa, PetriThesis advisor
Väyrynen, JoniKeywords
transpiler, polyfill, web application, website, web development