Saturday, 25 March 2017

HTML 5 Apps Native Apps Hybrid Apps

A Native app is a application build completely using technologies native to a particular operating system. This could be Android, ios, blackberry or windows. For Android native apps are typically build using java while ios native apps can be build using Objective C or swift.

An HTML 5 apps are completely build using HTML, CSS and JavaScript only. HTML 5 apps are web apps and they must be run using an underlying mobile browser. HTML 5 app can be even used when the mobile device is offline or show an error message.


Pros and Cons

  • Portability
HTML 5 apps are portable across different device types and operating systems. An HTML 5 app written with responsive design methods would also scales appropriately depending on the size of the device it is currently being viewed on. If the update is required then the HTML 5 app is updated instantly for all the device types and operating systems.

Native apps by definition are unique to each operating systems and to support multiple operating systems a separate app must be written for each operating system. If the update is required then each native app must be updated and tested independently for all the device types and operating systems. Android app do not modify the layout to map the size of the device automatically however,  during development different sizes can be specified for different screen sizes and orientations. This results in quality of view compare to automatic responsive design.
  • Cost of Development 
HTML 5 apps are generally chipper to developed and maintain than native apps  since just a single app is required for multiple operating systems support. This single app can be developed by single web developer. For native apps the app development required a specialised developer for each of the type of OS's, Java for android Objective C & Swift for ios and C# for Windows which significantly more expensive than a single web developer.  
  • Speed and Efficiency 
Native apps are almost always more efficient and faster than HTML 5 apps. HTML 5 apps can not be speed up in-spite of fast JavaScript code with the similar native app functionality. Apple app store can reject the apps for being to slow. 
  • Hardware
Native apps can be interact with the wide range of hardware available on the device including location, camera, accelerometer, screen and more. HTML 5 apps do  not have the same ability to interact with the hardware which can be a major disadvantage depending on the desired functionality of the app.

Hybrid Apps

Hybrid apps can be build using a language framework and then wrapped with native specific code for each desired mobile operating system. For example you build an app using  HTML, CSS and JavaScript and then generate a wrapper around the app for android, ios and windows devices. The final product is a native app for each platform however, they shared a single code base. 

Hybrid Mobile App Frameworks
  • IONIC
  • Mobile Angular UI
  • Intel XDK
  • Appcelerator Titanium
  • Sencha Touch
  • Kendo UI
  • PhoneGap
Intel XDK

Intel XDK is a tool that allows you to create mobile apps using web technology. You do all your programming using HTML 5 that is HTML, CSS and JavaScript. What you get at the end is not just a web page, but an actual installable app. More importantaly its a cross-platform app, so you can use the same source code to generate an app for Android, IOS or Windows devices. 

1 comment: