Mobile & web development technologies
There are several technologies for mobile and web application development. Below are compared the main technologies for developing mobile applications based on multiple factors.
Runs on webview, more CPU and memory consuming
Native-like performance; native execution of the code
The best performance due to native execution
Good to test an idea in order to provide your users with a simple version of your app
Good if you want to build a more polished MVP, but also want to build on it long-term
Not the best choice for an MVP.
Flutter, React Native, Xamarin
Java, Kotlin, Objective-C, Swift/SwiftUI
Harder to find platform-specific issues. Most of the debug process happens in the browser
Great tools and mechanisms to find issues. In some cases native debugging may be needed
Straight to the problem, easy profiling and optimizing processes
Good and growing community, mainly open source. Some modules may be needed to be written from scratch
Strong documentation from platform owners; big community. May need to analyze native documentation for complex issues
Big community, large support from platform owners - Google & Apple; best documentation
Slower and not so efficient due to multiple layers between the app and hardware
All Application Programming Interfaces (APIs) to the hardware is available, but in the dependency with platform author
Direct access to all the device hardware; no intermediate layers
To match the UI of the user’s platform you must use a library or building components from scratch. Laggy interface.
Almost native look and feel. Standard UI components provided by the framework maintainer.
No compromises. Users will get a sense of familiarity while interacting with the app
Mostly works with reusable code for all platforms. While costs are lower due to web technologies, they can increase when you want to generate the native app experience.
Mostly works with reusable code. Might increase the cost due to specialized developers
More expensive. Separate development teams for iOS and Android platforms