The earliest App development only has the concept of native, Html page is only used to do some simple static resource display, but with the prosperity of H5, we found that many functions and logic can be realized by web, and then native as a container display, and THE PAGE displayed by H5 is more cool, more rich functions. IOS, Andriod have good support, so the development efficiency is higher, the cost is lower, and the user experience is good. At present, the mainstream apps in the market are mainly divided into three types: native APP, WebAPP (HTML5) and hybrid APP. The corresponding development modes are native development, H5 development and hybrid development. Here, the characteristics and advantages and disadvantages of the three are analyzed in detail.

Three major apps

NativeAPP (NativeAPP)

Native APP is to use the official development language, development class library and tools of Android and iOS platforms to develop. Examples include Java, Eclipse, Android Studio for Android, Swift, Objective-C, and Xcode for iOS. Native App should be the best in terms of application performance and interactive experience. This mode is usually composed of “cloud server data + App application client”. All UI elements, data content and logical framework of App application are installed on mobile terminals. Users can only download it through the App Store and App Stores, and each mobile operating system requires a separate development project. It is generally used to develop pure tool apps without frequent updates, such as wechat client and some management applications.

Advantages:

  1. Access to all functions of the mobile phone, have access to various functions of the mobile phone, call native devices, such as access to personal information, camera, gravity accelerator, GPS, etc.;
  2. With full functions, fast running speed, high performance and strong stability, it has the best user experience among the three apps.
  3. Support a large number of graphics and animation, running without delay, system response speed, good fluency;
  4. Page layout, function realization, logical steps are realized by code, good compatibility with the system, high security, less flash back phenomenon.
  5. Easy to discover (in the App Store) and rediscover (the App icon will always be on the home page), high user viscosity;
  6. Faster use of the interface provided by the device, processing speed has advantages;
  7. A number of development tools and human support are available to help with development.
  8. No browser is required to directly download independent applications to run on the device, easy to use after installation;
  9. Mobile users can also access previously loaded data in the APP when they are not connected to the Internet
  10. You can make money by downloading your App (but the App Store takes 20-30% of the revenue)

Disadvantages:

  1. The development language is more difficult to learn than the Web front-end, and the entry threshold of native people is high. Android and iOS need to learn independently. Android is based on Java language, and the bottom layer calls Google’S API. IOS is based on OC or Swift language and invokes API provided by App.
  2. The development cost is high and the project cycle is long. It requires two special developers to develop two sets of independent code for Android and IOS, which cannot be developed cross-platform and supports limited devices with poor portability.
  3. The App needs to be released to the App market for review. The content is limited according to the regulations of different platforms. The review standard is strict and the cycle is long.
  4. The application installation package is large and contains UI elements, data content, and logical framework, occupying the memory resources of users’ mobile phones.
  5. Every update and maintenance of an APP must be submitted to each APP Store for review, uploaded and released to the APP market. Users can update the APP Store or the APP market, download and install a new package again, and can only open the APP after the download and installation is completed. Users can comment on and complain about the APP.

Web APP (HTML 5)

The website that can be opened in the browser of the mobile phone is a Web App. It is an App development using Web technology. In essence, it is the superposition of browser functions, developed with ordinary Web development language and run through the browser. Web technology itself requires the support of browsers to display and user interaction, so the main technologies used are HTML5, JavaScript, CSS and so on. Suitable for displaying pages with large paragraphs of text, image typesetting and rich styles. Many webApps are written using vue and React frameworks.

Advantage:

  1. The development cost is low and the cycle is short. H5 front-end engineer only needs to develop a set of code, which can run on Android, IOS, Windows and other devices at the same time. It supports a wide range of devices and is compatible with a variety of devices. There are a number of development frameworks on the market that can help developers reduce development cycles and difficulties;
  2. There are no restrictions on content since there is no app market;
  3. No need to install App, will not occupy the user’s mobile phone memory, users can directly access through the browser. This is both its strength and its weakness: users run out and retention is low.
  4. Simple maintenance, users do not need to download and install, only need to be resolved by the browser, through the browser can be directly accessed;
  5. Developers only need to update through the server, users can directly use the latest version number (their own initiative to update, users do not need to manually update), the user does not feel the update operation, to achieve a trace update (need to pay attention to the browser cache problem).

Disadvantages:

  1. Strong dependence on the network, once there is no network can not carry out any operation, traffic consumption, slow network speed affects the access speed;

  2. Due to the limitations of Web technology itself, the functions that can be used are limited, and it cannot directly access all functions of the phone. Many permissions are limited, such as camera microphone, GPS, gravity accelerator, offline storage, etc., so it has great limitations in experience and performance.

  3. The App runs slowly, the page cannot carry too much, and the fluidity is poor when switching.

  4. Compared with the native App, the performance and user experience are greatly reduced, and the pictures and animations are not well supported and stable.

  5. If users use more of the newer browsers, there will be performance problems;

  6. You can’t monetize a download because it’s not downloaded through the App Store.

HybridAPP

Hybrid App is a combination of native App and Web App. During development, it not only utilizes the development technology of native App but also applies HTML5 development technology. Therefore, it must be partially executed on the device and partially executed on the Web. Generally speaking, this is the mode of web pages, usually composed of “HTML5 cloud website +APP application client” two parts.

Hybrid development is a development mode of learning from each other. The native code part uses Web View plug-ins or other frameworks to provide containers for H5 (WebView in Android, UIWebview below iOS7, WKWebview above iOS7), and nest Html 5 pages. The main business implementation and interface display of the program are realized by using the Web technology related to H5.

Advantages:

  1. High development efficiency, short cycle, a set of code can be compatible with Android, IOS, common WebKit browser devices, can be cross-platform development, reusable is very high;
  2. It can be downloaded from the App Store, and some content can be run offline.
  3. You can access the phone more than the Web version of the App, but still not as good as the native App;
  4. It is convenient to update and maintain the code. When the version is upgraded, it only needs to be upgraded on the server, and there is no need to upload the App Store for review.

Disadvantages:

  1. User experience is not as good as native App applications;
  2. Slow loading speed and high network requirements;
  3. The technology is not very mature and the security is poor.

conclusion

After analyzing the above three development modes, they each have advantages and disadvantages, so in the actual development, how should we choose? Specific needs to be considered according to the team’s product needs, comprehensive project budget, online time, product functions and other aspects.

  • If the budget is sufficient, the performance requirements are high, and the development cycle is long, the native App with better user experience can be considered.

  • If the product needs to be launched in a short time, is compatible with all platforms, does not pursue user experience and performance, and does not have the need for offline access, you can choose Web App.

  • In pursuit of performance, experience and development efficiency, hybrid APPS are recommended if some functions require the call of camera head, microphone, GPS positioning and other mobile phone native functions.

Hybrid App integrates the advantages of the two apps, but it still lacks performance at present. It is not to say that hybrid App is the best solution. According to the actual needs to make a choice is the right approach, suitable is the best, of course, if conditions allow, native plus Web versions of the development together better.