Joke Collection Website - Blessing messages - Can HTML5 replace Android and iOS applications?

Can HTML5 replace Android and iOS applications?

the rise of a large number of new mobile devices has changed the future of the internet. In the development of technology, will HTML5 replace App applications? Or to what extent can it be replaced? In the HTML5 specification, the support of camera, magnetic compass and GPS information has been added. Many emerging browsers have also begun to support these new features. Can a unified HTML5 replace the dual cost of parallel development of android and ios? The following article, translated from Michael Mahemoff, analyzes in detail whether HTML5 can replace Android and iOS applications.

Introduction

Mobile application (App) and HTML5 are the hottest technologies at present, and there are many overlaps between them. Html5 web pages running in mobile device browsers can also be repackaged into apps running on different platforms. At present, many browsers have good cross-platform support, and the HTML5 web solution is more convenient for developers. Once completed, it can be used on multiple platforms. But is this really feasible? There are still many necessary reasons for developers to choose app development. Obviously, many people are already doing this. This paper will analyze the advantages and disadvantages of the two schemes in detail.

rich functions

positive: more rich functions can be developed in the App

We divide mobile functions into two categories. The program itself and the combination of program and system. For example, in android, add widget icons or notifications and reminders. App has no problem with both. Needless to say, that's for sure.

contrarian: APP is quite strong, but the Web is also catching up

indeed, many native apps have functions that HTML5 can't match. No matter how great your web is, if you stay in a sandbox without camera support, you still can't play on many occasions. Fortunately, there is no such sandbox restriction now. If you need your web to take photos, you can make an app for taking photos, and then package your web into this app. The open source PhoneGap framework does this. In this way, widget and mobile phone reminders are no problem.

however, the problem with this mixed development is that it increases the complexity, and unlike the traditional web, it can be run directly in the browser. I'm afraid this problem can't be solved in a short time. Fortunately, the network standards are constantly expanding at a high speed, and advanced browsers have been following up. Android 3.1 already supports camera. IOS browser also supports WebSocket and device direction detection.

generally speaking, mobile devices are developing, and the web is also changing rapidly. Desktop browser itself, there are five major browser developers improving existing standards and enriching new functions. So native apps are advancing rapidly, and at the same time, the web is narrowing the gap.

running efficiency

positive: native APP is faster

native APP has no bottleneck, and it can directly call GPU to accelerate and use multithreading.

counter: nowadays, the Web is much faster, and most applications don't need to be that fast.

this statement is a bit out of date. When Chrome was released, Javascript V8 brought a leap in Web speed. Now, the computing speed has become faster:

The image processing engine has used web acceleration. Now hardware acceleration has also been applied. Look at the hardware-accelerated canvas (chart source)

If you want to develop 3D games, you don't have to wrangle, but for the future, news, email, time management and social networking are all enough with the Web. Try Steve Souders' mobile phone performance testing tool. In addition, more and more frameworks combined with WebGL can give full play to the advantages of OpenGL. For example, ImpactJS helps develop JS games.

development experience

positive: native apps are easy to write

native apps use strong programming languages (Java, Objective C, C++). It is suitable for writing complex programs. After historical verification, the API is rich. In the desktop environment, it is convenient to test with the simulator. The runtimes and messy browsers of Web programs are a big headache.

contrarian: generally speaking, the Web is simpler, especially when it needs to be compatible with different devices.

the initial function of the p>Web was limited to document display, not program application. It seems that JS only appeared in the last two weeks. But with JS, the world of web will be different immediately. What's more, the web is not only static, HTML5, CSS3, EcmaScript Harmony (who knows what this is? ) are of great help to developers. You like C++, Java and JavaScript, so your personal hobby is also based on the code you have saved. But now no one can deny that JavaScript is on the same stage as the former.

browser /runtime incompatibility (fragmentation), and vice versa. I wrote Android app in Java, and then I have to face Objective C of iOS. If you can write a program, it can run on Android and iOS immediately. How easy it is. We haven't mentioned WebOS, BlackBerry and Windows Mobile yet. 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. . .

