Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by Subject "web"

Sort by: Order: Results:

  • Huotala, Aleksi (2021)
    Isomorphic web applications combine the best parts of static Hypertext Markup Language (HTML) pages and single-page applications. An isomorphic web application shares code between the server and the client. However, there is not much existing research on isomorphic web applications. Improving the performance, user experience and development experience of web applications are popular research topics in computer science. This thesis studies the benefits and challenges of isomorphism in single-page applications. To study the benefits and challenges of isomorphism in single-page applications, a gray literature review and a case study were conducted. The articles used in the gray literature review were searched from four different websites. To make sure the gray literature could be used in this study, a quality assessment process was conducted. The case study was conducted as a developer survey, where developers familiar with isomorphic web applications were interviewed. The results of both studies are then compared and the key findings are compared together. The results of this study show that isomorphism in single-page applications brings benefits to both the developers and the end-users. Isomorphism in single-page applications is challenging to implement and has some downsides, but they mostly affect developers. The performance and search engine optimization of the application are improved. Implementing isomorphism makes it possible to share code between the server and the client, but it increases the complexity of the application. Framework and library compatibility are issues that must be addressed by the developers. The findings of this thesis give motivation for developers to implement isomorphism when starting a new project or transforming existing single-page applications to use isomorphism.
  • Garmuyev, Pavel (2022)
    RESTful web APIs have gained significant interest over the past decade, especially among large businesses and organizations. However, an important part of being able to use these public web APIs is the knowledge on how to access, consume, and integrate them into applications. Since developers are the primary audience that will be doing the integration it is important to support them throughout their API adoption journey. For this, many of today's companies that are heavily invested in web APIs provide an API developer portal as part of their API management program. However, very little accessible and comprehensive information on how to build and structure API developer portals exist yet. This thesis presents a conducted exploratory multi-case case study of three publicly available API developer portals of three different commercial businesses. The objective of the case study was to identify the developer (end-user) oriented features and capabilities present on the selected developer portals, in order to understand the kinds of information and capabilities API developer portals could provide for developers in general. The exploration was split into three key focus areas: developer onboarding, web API documentation, and developer support and engagement. Based on these, three research questions were formulated respectively. The data consisted of field notes that described observations about the portals. These notes were grouped by location and action, and analyzed to identify a key feature or capability as well as any smaller, compounding features and capabilities. The results describe the identified features and capabilities present on the studied API developer portals. Additionally, some differences between the portals are noted. The key contribution of this thesis are the results themselves, which can be used as a checklist when building new API developer portal. However, the main limitation of this study is that its data collection and analysis processes were subjective and the findings are not properly validated. Such improvements will remain for future work.
  • Myllys, Petri (2017)
    Tiimityöskentely on keskeinen ketterän ohjelmistokehityksen ominaispiirre. Joustavalle yhteistyölle ja muuttuviin tilanteisiin mukautuvalle kehitykselle on oleellista, että kehitystiimin jäsenet ja läheisimmät sidosryhmien edustajat ovat jatkuvassa vuorovaikutuksessa. Samassa tilassa työskenteleminen mahdollistaa hyvin tällaisen vuorovaikutuksen. Etätyöskentelylle ja erityisesti etäyhteistyöskentelylle on kuitenkin nähtävissä kasvava tarve ohjelmistotuotantoprojekteissa: työskentelyn geografinen hajauttaminen tuo muun muassa lisää vaihtoehtoja tiimien muodostamiseen ja vähentää yleisesti työskentelyn sidonnaisuutta tiettyyn paikkaan. Sekä kehitystiimien sisäisessä kommunikaatiossa että sidosryhmäkommunikaatiossa hyödynnetään usein jo tälläkin hetkellä erinäisiä etäyhteyksiä, mutta nykyiset kommunikaatioväylät ovat vajavaisia esimerkiksi yhteiseen, työn visualisointiin perustuvan työn organisoimisen näkökulmasta. Tämä aiheuttaa ristiriidan modernin ketterän kehityksen ja etäyhteistyöskentelyn välille ja edellyttää uudenlaisten etäyhteistyömenetelmien kehittämistä. Tutkielmassa tarkastellaan työn organisoimista ketterässä ohjelmistokehityksessä ja tämän suhdetta etätyöskentelyyn. Etäyhteistyön tukemista ketterän kehityksen kontekstissa tutkittiin kehittämällä web-pohjainen virtuaalitodellisuuteen perustuva sovelluskonstruktio, jonka fokuksena oli tyypillisten ketterälle kehitykselle ominaisten kokousten mahdollistaminen etäyhteistyöympäristössä. Konstruktion välityksellä havaittiin, että virtuaalitodellisuuden avulla voidaan saavuttaa uudenlaisia etuja perinteisiin etäyhteistyöväyliin nähden: virtuaalitodellisuus tarjoaa mahdollisuuden vuorovaikutuksen spatiaalisen aspektin huomioimiseen sekä artefaktien parissa yhdessä työskentelemisen yhdistämiseen yhdeksi kokonaisuudeksi äänipohjaisen kommunikoinnin kanssa. Toisaalta modernien web-teknologioiden suhde virtuaalitodellisuuteen ei ole ongelmaton, ja ratkaisumallin vaillinainen teknologinen maturiteetti edellyttää kompromisseja toteutustasolla.