Native app, Web app or hybrid app

Source: Internet
Author: User
Tags home screen

Native app, Web app, or hybrid app?Technical Punctuation 1 year ago (2014-05-09) 3,036 ℃ 0 Reviews

First, what is the native App?

The Native app is the native app, which we generally call the client, is a standalone application developed for different mobile systems, and the most common way to download the Native app is to access the App store, such as the Apple App Store, the Android Market, and the apps that need to be downloaded to the phone and installed. Google play and more. The technical implementation is typically written in a specific language for the operating system, such as developing an iOS app using objective-c and developing an Android app using Java+android.

Benefits of the Native app:

    • Can be easily found in the store and can generate the corresponding icon on the phone's home screen
    • Can use the system API and platform features to access the phone's provided functions (GPS, camera, etc.)
    • Access to on-premises resources to support offline work and save user traffic costs
    • Provides different experiences for different platforms and optimizes user experience for platform features
    • Highly relevant to the system for faster running speeds and performance, and support for rich graphics and animations.

Disadvantages of the Native app:

    • Development costs are high and need different technical backgrounds for different platforms
    • High maintenance costs, users must manually download the update, the historical version cannot be maintained
    • Unknown on-line time that needs to be audited by the App Store

The biggest advantage of the Native app is that it can use APIs provided by operating system developers. These APIs can be categorized into two main categories: low-level APIs and advanced APIs.

    • Low-level API: Applications can contact the touchscreen or keyboard directly, render graphics, connect to the network, process audio received from the microphone, play sound through a speaker or microphone, or receive images or videos from the camera. Applications can access the Global Positioning System (GPS), receive azimuth information, and, of course, read and write files on SSDs, or access any other hardware components available and in the future.
    • Advanced API: Provides a higher level of service that is important for a personal mobile experience, such as browsing the web, managing calendars, contacts and albums, and of course including the ability to call or send and receive text messages.

Another important set of APIs provided by the operating system is the GUI toolkit. Each mobile operating system comes with its own set of user interface components, such as buttons, input areas, sliders, menus, menu bars, dialog boxes, and more. Applications that can use these components inherit the look and feel of that particular mobile operating system, often resulting in a very fluid user experience.

Second, what is Web App?

Web App is also called Web application, simply say is a touch screen version of the site. Web applications are fully developed using Web technologies such as HTML, JavaScript, and CSS, accessed via a mobile device browser, with the drawback that these browser-based applications cannot invoke system APIs to implement advanced features or high performance requirements.

Advantages of the Web app:

    • Low development costs, using existing web development technologies to
    • Wide range of applications covering all smartphones, cross-platform and terminal
    • Easy and fast deployment with no user installation
    • Users always have access to the latest version, and iterative updates are easy
    • can be indexed by search engines and bring traffic

Disadvantages of the Web app:

    • The browsing experience doesn't even go beyond native apps in the short run
    • Offline mode is not supported (HTML5 will solve this problem)
    • Message push is not timely
    • Weak ability to invoke local file system
    • Poor and slower performance experience (most need to link to the Internet)
    • Poor graphics and animation support
    • Not available in the App Store and not on download app profit opportunities
    • Restrict user functionality (e.g. camera, GPS, etc.)

Mobile web Apps is a promising trend. To hold on to this trend, to help developers build client-side user interfaces, more and more JavaScript toolkits have been developed, such as Sencha touch and jquery Mobile, which create a user interface that looks and feels much the same as the native app. Both are executed entirely in the browser of the mobile device, taking advantage of the latest JavaScript, CSS, and HTML5 features offered by modern mobile browsers.

Third, what is the hybrid App?

Hybrid app, also called Hybrid app, is a kind of app between native app and web app, it looks like a native app, but it's just a UI WebView, it's a Web app. The Hybrid app essentially forges a browser's Apk/ipa native program and runs a web app. The Hybrid app combines the benefits of a good user interaction experience with the Native app and the benefits of Web app cross-platform development. It enables web developers to transform almost 0 of the cost into mobile application developers, and the same code can be distributed across multiple platforms with only one compilation for different platforms, and developers can invoke most of the commonly used system APIs through a packaged interface, compared to web apps.

Benefits of the Hybrid app:

    • Support for multi-platform access
    • Mobile phone functions are accessible
    • For the store
    • Partial support for offline functions

Disadvantages of the Hybrid app:

    • Unknown deployment time
    • User experience is less than local application
    • Slow performance (link network required)
    • The technology is not yet mature, it is still a new technology

The hybrid development methodology combines native development and web technology. With this approach, developers can use cross-platform web technologies to develop most of the code for their applications and to access the native API directly when needed. The native code section of the app uses the operating system's API to create an embedded HTML rendering engine that acts as a bridge between the browser and the device's APIs. This bridge allows the Hybrid app to take full advantage of all the features offered by modern equipment. The Web Part of the app may be a Web page that resides on the server, or a set of HTML, JavaScript, CSS, and media files that are encapsulated in the app code and stored locally on the device. The HTML code placed on the server gives developers no need to go through the submission and approval process, and encapsulating the Web code in the app can improve performance and accessibility.

If the enterprise uses the hybrid development method, it can set both the director. On the one hand, native allows developers to take full advantage of all the different features and functions offered by modern mobile devices. On the other hand, all code written in the Web language can be shared across different mobile platforms, making development and routine maintenance processes centralized, short, and cost-effective.

Four, Native App , Web app and hybrid app comparison

The native development approach is excellent in terms of performance and device access, but has drawbacks in terms of cost and update. Web methods are much simpler to update, less expensive, and easier to use, but are currently limited in functionality and do not have the kind of user experience that is available with native API calls. The hybrid development approach offers a compromise: in many cases, it sets the strengths of both, especially if the developer is targeting multiple operating systems.

As you can see from the table above, no development method has always provided all the benefits. Each development approach has inherent limitations, and there is no way to meet all the requirements of a modern mobile enterprise and deal with complex situations. Choosing an appropriate method depends on the specific requirements of the enterprise, depending on factors such as budget, schedule, internal resources, target market, required application capabilities, IT infrastructure, and many other aspects. But one thing is clear: most companies today clearly choose between two areas: User experience and application functionality, and development costs and time-to-market. The problem becomes the choice of a suitable development method that takes into account the requirements of the enterprise and its limitations in terms of budget and time-to-market.

Native app, Web app or hybrid app

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.