简体   繁体   中英

Difference between Hybrid Mobile app and Mobile web app

Recently, I started learning about mobile app development frameworks called Mobile Angular UI , IONIC , Sencha , KendoUI . They help to develop mobile app using html, javascript and css. That's when it got me thinking if the above frameworks are hybrid or not. A Hybrid framework is one which helps to create mobile app using html, css and javascript. But so do mobile apps. So actually what is the difference between Mobile web app and Hybrid mobile apps.And are the above frameworks Hybrid or not??

Originally posted here: Cedcommerce

First of all, let me guide you what actually is a native app and what we mean by Native vs Hybrid mobile apps. A Native app is an application which is built specially for a particular operating system, different application for a different operating system using native language of that particular device.

If you're still confused about Native app development, it means creating an Android or iOS mobile application using the respective company's (in this case Google and Apple) SDK(Software Development Kit) and tools.

Two most widely used operating systems are Android and iOS where Android dominates the market with a whopping 86%, while iOS comes at a distant second at 12%.

Native vs Hybrid Mobile App Worldwide Smartphone OS Market share Image Credit: IDC

If you are developing for Android, that means writing your apps in Java (or Kotlin) and for iOS, writing your apps in Objective-C or Swift. The main tool Xcode is the integrated development environment in which your developer will create your native app.

Another type of less known Mobile app is called Hybrid app. Hybrid app development means using a 3rd party hybrid platform (examples include React Native, PhoneGap, Ionic, Cordova, or Xamarin) and using web technologies (HTML, CSS, and Javascript) to write a hybrid app that runs on both iOS and Android.

When it comes to Native vs Hybrid mobile apps the hybrid apps can run on any platform – (Android and iOS) – with the same code. This may sound like an advantage over the native apps because writing one app is cheaper than two but don't get excited so quickly as I will highlight why not to choose the hybrid apps as we go down.

While 79 percent of consumers would retry a mobile app only once or twice if it failed to work the first time, only 16 percent would give it more than two attempts. The poor mobile app experience is likely to discourage users from using an app again. Source

Users experience tops all the other features when it comes to mobile apps, a bad UX will surely help you get your app deleted and there is hardly any chance the user will ever return to your app again.

See How Native Apps provide Faster and User-Friendly Checkout

Talking about mobile apps, the number of downloads surely represents how good and popular an app is but the key factor is the user retention. And It's a known secret in the mobile development community that mobile app retention is pretty low. According to TechCrunch, one in four mobile users only use an app once.

Retention Curves for Android Apps Source: Quettra

Native apps are far more superior when it comes to Speed, Responsiveness and therefore scores more in the user retention segment. Native applications have the best performance, highest security, and best user experience.

Talking about native apps a simple yet top-performing solution for your online store is MageNative App

Native vs Hybrid Mobile Apps:

Built-In Features : A native app has better and faster access to device's native features and inbuilt utilities such as camera, GPS, calendar whereas hybrid app struggles a bit.

Speed : Hybrid applications are web applications (or web pages) in the native browser, such as UIWebView in iOS and WebView in Android (not Safari or Chrome) but native app runs as a standalone application (no web browser needed). Due to this dependency on a native browser, hybrid lags behind a native app.

Responsiveness : Native apps are more responsive compared to hybrid apps since they follow the design pattern for unique platforms but hybrid apps are same for all the platforms.

Offline usage : Since Hybrid apps are dependent on a native browser they are unusable without internet connection in contrast native apps like media players, games, navigation works well offline.

  1. Security : Native apps are stored in an application store and the approval process stops buggy or harmful from being published whereas no such store exists for hybrid apps.

Importance of Security Testing Source: QArea

App Stores also provides good accessibility if a user wants to search any particular app. Besides, before publishing the app you have the possibility to encrypt everything with standard tools, hide the implementation and so on.

  1. Better UX standards: As I mentioned earlier the problem with a hybrid app is that even the most brilliant user experience architect cannot truly build an app that caters to the two dominant user types: iPhone users and Android users whereas Native app follows the specific UX/UI standards for creating Android or iOS apps, which allow users to easily understand the interface and navigation of the apps. An example of a native app:

Native vs Hybrid Mobile App

