Mobile Development: Native Apps, Hybrid Apps, and PWAs. Who will die first?
Progressive Web Apps (PWAs) have burst onto the mobile web scene and it looks like they are not going anywhere; at least for now. All three approaches have their own set of advantages and disadvantages. But in the end, who will prevail and who will die?
Let’s take a closer look:
Native apps are designed for a specific operating system, either Android or iOS. These are developed in either Swift or Objective-C for iOS Apps or Java and lately Kotlin when developing an app for Android.
Advantaged of Native Apps
- The app is responsive and interacts with the in-built device features like Camera and GPS etc.
- The best experience because the code doesn’t suffer any transformations such as V-DOM parsing for React Native, or running code in a box for Cordova/Ionic
- Its core technology stands the test of time
Native apps are recommended for businesses with a media-rich application or with an app that would need a very deep level interaction with the user’s devices. So if you need a highly complex UI and user experience you may need to stick with native application development.
Disadvantaged of Native Apps
- The big disadvantage with a Native app is that is quite expensive due to higher development and maintenance expenses
- It also requires keeping track of two versions for the same application
Hybrid apps are those that are developed using a single code language for multiple platforms.
If you choose to take a Hybrid app approach, you will get an app that runs on both Android and iOS. The biggest benefit is that the development process is highly cost-effective. If you’re limited by a budget, or you are a start-up, you should probably go with a Hybrid app. It’s also a good way to test the market, with reduced costs.
Flutter is Google’s new, modern development kit designed to build mobile apps for Android, iOS, and Google Fuchsia.
Advantages Of Flutter
- Clean, clear, and smooth documentation
- Google’s support and strong community
- The reliably faster speed of development
- Amazing native app performances
- A wide range of expressive and flexible UI components
- Stateful Hot Reloading for faster change implementation
- Accessibility of native SDKs and their features
- Modern, enhanced, and flexible approach to the coding
- API support for 2D effects, animation, and gestures
Disadvantages Of Flutter:
- Although Dart is an easy-to-use programming language, Flutter requires learning Dart
- Complex lifecycle management compared to React Native
- As it’s been a year since Flutter’s launch, it isn’t mature like React Native
- Styling in Flutter is ... not that great
Progressive Web Apps
Progressive Web Apps are an emerging trend, some argue it’s the logical evolution of for the web space, and some companies (Instagram, Twitter, Google) seem to agree to that.
But let’s see why would a PWA be any better than a traditional application or even a hybrid.
It’s quite possible that browsers, not native apps, will be the future of mobile.
Fact: In 2018, more than half of website traffic worldwide was generated through mobile phones (52.2 percent). So it’s kind of common sense to provide services to users in the environment they’re already in.
In comparison with native apps, PWAs have a few advantages:
- Better discoverability. Content in progressive web apps can easily be found by search engines
- Easy to roll out updates. In comparison to native apps, PWAs allow you to significantly reduce time-to-market
- Allow designers to improve the consistency of the design
- Easy to build a multichannel experience
- Deliver the look and feel of a native mobile app. Your users will also have the benefits of good performance and push notifications and some other cool features still being added
- PWA apps are light. The weight of the apps is decreased by 80–90%. Twitter went from a 100mb+ native app to Twitter lite (PWA) which is only 1.5mb!
- PWA works offline, allowing the user to keep on browsing even without an internet connection. With any other web store, a user would have to drop this
- Stores built with PWA save up to 75% of the costs of a native app (both development and maintenance). With PWA you simply don’t have to make a separate native app, it’s enough to adjust your storefront
- Low Data Usage, which is great for emerging markets such as India where devices are slow and internet connections are weak
- They truly are “write once” applications
But here is the real value PWAs offer from a business point of view: the ability to cheaply engage customers without the friction and censorship inherent with native apps.
For more info on what native API’s the web can access, go check out this site.
So, in the end, the big questions is, who will prevail and who will die? For now, none.
The choice of whether to take a hybrid, native or PWA approach should be determined by the assessment your organization conducts. It should prioritize long-term cost, usability, and multiplatform support to make sure the best performing and appropriate apps are built for the business objective.
For native mobile developers, the best bet would be Flutter since they will feel right at home using it compared to all the madness going on in React Native’s JSX.
For web developers looking to start doing things on mobile, I would recommend you to take a closer look at what PWA’s really are and how the serviceWorker is going to improve your life, also you won’t have to write any native code, pinky promise.
But personally, I will keep a look at the new shiny library that may make mobile app development better, and more accessible. It’s possible that Native apps will lose track against hybrid apps and PWA’s solely for the reason of cost efficiency and the feeling of urgency that the industry has right now, where everyone wants their product shipped ASAP.
Going forward it’s important to remember that not everyone has access to fast devices or fast internet or even decent devices, also it’s important that as of now every single website already offers a “mobile version” of itself.
Web Developer @ Floating Dots