Advantages of Progressive web apps
Native mobile apps are exclusively built for a specific type of Operatingsystem. They are called native because they are native to a particular device or platform. Apps builton one type of operating system cannot be used on another OS. In other words,Android apps can’t be used on the iPhone. They use the development tools andlanguage that the respective platform supports (e.g., Xcode and Objective-Cwith iOS, Eclipse, and Java with Android. It provides full access to alldevice controls like contacts, camera, sensors, etc. The native apps ensurehigh performance and great user experience as the developers use the nativedevice UI. Native apps can be accessed via respective app stores eg- Androidapps on Google Play Stores, iOS apps on App Store, etc.
Advantages of native apps:
1. Natives are very fast. 2. Easily distributed in google apple app stores. 3. More interactive and intuitive. 4. Easily interact with any feature of the phone.
Mobile Web Apps
The Architecture of Mobile Web Apps:
Hybrid App Architecture
Hybrid app architecture emerged in 2009 but has only become popular recently.This approach achieves the middle ground between native mobile applicationsand mobile web applications. While mobile web apps attempt to provide platformindependence, the price one pays for this is that they do not function whenthe device is offline and they cannot access device hardware like the camera,Bluetooth, accelerometer, or compass. The Hybrid App approach evolved todeliver platform independence while providing access to devise hardware andoffline operation. This is achieved by building apps using HTML5 pages thatrun in the browser (e.g. uiwebview) embedded inside a native container app.This app then provides a bridge for the HTML5 pages to access the low-leveldevice functions. The hybrid app is packaged as a native app and thus can bedistributed from the app store. They can operate offline since the HTML5 pagesare typically inserted inside the app; however, a good hybrid app developmentframework would allow these pages to be refreshed and update the app withouthaving to update the native app container. Just like the Web App approach,hybrid apps leverage software staff with web technology skills while limitingthe need for expertise in the native mobile operating system development.
Progressive Web Apps
The term ‘progressive web apps were coined by designer Frances Berriman andGoogle Chrome engineer Alex Russell in 2015. Progressive web apps are likeregular web pages but provide additional user functionalities like workingoffline, push notifications and device hardware access which was earlier onlyavailable to native mobile apps. The great thing about PWAs is that they canbe accessed via app icon on the device home screen and as soon as clicked,leads to the app website. PWAs are modern technology aimed at providing aseamless mobile experience. They are ‘native app like’, get automaticallyupdated, are served through HTTPS so are quite safe, they can run fastregardless of operating systems and device types yet providing similar userexperience and are easily installable.
The architecture of Progressive Web Apps:
Advantages of Progressive web apps:
1. Low on Data. An app which takes close to 10 MBs as a native app, can bereduced to about 500KB when made a PWA. 2. PWAs gets updated like web-pages. You get the latest version when you use.No need to update them every now and then. 3. You don’t need to install them to start using. They are simple web-pages.Users choose to ‘install’ when they like it. 4. Sharing is Easy. Unlike an app, you can share a PWA with its URL
Xamarin/React native apps
Advantages of Xamarin/React native apps:
1. Cross-Platform App Development 2. Native User-Interface 3. Less Number of Bugs 4. API Integration 5. Huge community and Support available 6. Shared Code Base
Current Generation (Mobile Apps)
This is when things got interesting. Though we believed that the Web was goingto be the future of application development and distribution, the iPhonepopped out from a genius’ brain, which not only kick-started a new generationof computing devices (i.e., the “touch era”), but also initiated a new way tobuild, distribute, and monetize applications, referred as the Mobile App model(4th Gen).As with every new generation, the new Mobile App model (or Client/Server 2.0model, as it applies to all device types) does address some of the limitationsof its predecessor, the Client/Server model, by providing a more efficientplatform for users to discover, install, update, and pay for theirapplications, which created a very prosperous environment for this new type ofapplication.The Mobile App trend is very well entrenched nowadays, especially for consumerapplications, as many angels and VCs continuously remind their followers.However, it is not the end-all, be-all, as it has inherited some of thegreatest limitations of the Client/Server model, which are platform dependencyand application deployment frictions.Regarding platform dependency, “going native” means going OS-specific. Thismight be an appropriate strategy for games or a mega-social software companylike Facebook or Linkedin, as their cost of production is negligible comparedto their adoption benefits. However, for most enterprise and social softwareapplication providers, forking development, teams, innovation, anddistribution is a very costly proposal, especially for established companiesthat already have a relatively successful Web presence.The biggest limitations of this new app store model come from itsclient/server heritage, as application updates are still user-initiated (asthey should be), which increases the support cost (especially when server APIare involved), as well as a newly-introduced application distribution frictionthat has been highly exacerbated by exclusive and over-controlling applicationstore rules such as those maintained by Apple and Microsoft’s app stores.So, while mobile apps definitely make sense for games or even newly-formedmobile-first companies that need to differentiate themselves from already-established cloud services, what initially made the Web so much better thanthe Client/Server model for some type of applications, is still true today inrespect to the mobile apps era, which is where the next generation comes in.
Next Generation (HTML5 & Hybrid)