Categories for mobile apps

Source: Internet
Author: User

With the popularity of smartphones, mobile applications have become standard for almost every Internet product. Efficient development and low-cost on-line products in the fast-iterative Internet battlefield are the goals pursued by each application development team. At this point, it is important to choose the right application type and development model. Mobile apps can be divided into three categories: Native app (native app), web App (Web app, or HTML5 app), and their hybrid-mixed-mode mobile app (Hybrid app). Of course, there are recently new applet, allowing you to use its API through the front-end technology to achieve native applications, I think it more like react native, the web technology into a native UI, the difference is that it is running in the app, I think it is more advantageous than RN, the developer threshold is lower, Don't even worry about cross-platform (Rn still has to write two sets of code), and there is this entrance, in the future may be a trend.

What is hybrid Mobile App

The Hybrid app looks like a native app, but in reality there is only one uiwebview that is accessed by a web app, such as the News class and video class applications that generally take the strategy: the native framework plus the content of the Web. Unlike the native app, which requires different development languages for different platforms (such as using OBJECTIVE-C, Swift developing iOS apps, developing Android Apps using Java, developing a Windows Phone app using C #), hybrid The app allows developers to develop class-native applications that can be deployed on different platforms using only a single set of page language codes (html5+css+javascript). Because the hybrid app combines the benefits of a good user interaction experience with the native app and the cross-platform development of web apps, the time and cost of mobile app development can be significantly reduced, and hybrid apps are becoming more and more popular with companies.

Depending on the language of the web and the language of the program, the hybrid app can usually be divided into three categories:

    1. Multi-View hybrid: Native View and Web view stand-alone display, alternating. Its application body is usually supplemented by native app,web technology. That is, when needed, the Web view is run as a standalone view, and the relevant presentation is done within the Web view. The difficulty of development is equivalent to native app. For a chestnut: Instagram's timeline is using Web view.

    2. Single view hybrid: Within the same view, native view and Web view are cascading relationships and appear simultaneously. The development cost is higher, the difficulty is bigger, but the experience is good. Give a chestnut: Baidu search simultaneously achieve full flexibility and better user experience.

    3. Web Principal type: The application body is a Web view, interspersed with native function, mainly in the Web language. Overall development difficulty is low, the basic can achieve cross-platform, and the user experience is good or bad, mainly depends on the bottom-level middleware interaction and cross-platform capabilities. For a chestnut: project management tool Basecamp uses Web view to render content, invoking the system native API to implement interface navigation and other functions to improve the user experience.

The Hybrid app is not the perfect solution either. Because of its use of HTML5, some applications that rely on complex native functions or heavy transition animations will be stuck, while additional time and effort is required to emulate the UI and senses of the native app, although it is possible to cross-platform but not fully support all devices and operating systems; If the app's experience is not native enough, such as a simple website, there is a risk of being rejected by the Apple App Store.

When to choose Hybrid App

With the hybrid app being popular today, we may be going with the crowd to prioritize the development of the hybrid app. However, each product has its own characteristics, and there is no solution that can be perfectly changed. The moderation of the hybrid app makes it shine and limits its application. Before deciding to adopt a development model, there are a number of factors to consider, such as:

    • Which platform do you want to develop for?

    • Do you want to publish apps from the App Store?

    • Do you want to take advantage of the unique performance of your phone?

    • What is your team's technical skills?

    • What is your project cycle and budget?

If you want to design Angry Birds A class of graphics requirements of the game, then in the case of the technical team, the native app is the best choice, if you want to design a content-oriented application such as Yelp, then the hybrid app is a good choice, if the project time is tense, Without adequate staffing and funding, there is no requirement for graphics and system-native features, so web apps will be the most cost-effective solution.

The comparison of native app, hybrid app and web app in different aspects can help you choose the best solution according to the actual situation.

Infoq on Gao Jiajun an article to share a few hybrid app development misunderstanding, but also in the development process should be avoided as far as possible:

  1. In order to HTML5 and hybrid APP:HTML5 is the HTML4.0.1 and XHTML1.0 upgrade version, has a more powerful performance features, and joined the local storage technology, for the Web page to provide greater imagination and more possibilities. However, as a developing technology, HTML5 received browser compatibility and the impact of mobile hardware level, can provide the features and native app throw a certain gap. When developing applications, the first is to meet the needs of users, rather than catch up with the tide of technological innovation. Therefore, when developing the application, we should decide whether to adopt the Hybrid app development model from the application function and team development resources.

  2. Ignoring key factors: The Web is a PC-based development model, and the mobile app runs on the move side. Typically, web developers use a PC browser to simulate Web view in the app instead of using the Web view on the phone directly. The CPU resources, the maximum memory, the running network environment, and the mouse/touch operation, the browser has a great difference in the parsing of Css/js and the handling of events. These differences are often a key factor in the ability of Web pages to function correctly in apps.

  3. Rich interaction leads to poor experience: this is mainly reflected in two aspects: (1) the Web and mobile platform default interaction habits are inconsistent: iOS and Android have a set of interactive habits, including visual style, interface switching, operating habits and so on. For example, mobile phone system style is left and right slide screen to enter or exit the interface, and the old interface to maintain state; The web is the default, whether loaded or backward, will refresh the old interface, resulting in loss of experience. If the simulation of native interaction, it will increase development costs, but also difficult to achieve the fluency of native. (2) There is a difference in performance compared to the same function in native: the operation of JS on HTML node in Web interface consumes a lot of CPU resources. First of all, the CPU performance of mobile phones is generally lower than the PC side, second, different devices between the hardware level is uneven, such as the iphone6s can run smoothly on the interface, on the IPhone5, MX5 may not achieve the same smoothness.

  4. Cross-platform: one of the advantages of the Hybrid app is the inheritance of Web cross-platform features. However, the compatibility is a problem not to be neglected in the many versions of the smart phone software and hardware version today. Different Android operating system the browser kernel for JS and CSS parsing, event processing will be different, iOS different versions also have a large difference. Therefore, in cross-platform development, compatibility is also important to consider the issue.

  5. Interaction consistency: The consistency here does not refer to the consistency of the same application on different platforms, but to the consistency of the hybrid app and native platform on the same platform. For example, the "back" operation, on the iOS platform has a 44-pixel high navigation bar on the top of the page, the return button on the left for the return operation, you can link to any other interface by absolute address, and Android usually use the return key provided by the device, return to the previous interface, if you configure the Platform back button , it points to a different location than the return key provided by the device.

Conclusion: Different businesses should choose their own application development method for different business. The native experience is good, but the development cost is high, cannot cross the platform, need to download, the entrance is too deep, the user stickiness is low, the iteration is slow. Hybird low cost, cross-platform, iterative fast, but the experience is relatively poor, most still rely on UIWebView embedded page. WebApp is easier to spread and transform, but not a real app, just a Web page that can't cope with the need for rich interactions or call device APIs. React native learning curve is steep, not fully cross-platform, there are some legacy bugs, but the experience is close to native and can be quickly iterated. Just out of the small program, the study cost is low, similar to RN, the entrance is, has the superiority, approaches the native application, the True cross-platform, the disadvantage is the new technology, the ecological environment is poor, closed, needs to audit, also cannot do the super fast iteration.

Categories for mobile apps

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.