Propostas com aluno

DEI - FCTUC
Gerado a 2024-05-04 11:18:54 (Europe/Lisbon).
Voltar

Titulo Estágio

Can websites with all the right vitamins be as secure and reliable as native apps?

Local do Estágio

SSE-CISUC

Enquadramento

Almost half of the world population has access to a mobile phone where they can access any website or application. This being said, it is important to develop performant, secure and robust applications. Due to the immense variety of devices and network conditions, the applications need to be thought carefully to ensure that users with less-capable devices are not left out.
For more complex use-cases, a mobile phone can not replace a laptop. Therefore, applications still have to perform well on both devices. SaaS products are more common than ever: google docs, github announcing codespaces where you can code from anywhere with a browser. Web applications are gaining more and more popularity and trying to replace applications that were once native.
The idea of performant applications in the web browser was first brought up by Steve Jobs when iPhone was announced back in 2007 but it waned straight away. Around 2017, Google resurrected this idea and baptized it as PWA, Progressive Web Applications.
Quoting them, PWA are "websites that took all the right vitamins" and aim to replace native applications having the following characteristics as the three main pillars:
capable - access to native APIs such as microphone, camera, etc (if something does not exist can still be done with technologies like Web Assembly) - performance
reliable - usable even without internet connection to provide good user experience
installable - as native apps, “PWAs should also work as standalone applications instead of just another browser tab”
In a time when 60% of the world still uses 2G (need for offline capability), 53% of the users wait 3 seconds until they leave the application if it is not loading (performance) and where an user installs, in average, zero applications per month it is inevitable not to be hopeful about a solution like Progressive Web Applications.
This is a new technology not supported by much research (Google is performing real world-case case studies about the usage of PWAs). It is important to study how well this technology can be compared to native applications (such as java/kotlin for Android, .NET for Windows, swift/objective C for iOS or Hybrid technologies such as Flutter that aims to provide outputs from every platform from a single codebase and might be studied as well in this work).

Objetivo

The main objective is to study how a PWA behaves in terms of performance, security and robustness. Also, it is important to see if they can really be an alternative and maybe replace the common and most used approaches (native/hybrid apps) and if so in which use-cases.
Service workers, the brain of PWAs, must be tested to see how reliable they can be (push notifications cannot be lost or imagine a situation where a user loses internet connection in the middle of a bank transfer). Other features such as application size, push messages, geolocation, native apis (camera, microphone), efficiency (battery usage), security (webauthn + service worker access) must also be assessed.

Plano de Trabalhos - Semestre 1

[14/09/2020 to 2/11/2020] State of the art analysis including which stacks are used (and how they are used) to develop this type of applications. Study of an architecture (group of components) that will be tested to compare against native applications.
[2/11/2020 to 30/11/2020] Experimental evaluation and comparison of the existing stacks and the chosen components.
[30/11/2020 to 14/12/2020] Design of a solution with the architecture and stack studied.
[14/12/2020 to 11/01/2021] Write the Dissertation Plan.

Plano de Trabalhos - Semestre 2

[01/02/2021 to 12/04/2021] Development of the proposed solution.
[12/04/2021 to 03/05/2021] Experimentation and validation.
[03/05/2021 to 31/05/2021] Write a scientific publication.
[17/05/2021 to 28/06/2021] Write the thesis.

Condições

The work is to be executed at the laboratories of the CISUC’s Software and Systems Engineering Group. A work place will be provided as well as the required computational resources.

Orientador

Nuno Antunes / Naghmeh Ivaki
nmsa@dei.uc.pt 📩