It was 2012 and Mark Zuckerberg was all but happy about Facebook’s mobile app. Mark one day said, ‘No more meetings until you come in with a mobile screenshot first’, and he did not have any product meetings for a couple of weeks.” As Sheryl Sandberg, Facebook’s COO and founder of leanin.org recalls.With the advent of smart phones, App development has become a hot market. There are a number of companies exclusively targeting the mobile economy while existing companies are focusing their expansion in this area. On the other hand there is a limited space on customers’ home screen and companies are fighting for that space.Progressive Web Apps, in case you are wondering what we are talking about, in Google’s words are “user experiences that have the reach of the web, and are reliable, fast and engaging. Their level of quality allows Progressive Web Apps to earn a place on the user’s home screen”As the mobile industry has progressed, so has the technology for creating applications and PWA seems to be emerging as a new standard, thanks to the support form Google and with Microsoft turning them into the Microsoft store. Let’s shine some light in there by getting some understanding of the main existing techniques: Hybrid and Native apps.
A native app is a mobile application developed specifically for a mobile operating system. For example, using Objective-C or Swift for iOS vs. Java for Android.
Native apps are designed in the language used for creating their respective operating systems; thus can easily and quickly tap on phone’s resources like camera, geo location, etc. increasing the potential and performance of what can be achieved using a mobile app, and greatly enhancing the user experience. Also as native apps needs to match the UI/UX standard for the platform, hence is easily adapted by the customer. On the downside, Native app development is difficult and hence takes relatively more dev time and needs skilled resources. As the development languages for both iOS and Android are different, distinct code modules need to be developed to serve each platform, thereby increasing the maintenance efforts too.
Because the core code is built on technologies like Java script/HTML5 we can easily use a good chunk of the code by just changing the wrapper to launch the app on multiple platforms. Hybrid apps thus help reducing the coding time/cost for launching the apps on multiple platforms and also reduce the maintenance efforts. Wrapping them in native code allows apps to access few of the phone features. This is generally achieved by using plug-ins to reduce development time.
The user experience and performance for hybrid apps cannot be at par with native apps. If we try to achieve the same level of UX, it might lead to increase in development costs which then might become comparable to native app development.
Facebook’s CEO found out at his own expense that relying too much on HTML5/Hybrid app for its mobile offering has not been the best decision made by the Company. Hybrid is most suitable when mobile is not key for your company’s strategy, or sometimes when you are at MVP stage.
PWA (Progressive web Apps)
With help from service workers (new feature introduced by Google in chrome), browsers can now pre-cache key resources thereby eliminating the dependency on network. This helps the application to load instantly. It starts as a normal web page in a browser and as users explore the webpage, they get prompted to add the app to the home screen, thus allowing the user to install the application, even without the need of app stores. When opened from the home screen of the mobile, it hides the browser UI controls and appears as a normal app.
Service workers enable reliable and intelligent caching, background content updating, push notifications, full screen view and – the most attractive – offer offline functionalities to prior visited sites. This means that after the first visit to any website, the site and app will be reliably fast even on flaky networks. AMP (Accelerated Mobile Pages) provides reliably fast web component for first load.
As the technology is still developing, there are still some major drawbacks faced by PWA. i.e.:
- Safari does not support PWA and hence customer experience will suffer when accessed on a iOS device.
- PWA just supports the hardware functionalities supported by HTML5
- PWA is not having capability to communicate with other applications on the mobile.
PWA is still a young technology but with results seen by some of the biggest firms across the globe, that have moved to PWA versions and have observed considerable increase in user visit (among them Twitter, The Financial Times, Flipboard, AliExpress, Telegram), it looks extremely promising.
In the table below we have compared each of the application technologies to provide a quick overview of the differences b/w them:
User experience for an app is one of the most important feature as it determines the reusability of the app. Currently, as native apps offer the best user experience and performance across platform, it is the best suited technology to increase your reach in the app world, although it comes at a much increased development cost & timeline. Any company looking at creating a stable version, eventually in the mature stage of their application should take this route. On the other hand if you are looking to develop something quickly and test its acceptance across market quickly and with a limited budget, hybrid apps / PWA are the technologies to choose. In particular PWA will give you better results compared to hybrid apps unless you are specifically trying to target the apple user community. In which case it could also be appropriate to develop an iOS native app only.
With the progress seen in the PWA app over the past few years, and the live applications made by some of the big companies across globe has given substantial evidence on why PWA is one of the hot topic in the app development world. This technology is showing the potential of being the next big thing as it’s trying to take the best of both native and web world by giving superior user experience and light model to access the applications. As soon as is gets adopted in the iOS world, we will surely see the potential for PWA to become the prominent alternative to other development techniques.
Our development team at Principio can guide through the different ways of building apps and advice on the best options, considering your strategy, market and stage of development. Drop us an email at firstname.lastname@example.org for a free consultation..