Bottom-Line: Native vs Hybrid Mobile Apps It's time to finish the Native vs Hybrid mobile app battle with the conclusion that ultimately the user and his needs decide which framework will work best, for me Native apps are better than hybrid apps in almost all the major aspects.

The choice depends on you, if you are looking for a simple app with some basic functions and can handle daily simple tasks go for hybrid app but if you want a more complex app which can make full use of the device's inbuilt features and handle complex tasks then the native app will be the best choice and you won't regret.

Anything that wraps HTML/JS code into a native app is a hybrid. The difference is that the hybrid app relies on the UIView (think of it as a minimalistic web browser) to show all the content, while the native apps usually use the UIView only for browsing and have everything else coded in the native language. Basically, the hybrid app is always laid on the UIView and everything happens inside it. Similar to opening a dedicated web page in fullscreen and having access to all (or most) of the native phone features (vibration, sensors, notifications, etc...).

Think of a simple button made using HTML vs. a simple button made using Java/Objective C/C#... That's what hybrid frameworks are trying to make work and look as similar as possible. Hybrid apps require none (or almost none) native language coding.

"So actually what is the difference between Mobile web app and Hybrid mobile apps?"

None of the frameworks above say that. More specifically: none of them mentions mobile web apps with a contrast to hybrid apps because those are the same thing, just different semantics. What the frameworks offer is:

  • web version of the app (web app)
  • mobile version of the app (mobile app)

Bottom line:

Anything that is written in HTML/JS/CSS and functions as a native mobile app is a hybrid app.


This article shows the difference between the native app, hybrid app, and a "mobile web app": http://blogs.telerik.com/appbuilder/posts/12-06-14/what-is-a-hybrid-mobile-app-

Be careful , the last one is nothing but a website optimized for phones that can't be installed on a phone as an app, and it should definitely not be mixed with phone apps (native or hybrid). Excerpt from the URL above:

Native apps are built for a specific platform with the platform SDK, tools and languages, typically provided by the platform vendor (eg xCode/Objective-C for iOS, Eclipse/Java for Android, Visual Studio/C# for Windows Phone).

Hybrid apps, like native apps, run on the device, and are written with web technologies (HTML5, CSS and JavaScript). Hybrid apps run inside a native container, and leverage the device's browser engine (but not the browser) to render the HTML and process the JavaScript locally. A web-to-native abstraction layer enables access to device capabilities that are not accessible in Mobile Web applications, such as the accelerometer, camera and local storage.

Mobile Web apps are server-side apps, built with any server-side technology (PHP, Node.js, ASP.NET) that render HTML that has been styled so that it renders well on a device form factor.

Having all that in mind, all four frameworks you listed above can create mobile web pages (or mobile apps, as they call them), but seems like only Ionic is able to build hybrid apps that you can actually install on the phone (couldn't find relevant info on Sencha, but now you know what to look for).

Agree with all the above said.

Will just add/sum up the pros and cons of Hybrid Mobile Apps (Apache Cordova and React Native).

Apache Cordova

Pros

  • High development speed
  • Coded in web development technologies (HTML, CSS, Javascript) that yield cross-compatible iOS, Android, and web software (just one web developer needed)
  • Frameworks are availalbe that emulate native app UI elements (ie buttons, menus, etc.)
  • UX is very close to a native experience using UI elements that mimic native app behavior
  • Access to the smartphone's hardware API, facilitating device functionality (eg camera, push notifications, geolocation, and others)

Cons

  • UX is not as good as it is on native apps (300ms click delays, phantom clicks while scrolling, etc.)
  • The more complex the application, the slower it works due to the various wrappers and libraries employed
  • Doesn't work offline
  • Animations are difficult to implement in the UI

React Native

Pros

  • High development speed for the React-based apps
  • Web application built with React.js can be easily converted to a React Native mobile app, and some source code can be reused
  • Native user experience
  • Application looks and feels exactly like a native mobile app for a specific platform
  • Reduces development costs
  • Experts in React Native can usually build both Android and iOS apps

Cons

  • Relatively new technology (limited open-source solutions)
  • Limited with regard to visual design
  • Not ideal for complex projects like mobile games or apps that require a high load (significant computations)

If you are interested in comparison of Hybrid vs Progressive vs Native app development this article is worth reading.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM