Can HTML5 replace iOS native apps?

Source: Internet
Author: User

Introduced

Mobile apps and HTML5 are among the hottest technologies available, and there's a lot of overlap between them. HTML5 Web pages running in a mobile device browser can also be repackaged into apps running on different platforms. Many browsers now have very good cross-platform support, HTML5 Web solutions are more convenient for developers, as Firefox can be used in Android and the same browser kernel as Windows. Once, you can use it on multiple platforms. But is that really possible? There are still a number of necessary reasons for developers to choose app development. Obviously, a lot of people are already doing this. This article will analyze the merits and demerits of the two schemes in detail.

  Feature Rich

Square: The app can develop a richer function

We divide the mobile function into two categories. The combination of the program itself and the program and system. For example, on Android, add widget icons or notify reminders. The app is no problem for either of these. Needless to say, this is for sure.

Negative: The app is strong, but the web is also being followed up

It's true that many native app implementations are HTML5. No matter what your web does, if you stay in a sandbox with no webcam support, there are many occasions when you can't play. Fortunately, there are no such sandbox restrictions now. If you need your Web camera, you can do a photo-taking app and then package your Web into the app. The open source PhoneGap framework is so dry. This widget, mobile phone reminders are also no problem.

But the problem with this hybrid development is that it adds complexity and does not run directly in the browser like the traditional web. I'm afraid I can't do it in a short period of time. Fortunately, the network standards in the continuous expansion of high-speed, advanced browser is also always follow-up. Android 3.1 already supports camera. The iOS browser also supports websocket and device orientation detection.

In all, mobile devices are developing, and the web is changing rapidly. Desktop browser itself, there are 5 major browser developers in the improvement of existing standards, rich new features. So the native app is moving fast, and the web is narrowing the gap.

  Operational efficiency

Square: Native app is faster

Native apps have no bottlenecks, and can call GPU acceleration and use multithreading directly.

The opposite: Today the web is much faster, and most applications don't need to be that fast.

This is a bit outdated. The JavaScript V8 that comes with the release of Chrome is a leap in the speed of the web. And now, the calculation is getting faster:

The image processing engine is already using web acceleration. Now hardware acceleration has also started to apply. See the canvas with hardware acceleration (chart source)

To develop 3D games is not contradicting, but for the ping, news, mail, time management, social networks, these are enough for the web. Try Steve Souders's mobile performance test tool. In addition, more and more frameworks are combined with WEBGL to give you the advantage of OpenGL. such as Impactjs, help develop JS game.

  Development experience

Square: Native app is good to write

Native apps use strong programming languages (Java, Objective C, C + +). Suitable for writing complex programs, history verification, API Rich. In the desktop environment can be easily tested with the simulator. The runtimes of Web programs and the clutter of each browser make the head big.

Negative: The Web is generally more simple, especially when it is necessary to be compatible with different devices.

The web's initial functionality is limited to documentation, not application, and it seems that the last two weeks have been JS. But with JS, the world of the web will soon be different. Not to mention the web is not just static, Html5,css3,ecmascript Harmony (who knows what this is?) ) is a great help to developers. You love C++,java, JavaScript, and your personal hobby is based on the code you've saved. But now no one can deny that JavaScript is standing in the same ring as the former.

Browser/runtime are incompatible (fragments), which in turn are the same as apps. Write the Android app in Java and then face the iOS objective C again. If you can write a program, can immediately run on Android and iOS, how easy ah. We haven't mentioned webOS, Blackberry,windows Mobile. Of course, this is theoretical. If you want the program to run beautifully on every platform, you have to do a lot of debugging and compromise. This is the same for many native apps. Different OS versions, different devices ...

So-called web fragmentation has always been the case. But the good news is that there are a lot of good solutions now. Modernizr Library, if used well, can help you to be compatible with a large number of mainstream equipment, no matter what system, which brand. Check out our 2011-year Google IO demo.

  User Experience

