Transpiler-based architecture for web applications

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

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, Petri

Thesis advisor

Väyrynen, Joni

Keywords

transpiler, polyfill, web application, website, web development

Other note

Citation