the so-called Web fragmentation has always been the case. But the good news is that there are many good solutions now. Modernizr library, if used well, can help you to be compatible with a large number of mainstream devices, no matter what system or brand. Look at our 211 Google IO demo.

user experience

positive: native APP is more suitable for the original platform

One of the definitions of operating experience is that users want to operate in your program in a coherent and unified way with the system. Different platforms have some established habits. For example, what will happen if you press the button for a long time? You can't expect to satisfy all users with a unified set of HTML5 App.

in addition, the operation experience of the whole platform is coordinated by the software library owned by the platform. Call the platform toolkit directly to get complete support directly and for free.

contrarian: our Web has its own tradition. If you want to make a Web that feels like the original platform, you can also make it.

As mentioned earlier, the way of web development is to make a version that is generally suitable for all platforms, and then continuously improve it for different platforms. When these improvements are mainly aimed at functions, you can choose several platforms that you are most concerned about to optimize. Similar to browser detection. The sad technicians in the technical forum often complain about this. There are too many different browser versions. However, if you give priority to two or three mainstream platforms, it is worth spending more time to optimize them.

the p>web has its own operating experience. We can also say that different default browsers and running environments have created a unique "Web experience". From a broader perspective, this in itself is a way recognized by users. In addition, there are many successful cases that do not follow the native operating habits of mobile devices, and others have succeeded. Think about the interface of your favorite mobile game? The same is true of many more traditional apps, such as Twitter client.

communication channels

positive: native applications are easier to reach customers

app publishing mechanisms such as Google Play and Apple Store have been unstoppable in recent years, which has promoted the entire mobile industry. Every programmer can publish his own application in the market. Users are crowded in the market to browse, search and accept recommendations. Not only that, as long as your program is good enough, the scores of existing users will help you convince more new customers.

the opposite: in fact, the web is easy to reach customers.

It is a proven and reliable way to find content through the web. With URL, each published content has an independent address, including the application published on the website. Search engines help find content, other websites provide links, and there are some classified websites similar to the application market. Users can also share your links by email, SMS and social networking sites. Your application link can be opened directly on different devices.

there is no unified grading system on the p>web, but this situation is changing. Look down. . .

Fees

Pro: App fees: According to God's will and people's livelihood

"Six-year-old children make an app at lunch, and they sell millions". I have often heard and seen such news recently. Manufacturers of all sizes followed suit, waiting for money. The application provider helps the developer to charge directly. The simplest way, one-time charge. There are also additional fees or subscription fees in the app, which helps developers win long-term and stable returns.

in addition, advertising and sponsorship of traditional websites are also applicable in the app.

opposing party: it is never a problem for websites to make money. There are more and more opportunities now.

Web can become the driving force of today's society, and it has the ability to get returns in many ways, which is the basic condition. Although the use of payment is not common. But the SaaS model has become quite popular. Successful cases include Google Apps, a series of products of 37Signals, and paid versions of various emails. In addition, direct charging is not the only mode of web application. Advertising, affiliate links, sponsorship, and cross-promotion for other products and services are all optional modes.

looking at the jealous Web developers who can make money directly in the application market, you can't send your URL directly into the market, but how about making a shell of an app for browsing the web and connecting it to your own web? If there are not thousands in the market now, at least hundreds of apps have done it. Some packages are so good that you don't even know it is a web program.

will the application market directly support web programs in the future? It's hard to say yet, but Google built a Chrome web store last year. Although you can only ask questions from your desktop computer, it has aroused the interest of browser manufacturers. It's just a preliminary concept now, but it looks promising.

Conclusion

There is no winner yet. Some applications are suitable for making apps, and some are suitable for using html5. In the current situation, native APP is definitely a very important choice. The mixed development mentioned above may be a good compromise. Call the web with app when you can use the web. Functions that web can't realize are developed with app.

if you choose the web mode, you should pay attention to the web standards and continuous improvement. The advantage of web technology itself is that it can be compatible with a large number of different operating systems and devices. On the negative side, you can do it. It's a fragment, but the web is all-inclusive.

English original: html 5 vs native: the mobile app debate

Chinese translation: unicom-china

Address of this article: http://www.williamlong.info/archives/363.html.