Square: Native app more relevant to the original platform

One of the definitions of operational perception is that the user wants to operate in your program in a way that is consistent and unified with the system. On different platforms, there are some conventions. For example, what happens when you press the button long. You can't expect to satisfy all users with a unified HTML5 app.

In addition, the operating experience of the entire platform is coordinated by a software library owned by the platform. Directly call the Platform Toolkit to get full support directly for free.

Negative: Our web has its own tradition, you want to do the original platform that feeling of the web, also can make

As I said before, web development is done in a way that is broadly appropriate for all platforms and then continuously improved for different platforms. When these improvements are primarily for functionality, you can choose several of the platforms you care most about to do optimization. Similar to browser detection. The Technical forum is a sad reminder that technicians often complain about this. There are too many different browser versions. But if you give priority to two or three main platforms, it's worth spending more time doing optimizations for them.

The web has its own operating experience. We can also say that different default browsers and operating environments create a unique "web experience". From a broader perspective, this is a user-accepted approach in itself. In addition, many successful cases do not follow the native operating habits of mobile devices, and others have succeeded. Think about the interface of your favorite mobile game? Many more traditional apps are the same, like Twitter clients.

  Route of transmission

Square: Native apps make it easier to reach customers

App publishing mechanisms like Google Play and the Apple Store have been overwhelming over the years, driving the entire mobile industry. Every programmer can publish their own apps in the market. Users are crammed into the market to browse, search, and accept referrals. Not only that, as long as your program is good enough, the scoring of existing users will help you persuade more new customers.

In fact, the web is easy to reach customers

Finding content through the Web is a proven and reliable way. With URLs, each published content has a separate address, including applications published on the site. Search engines help find content, other sites provide links, and some sort of websites like the app market. Users can also email, text messages, and share your links on social networking sites. Your app link can be opened directly on different devices.

There is no unified scoring system on the web, but the situation is changing. Look down ...

  Charges

Square: App charge: Should Providence, shun the people's livelihood

"Six-year-old children do app,$3 one at lunch, sell millions of". I've been hearing this kind of news a lot lately. Manufacturers of all sizes followed in droves, waiting to circle the money. Developers are charged directly for the developer. The simplest way, a one-time charge. There are also additional charges or subscription fees in the app, which helps developers win long-term, stable returns.

In addition, the traditional website advertising, sponsorship, in the app is also applicable.

Negative: The website makes money, never is the problem. Now there's more and more opportunities.

It is the basic condition that the web can become the driving force of the present society and have the ability to make returns in many ways. Although the use of pay is not common. But the SaaS model has become quite popular. Success stories include Google Apps,37signals's range of products, and a premium version of all types of mail. In addition, direct charging is not the only mode for Web applications. Advertising, affiliate links, sponsorship, and cross-promotion of other product services are optional models.

Looking at the Web developers who can make money directly in the app market, you can't just send your URL into the market, but what about making a web-browsing app Shell to connect to your Web? If you don't say thousands in the market now, at least hundreds of apps are doing it. Some of the packaging is good and you don't even notice that he is a Web program.

Will the app market directly support the Web program in the future? This is not a good time to say, but last year Google has built a chrome Web store. Although it can only be asked from the desktop computer, but this has provoked the interest of browser manufacturers. It's just a preliminary concept, but it looks promising.

  Conclusion

No one can see the victory now. Some apps are good for apps, and some are suitable for use with HTML5. The current situation, the native app is certainly a very important choice. The above-mentioned hybrid development may be a good compromise. You can use the Web to invoke the Web with your app. Web-enabled features are developed with apps.

If you choose a Web approach, focus on web standards and continuous improvement. The advantage of Web technology is that it can be compatible with a large number of different operating systems and devices. Negative look, you can also this is a fragment, but the web is all take-all.

English Original: HTML5 VS native:the MOBILE APP debate

Chinese translation: Unicom-china

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.