First, the birth of HTML5
Since 1999 W3C released HTML4, the Web world has developed rapidly and prospered. People used to think that the HTML standard didn't need to be upgraded. Some companies dedicated to the development of Web App have set up another WHATWG organization. Until 2007, W3C took over the related work from WHATWG and started to develop HTML5 again.
Second, the first stage of HTML5: Web enhancement and monopoly breaking
Since the birth of HTML5, * * * has gone through two stages: Web enhancement and mobile Internet. Let's talk about web page enhancement first. Rich and enhanced Web experience is mainly manifested in:
Webgl HTML5 adds offline storage, richer forms (such as Input type=date), js thread, socket, standard extension embed, css3…… ..................................................................................................................................
Of course, HTML5 also optimizes the semantic analysis of search engines, such as adding tags such as Header and Section, and has done a lot of work in accessibility, so I won't go into details. HTML5' s efforts in streaming media and games have successfully curbed the development of Flash, and it is time to curb IE's private grammar.
In the process of upgrading the HTML5 standard, Apple and Google also saw the opportunity to reshuffle the browser market. On the one hand, they participate in the specification of HTML5, and at the same time make efforts on browser products. Apple first began to vigorously develop Safari, established WebKit open source project, and transplanted Safari to Windows platform. At first, Google sponsored Mozilla to develop Firefox. Later, I developed my own v8 engine, merged WebKit, and officially launched Chrome in 2008. The slogan "IE's private specification +Flash is not the standard, but we are the standard" started in the new browser war, and IE instantly became a monopoly representative referred to by thousands of people, and even became a sinner who hindered the development of the Web (at that time, IE6 had not been updated for several years, and was not afraid of the development of Firefox).
、
However, at this time, Microsoft also launched a series of incompatible products, such as IE7, 8, 9, 10, which completely lost the support of developers.
Adobe's Flash has been curbed and passed the position of Web overlord; The private standard of IE was curbed, and the market share of IE kept declining until the latest mobile version of IE began to support WebKit grammar in turn, which was really embarrassing. I don't know whether HTML6 should defeat WebKit monopoly.
Third, the second stage of HTML5: Mobile Internet
With the rapid development of Chrome and Safari, and the decline of IE+Flash, HTML5 has come to an end and entered the next era-mobile Internet. The cross-platform advantages of HTML5 are further highlighted in the era of mobile Internet. HTML5 is the only cross-platform language, including all mainstream platforms such as PC, Mac, iPhone, iPad, Android and Windows Phone. Both Java and Flash dreamed of this location, but the dream ended in iOS. At this time, people began to study the development of cross-platform mobile phone applications based on HTML5. At that time, many people thought that native application was just a transition, just like changing from C/S structure to B/S structure. And it is difficult to learn Objective-C and Java. Since I can develop web pages, why not try HTML5?
W3C set up a device API working group at this time, which extended the unique APIs of cameras, GPS and other mobile phones for HTML5. But the trouble is that the initial iteration of the mobile internet is too fast, and the mobile OS continues to expand the hardware API, gyroscope, distance sensor and barometer. . . Every year, the mobile phone OS has a big version update. As an organization with hundreds of member units making the same decision, W3C is a very complicated process from proposing draft standards to reaching agreement, which can't keep up with the rapid iteration in the early days of mobile Internet.
The appearance of PhoneGap opened a window for developers. Many people expect PhoneGap to continuously expand the API to supplement the lack of browsers. Adobe saw PhoneGap and seemed to see the hope of reviving the status of rivers and lakes. However, after Adobe acquired PhoneGap, it found that there were many problems with this thing. Open source made Adobe unable to obtain commercial benefits like Flash, so it donated PhoneGap to Apache and renamed it Cordova.
For various reasons, the positioning of Cordova has not become an enhancement of the browser, but has moved towards mixed development. Based on the background at that time, they thought native was irreplaceable, and the mixed mode of "native +HTML5" was more meaningful. So now using Cordova is often a "native engineer +HTML5 engineer" to complete the App together.
At this time, Facebook joined W3C and took the lead in setting up the Mobile Web Working Group. Facebook is a mixed network circle, which has no territory of its own on the mobile phone operating system. It doesn't like the native application ecosystem controlled by Apple and Google. The important goal of mobile Web working group is to make the web application developed by HTML5 reach the experience of native application. However, contrary to expectations, you will forget it if you don't work hard. As a result, it tried, but failed. In 20 12, the news that Facebook abandoned HTML5 flooded the global IT media, and HTML5 was instantly put in the cold.
Why did Facebook give up HTML5? The core is that I really couldn't make a good mobile App based on HTML5 at that time. Compared with the native applications of competitors such as Twritter, the HTML5 version of Facebook really can't satisfy users. For example, the push function, up to now, the gap between the push experience of HTML5 and the native push experience is still huge, not to mention many problems such as the white screen switching of HTML5 application pages, the unsmooth pull-down refresh/sliding menu and so on. See the native engineer easily realize the functions of shaking, QR code, voice input, sharing to friends circle and so on. Let HTML5 engineers feel that they are on the wrong team.
Even if Facebook doesn't like being controlled, it can't risk being abandoned by users. And Facebook didn't catch the key point-the mobile browser kernel. If the browser can't keep up, everything else is useless.
And how does the browser perform on the mobile phone? Look at Google first. Although Chrome has high performance, the browser on Android is not Chrome, but a lame Android browser modified by WebKit. Looking at Apple again, other browser engines are not allowed to put on the App Store on iOS, and other applications using Safari engine cannot call Apple's own JavaScript acceleration engine Nitro. As a result, Apple and Google not only failed to actively implement the specifications required by HTML5 for mobile applications in their browsers, but also imposed various restrictions on HTML5.
Regardless of the lack of hardware capabilities at that time or the intentional restrictions of mobile phone OS manufacturers, in short, the result is obvious: in the early days of mobile Internet, it must be the world of native application ecology. After iOS and Android turn themselves into the boss first, other younger brothers can find opportunities for growth.
Neither Facebook nor PhoneGap can get a piece of the mobile Internet in the early days, but if they persist, opportunities will often appear.
Fourth, HTML5 really came this time.
HTML5 is finalized at this time, neither too late nor too early, with stronger hardware performance and slower iteration speed of mobile phone OS. With the finalization of the HTML5 standard, all disputes will come to an end. Now, the era of HTML5 has arrived. This technology, which was once full of hope and abandoned by many hopeful developers such as Facebook, will now tell you that the reason that once disappointed you no longer exists! This sounds amazing, and people can't help asking: Is it true? Let's analyze it in detail.
It is commonly known in the industry that HTML5 has "sexual dysfunction". That is, the performance of HTML5 is not as good as native, the development tools are not as good as native, and the ability call is not as good as native.
These problems prevent developers from making native applications using HTML5. However, no matter the hardware upgrade, the change of OS vendor's strategy and the maturity of related software technology, the "sexual function" obstacle of HTML5 has been solved.
Mobile phone hardware arms race 20 1 1, the CPU of iPhone 4s is A5, and now iPhone 6 is A8. According to Apple's previous press conference, the speed has increased by 7.5 times. The speed increase of 7.5 times in these three years has smoothed out too many performance problems of HTML5. Strategic changes between Apple and Google Google released Android 4.4 at the end of 20 13, and the built-in Webview is no longer a lame Android WebKit browser, but a Chromium. After the release of 2065 438+02 iPhone 5, the performance of HTML5 on iOS has been satisfactory. Nitro, Safari's exclusive JavaScript acceleration engine, is no longer so important. However, after the release of iOS 8, Apple is still very interested in canceling the restrictions on calling Nitro by three-party programs. Now any browser or application can use Nitro to accelerate when calling UIWebview of iOS. The attitudes of the two mobile phone operating system overlords and browser giants have changed, which makes the development of HTML5 on mobile phones no longer limited, and this change is irreversible, and it can only continue to develop, which is bound to have a far-reaching impact. Maturity of software technology Although the development of PhoneGap has slowed down, other product technologies have matured. At the 20 14 iWeb conference, many manufacturers' products provided free or open source solutions for developers.
At the iWeb conference, DCloud released a systematic solution to the problem of insufficient capacity of sex workers in HTML5, including a mobile phone engine to solve the performance problem of HTML5, an ultra-fast IDE product HBuilder for HTML5 development, and the Native.js technology to encapsulate 400,000 native APIs into JavaScript objects to solve the problem of insufficient capacity of HTML5. The HTML5 application developed based on this scheme can fully realize the functions and experiences of native app. In addition, DCloud also released a MUI framework. We all know that the default control style of a browser is quite different from the native control style. It is very important to have a high-performance UI framework that is the same as the native control style experience. Previously, products such as jQuery Mobile were difficult to occupy this position because of insufficient performance.
Intel released the Crosswalk engine, which allows applications on Android 4.0-4.3 phones to encapsulate the Chromium engine instead of Android WebKit. Although Android 4.4 will occupy more market share in the future, the current mainstream versions of Android mobile phone system are still 4. 1 and 4.2.
Many companies have also achieved good results in the professional direction. Touch Cocos2d-html5, Egret runtime and Ludei CocoonJS enhance the performance of Canvas and make the html5 game experience better. Mobile browsers such as UC and Cheetah also enhance the performance of audio and video playback.
Whether it is the upgrading of hardware, the maturity of software, or the change of operating system vendor's strategy, it is strongly promoting the outbreak of HTML5.
However, it should be noted that when I say HTML5 explosion, I don't mean the explosion of mobile browser. Some people say that HTML5 is not good because users hate the process of opening a browser and entering a URL. I want to say that this idea is a one-sided understanding of HTML5. HTML5! = Traditional browser, although the programming language is still HTML, Javascript, CSS, but the distribution method is by no means as simple as traditional website. On the contrary, the entrance of HTML5 application is rarely to start the browser and enter the URL. It can be an icon on the desktop of a mobile phone, a super app (such as WeChat friends circle), a search engine, an application market or advertising alliance. . . Its entrance is everywhere. It has more portals than native apps.
Fifth, the subversion of native apps.
The "sexual function" obstacle of HTML5 has been solved, which can be close to the effect of native App, so it can replace native App? Many people think that even if HTML5 will develop better than it is now, it will share a piece of cake with the native app. Long-tail applications that are not demanding will use HTML5, and mainstream applications are still the world of native apps.
But I think this idea is very dangerous, as HP executives told Woz: Who will have a computer at home? In the future, HTML5 will definitely subvert the native App. The elimination of the obstacle of "sex work" only weakens the disadvantages of HTML5, but after the disadvantages are eliminated, its advantages will shine brilliantly. What are the advantages of HTML5? For developers:
Cross-platform In the multi-screen era, the developer's pain index is very high, and everyone expects HTML5 to play the savior. Synchronization of multiple sets of codes, different technical work and business logic is a torturous process. This is similar to the early PC world. At that time, every computer had its own operating system and programming language, and developers were tired of making different versions. In fact, the popularity of DOS is largely due to the fact that developers really have no energy to write programs for other computers. Cross-platform technology mostly died in the early stage because of performance problems, but it will occupy the mainstream after the hardware capability is enhanced in the middle and late stage, because cross-platform is really just needed. The fast iterative mobile Internet is an era when fast fish eat slow fish. Whoever meets the needs of users faster and whose trial and error cost is lower will have a huge advantage. Internet products are mostly free and have a network effect, so it is difficult for latecomers to grab users. Using native development, the efficiency of recruitment, development and online is more than twice as slow. The more people participate, the communication efficiency is often more than twice as slow. It is not easy to reduce the financing cost of entrepreneurs. How to spend money more effectively is very important. If you use a native App and develop a competitor's App with HTML5, but your development cost is twice as high, I believe no investor will like to invest in you. It is very easy to divert the portal to divert HTML5 applications. Super apps (such as WeChat friends circle), search engines, application markets and browsers are all filled with HTML5 traffic portals. The traffic portal of the native App is only the application market. Smart HTML5 developers will definitely play with various traffic portals to gain a stronger advantage. High distribution efficiency. Some time ago, "Nerve in the Cat" was all the rage in the circle of WeChat friends. If this game is placed in the Appstore, there is definitely not that much traffic. The traffic brought by super app is much larger than that of native application market. If WeChat allows games to create shortcuts on the desktop, and if the subsequent upgrade of the game solves the problem of continuous entertainment, the future is unimaginable. In addition to many entrances, large traffic and high diversion efficiency, we all know that page tour and end tour play the same advertisement, which changes the user conversion rate, and page tour is much higher than end tour.
The benefits that HTML5 brings to users are: more corresponding traffic portals and high distribution efficiency. Significantly reduce the threshold for use. Users' eyes see a point of interest, and they should start to meet users' needs immediately after clicking it. For example, streaming media can be watched immediately, and page tours can be played immediately. In the current native application market, users need to do this: select an application, wait for download, confirm permissions, wait for installation, and then click Open. Such a bad experience will be subverted sooner or later. Whether it is an App, a game or a video, it can be used at any time in the future. Whoever meets the needs of users first wins.
This is the so-called "martial arts in the world, only invincible." From this analysis, we can clearly see that HTML5 will definitely replace the current status of native applications from the perspective of end users and developers. And thus triggered a series of subversion.
6. What else will change?
The outbreak of HTML5 and the subversion of native App ecology is an industrial revolution, and many roles will be affected. Let's make a prediction.
The standard HTML5 engine cannot solve all the problems of HTML5. Internet giants with large traffic portals are thinking about embedding better enhancement engines. Tencent launched X5 browser engine, which took a fancy to this opportunity.
At present, browser vendors, application market vendors and even rom vendors are trying to integrate better browser engines. If webview embedded in WeChat can run better canvas games, if 360 mobile assistants can publish instant HTML5 applications and the ability experience is consistent with native ones, if webview embedded in Xiaomi rom is more powerful, all HTML5 applications will run more smoothly on Xiaomi mobile phones. All giants will be blown by the wind. Yes, this battle will be World War II in the mobile Internet world.
The application distribution market will face a reshuffle, because the huge traffic of Super App can easily become the entrance of HTML5 applications, and it will play a greater role. Traditional application stores, even offline pre-installation, these distribution modes with insufficient traffic and low efficiency will be squeezed out of the mainstream of the market. It is also a high-traffic App store for Super App. If the transformation is proper, it will also focus on publishing HTML5 applications.
Native advertising and statistics SDK providers will face embarrassment, and web-based advertising and statistics services such as Google and Baidu will gain greater advantages. Developers no longer need to package SDK, just need to introduce a script.
Open source technology will be more popular in the field of mobile Internet. The openness of HTML has created a large number of open source products, which in turn has promoted the prosperity of HTML. There are a lot of JS frameworks on Github, but there are relatively few native open source codes. In the future, the mobile internet world will develop faster because of open source, and vendors like Github will also have opportunities.
Early HTML only needs notepad to write a few tags, while middle HTML, JS and CSS are more complicated and need a more advanced text editor. However, after the arrival of HTML5, its code volume, complexity and development mode will be similar to the initial development, and professional IDE tools like XCode and Eclipse are needed to solve the problems of development and debugging. Some developers who are proud of writing code with Notepad will face a change of thinking and even be eliminated by more efficient developers.
The power of HTML5 will lead to many security problems, and the solutions are different from the native ones. New security vendor leaders may emerge in the industry.