Mobile applications may be classified by numerous methods. A common scheme is to distinguish Native (apps that are built exclusively for a particular operating system be it Android or iOS), Hybrid (hybrid between the native and the web-based technologies), and web-based apps.
If you want to build native apps for Android or iOS, I suggest you to start in the official documentation:
In order to build Hybrid apps, there’s different technologies we can go for:
- React Native – used by Bloomberg Walmart, …
- Apache Cordova.
- Ionic Framework – used by NASA, Electronic Arts, BMW, …
- Flutter – used by Google Assistant, The New Your Times, …
While Hybrid apps might be tempting due to being developed using web-based technologies like JavaScript, they are generally speaking less performant and there’s at least three companies that ditched them:
- React Native at Airbnb
- React Native at Udacity
- Facebook’s Zuckerberg: ‘The biggest mistake we’ve made as a company is betting on HTML5 over native.’
Probably you also heard the term Progressive Web Apps (PWAs). As Mozilla describes them,
Progressive Web Apps are web apps that use emerging web browser APIs and features along with traditional progressive enhancement strategy to bring a native app-like user experience to cross-platform web applications.
Due to looking and feeling like native apps, we see many current examples of PWAs in the Case Studies here. This definitely doesn’t mean Native apps will be substituted; rather, PWAs are more in competition with responsive mobile websites.