Evaluation of Server-Rendered Cross-Platform Native Mobile Applications
Dewire
High level description
Today, the most common way to develop cross-platform mobile apps is through frameworks like React Native, Flutter, or Kotlin Multiplatform. Each of these frameworks employs different strategies to build applications for both Android and iOS. However, they share a common limitation: any change—whether it's a minor text update or a new feature—requires the app to go through the App Store or Google Play Store approval process.
At Jfokus 2024, a talk introduced an alternative approach: rendering mobile applications directly from the server using JSX as a unified language across platforms, with native components used to display the app interface. This method enables developers to update applications by simply updating the server, bypassing the need for frequent app store submissions.
This thesis aims to evaluate the feasibility of server-rendered apps and explore whether they can be a viable alternative to traditional cross-platform development approaches.
Who are we looking for?
Bachelor/Master of Science in Computer Science/Engineering
Project description
In this thesis, two mobile applications will be designed and implemented. The first will be a proof-of-concept (POC) server-rendered application, while the second will be a fully native mobile application. The server-rendered app must utilize native components for the user interface, avoiding the use of web views that merely display web-based content. Both applications will provide the same functionality, ensuring a fair comparison.
The POC server-rendered app will be evaluated against the native app in terms of performance, usability, and maintainability to assess its viability as an alternative to traditional native development.
Purpose and Scope
In this thesis, investigate these questions:
- Are there any significant drawbacks to use the server-rendered solution?
- Limitations in terms of functionality?
- How does navigation work?
- Can we use native functions (ex. detect call state)
- Limitations in terms of functionality?
- How does the development experience compare between the different approaches?
References:
Jfokus Talk (Recording and presentation), https://www.jfokus.se/jfokus24/talks/1666
Example application from the talk, https://github.com/joakimkemeny/demo.serverdrivenui
- Department
- Thesis
- Role
- Examensarbete
- Locations
- Sundsvall
About Knightec
Evaluation of Server-Rendered Cross-Platform Native Mobile Applications
Dewire
Loading application form
Already working at Knightec?
Let’s recruit together and find your next colleague.