The first time we talked about HTML5 changing the world was probably because of Steve Jobs, who insisted on not being compatible with Flash on iOS. In an era when Adobe dominated multimedia development, this took a lot of courage. After so many years, although everyone is talking about HTML5, most people even forget that it is still a system that is still being improved.
In 2007, the W3C (World Wide Web Consortium) established the HTML5 project. It was not until the end of October 2014 that this eight-year specification was finally officially finalized. Next, HTML5 will truly begin to subvert the native (Native) App world. Although this kind of alarmism has become a bit annoying. But if you look back at the path HTML has taken over the years, you will no longer doubt its power.
Since W3C released HTML4 in 1999, the Web world has developed rapidly and prospered. It was once thought that the HTML standard did not need to be upgraded. Some companies dedicated to developing Web Apps established separate WHATWG organizations. Until 2007, W3C took over related work from WHATWG and started to develop HTML5 again.
The development history of HTML5 is driven by the needs of users, the needs of technology developers, and huge business interests. In the early days of the Internet, it was a magical thing for users to be able to open a browser and access the Internet world. However, as the Internet developed around 2005, the next change began to occur, which was broadband Internet.
With the popularization of broadband and the enhancement of computer performance, people are no longer satisfied with simply reading news and sending and receiving emails through the Internet. Entertainment products that consume higher bandwidth have begun to appear, such as streaming videos and web games. In fact, videos and games are ancient needs. When the Internet was not popular, the way to meet the demand was offline transmission of VCDs and game CDs. Later, the Internet gradually became popular, and people changed their usage and watched videos by downloading software local media players. , download larger client games.
But new ways to provide a better consumer experience have emerged and subverted everything before, that is, streaming media and web games. Companies such as Youtube have seized on the trend and risen rapidly, and various web game companies have also sprung up.
HTML standards have not grasped the changes in the industry and evolved in time, and browser products have not been upgraded. This new demand is met by browser plug-ins, that is, Flash. This commercial plug-in deployed in hundreds of millions of browsers has become a de facto standard. In 2005, Adobe invested heavily in acquiring Macromedia and took Flash under its umbrella. Then it vigorously promoted FLV streaming media and action script language. It is obvious that this acquisition can be regarded as a classic case of IT mergers and acquisitions. FLV streaming media and Flash games have taken the Internet by storm. Adobe A large amount of profits have been captured in the new industrial upgrading.
In addition to Flash, a commercial product that has become a de facto standard, W3C also faces an embarrassment, that is, the manufacturer of another private extension protocol? IE. IE had a monopoly on desktop browsers at the time, and had extended a large number of IE Only syntaxes. Developers had no idea who defined these languages. The entire web world has been kidnapped by two companies, Microsoft and Adobe.
Many IT giants are restless, especially Apple and Google. It is difficult to make a breakthrough in the world of PC operating systems, and Apple has high hopes for web browsers. Although the upstart Google has heavily sponsored Mozilla, it has not had a substantial impact on IE's status. After acquiring YouTube, it was very sad to find that the lifeline was in the hands of Adobe. Moreover, the annual fees Google pays for IE's search box and Adobe FLV are really not a small amount.
Since everyone is the chairman unit of W3C, okay, let’s start working on HTML5 again. Yes, this is how HTML5 was actually born.
Since the birth of HTML5, it has gone through two stages, namely Web enhancement and mobile Internet. Let’s start with web enhancements. The rich enhancement of the Web experience is mainly reflected in:
Of course, HTML5 has also optimized the semantic analysis of search engines, such as adding new header and section tags, and has also done a lot of work in areas such as accessibility, which I won’t go into detail here. HTML5's efforts in streaming media and games have successfully curbed the development of Flash, and then it's time to curb IE's private syntax.
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 participated in the HTML5 specification and on the other hand, they worked hard on browser products. Apple first began to vigorously develop Safari, established the WebKit open source project, and migrated Safari to the Windows platform; Google initially sponsored Mozilla to develop Firefox, and later developed its own v8 engine, merged with WebKit, and officially launched Chrome in 2008. The slogan "IE's private specification Flash is not a standard, we are the standard" was launched in the new generation browser war. IE instantly became the representative of monopoly that was criticized by many people, and even became the sinner hindering the development of the Web (IE6 had been in use for several years at that time) not updated and not afraid of Firefox's evolution).
,
But Microsoft also made a mistake at this time and launched a series of IE7, 8, 9, and 10 that did not fully support the specifications and were incompatible with each other, completely losing the support of developers.
Adobe’s Flash was suppressed and missed the throne of Web dominance; IE’s private standards were suppressed, causing IE’s market share to continue to decline until the latest mobile version of IE in turn began to support WebKit syntax , it’s really sad. I wonder if it’s time for HTML6 to overthrow the WebKit monopoly.
With the rapid advancement 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 mobile Internet era. HTML5 is the only cross-platform language that works on PC, Mac, iPhone, iPad, Android, Windows Phone and other mainstream platforms. Both Java and Flash dreamed of this position, but their dreams ended with iOS. At this time, people began to study the development of cross-platform mobile applications based on HTML5. Many people believed at the time that native applications were just a transition, just like the transition from C/S structure to B/S structure. Moreover, learning Objective-C and Java is very difficult. Since I know web development, why not try HTML5.
W3C established the Device API working group at this time to expand HTML5 with mobile phone-specific APIs such as Camera and GPS. However, the trouble is that the initial iteration of the mobile Internet was too fast, and mobile phone OS was constantly expanding. Hardware API, gyroscope, distance sensor, barometer. . . Every year mobile phone OS has major version updates. As an organization where hundreds of member units make joint decisions, W3C has a very complicated process from proposing a standard draft to reaching a consensus, which cannot keep up with the rapid iteration in the early days of the mobile Internet.
The emergence of PhoneGap has opened a window for developers. Many people expect PhoneGap to continue to expand its API to supplement the browser's deficiencies. When Adobe saw PhoneGap, it seemed that it saw hope of revitalizing its status in the world. However, after Adobe acquired PhoneGap, it discovered that this thing had many problems, and open source prevented Adobe from obtaining commercial benefits like Flash, so it donated PhoneGap to Apache and changed its name. for Cordova.
Due to various reasons, Cordova's positioning did not ultimately become a browser enhancement, but moved towards hybrid development. Based on the background at the time, they believed that native was irreplaceable and the hybrid mode of "native HTML5" made more sense. So now the use of Cordova often involves "native engineers and HTML5 engineers" working together to complete the app.
At this time Facebook joined the W3C and took the lead in establishing the Mobile Web Working Group. Facebook is in the Web circle and has no territory of its own on mobile OS. It doesn't like the native application ecosystem controlled by Apple and Google. An important goal of the Mobile Web working group is to enable web applications developed in HTML5 to achieve the experience of native applications. However, things backfired. It didn't matter if it didn't work hard. The result was that it failed despite trying hard. In 2012, the news that Facebook abandoned HTML5 flooded IT media around the world, and HTML5 was instantly thrown into the background.
Why did Facebook abandon HTML5? The core thing is that it was really impossible to make a good mobile app based on HTML5 at that time. Compared with the native apps of competitors such as Twitter, Facebook’s HTML5 version really cannot satisfy users. For example, in the Push function, there is still a huge gap between HTML5 push and native push experience, not to mention many problems such as white screen switching in HTML5 applications and unsmooth pull-down refresh/side-sliding menus. Watching native engineers easily implement functions such as shake, QR code, voice input, and sharing to Moments makes 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 its users. And Facebook has not mastered the key point? The mobile browser core. If the browser can't keep up, all else is for naught.
What is the performance of the browser on mobile phones? Look at Google first. Although Chrome has high performance, the browser on Android is not Chrome, but a crappy Android browser modified by WebKit. Look at Apple again. iOS does not allow other browser engines to be put on the App Store, and other Applications using the Safari engine also cannot call Apple's own JavaScript acceleration engine Nitro. The result is that Apple and Google not only do not actively implement HTML5 specifications for mobile apps in browsers, but instead impose various restrictions on HTML5.
Whether it was the lack of hardware capabilities at the time or the deliberate restrictions of mobile OS manufacturers, the result is obvious: in the early days of the mobile Internet, the world must be dominated by the native application ecosystem. After iOS and Android first became the bosses, others Only the younger brother can find opportunities to grow.
Whether it’s Facebook or PhoneGap, you won’t be able to get a share of the mobile Internet in the early days, but if you persevere, opportunities will often appear.
HTML5 will be finalized at this time, neither too late nor too early, with stronger hardware performance and slower mobile OS iteration speed. With the finalization of the HTML5 standard, all disputes will come to an end. Now, the era of HTML5 has arrived. This technology, which once made people full of hope and was abandoned by many hopeful developers such as Facebook, will now tell you that the reasons that once disappointed you no longer exist! This sounds a bit surprising, and everyone can’t help but ask: Is it true? Let's break it down.
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 to call is not as good as native.
These problems prevent developers from using HTML5 to make apps that are the same as native ones. However, whether it is hardware upgrades or changes in OS manufacturer strategies, as well as the maturity of related software technologies, the "performance" obstacles of HTML5 have been solved.
We all know that the default control style of the browser is very different from the native control style. A high-performance UI framework with the same style experience as the native control is very important. Previously, products such as jQuery Mobile had poor performance due to It is not enough, so it is difficult to take on this responsibility. To make an advertisement here, my company DCloud released a solution to the system's HTML5 "performance deficiency" at the iWeb conference, including a mobile engine that solves HTML5 performance problems, the ultra-fast HTML5 development IDE product HBuilder, and There is Native.js technology that encapsulates 400,000 native APIs into JavaScript objects to solve the problem of insufficient HTML5 capabilities.
Intel has released the Crosswalk engine, which allows applications on Android 4.0-4.3 phones to package the Chromium engine instead of Android WebKit. Although Android 4.4 will occupy more market share in the future, the current system versions of mainstream Android phones are still 4.1 and 4.2.
Many companies have also made good achievements in the professional direction. The touch-sensitive 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 players.
Whether it is hardware upgrades, software maturity, or operating system manufacturer strategy changes, they are all driving the explosion of HTML5.
But please note that when I say the outbreak of HTML5, I don’t mean the outbreak of mobile browsers. Some people say HTML5 is bad because users hate the process of opening a browser and entering a URL. I would say this is a one-sided understanding of HTML5. HTML5!= Traditional browser, although the programming language is still HTML, Javascript, and CSS, the distribution method is by no means as simple as a traditional website. The entrance to HTML5 applications is rarely to start the browser and enter the URL. It can be an icon that exists on the mobile phone desktop, or it can come from super apps (such as WeChat Moments), search engines, application markets, and advertising alliances. . . Entrances to it are everywhere. It has more entrances than native apps.
HTML5’s “performance” obstacles have been solved and can be close to the effect of native apps, so can it replace native apps? Many people believe that even if HTML5 will develop better than it is now, it will still be a pattern where native apps each occupy a part of the market. Long-tail applications with low requirements will use HTML5, while mainstream applications will still be dominated by native apps.
But I think this idea is dangerous, just like HP executives told Woz: Who would put a computer at home? HTML5 will definitely disrupt native apps in the future. The elimination of the "sexual performance" barrier only weakens the disadvantages of HTML5, but after the disadvantages are eliminated, its advantages will shine. What are the advantages of HTML5? For developers:
The benefits of HTML5 to users are corresponding to the large number of traffic entrances and high distribution efficiency. Significantly lower the threshold for use. When the user's eyes see a point of interest and click on it, it should immediately start satisfying the user's needs. For example, streaming media can be watched immediately, and web games can be played immediately. In the current native app market, users need to do this: select an app, wait for download, confirm permissions, wait for installation, and then click to open. Such a bad experience must be subverted sooner or later. Whether it’s apps, games or audio and video, everything will be ready to use in the future. Whoever meets the needs of users first will win.
This is the so-called "In martial arts in the world, only quickness is undefeated". At this point in the analysis, we can clearly see that HTML5 will definitely replace the current position of native applications, whether from the perspective of end users or developers. And this triggered a series of subversions.
The outbreak of HTML5 and the subversion of the native App ecosystem is an industrial revolution that will affect many roles. Let us make predictions.
The standard HTML5 engine cannot solve all the problems of HTML5. Internet giants with large traffic portals are always thinking about embedding better enhanced engines. Tencent launched the X5 browser engine because of this opportunity.
Currently, various browser manufacturers, application market manufacturers, and even ROM manufacturers are working hard to integrate better browser engines. What if the built-in webview of WeChat can run better canvas games, what if the 360 Mobile Assistant can publish click-to-use HTML5 applications and the performance experience is consistent with the native one, what if Xiaomi rom has a built-in more powerful webview so that all HTML5 applications can be used on Xiaomi phones Runs more smoothly. All giants will take action upon hearing the news. Yes, this battle will be World War II in the mobile Internet world.
The application distribution market will face a reshuffle. Due to the huge traffic of super Apps, they can easily become the entrance to HTML5 applications, and the bigger will have a greater effect. Traditional app stores, and even Offline pre-installation, these distribution models with insufficient traffic and low efficiency will be squeezed out of the mainstream of the market. A high-traffic app store that is itself a super app, if transformed properly, will also focus on publishing HTML5 apps.
Native advertising and statistical SDK providers will face embarrassment, and web-based advertising and statistical services such as Google and Baidu will gain greater advantages. Developers no longer need to package the SDK, just introduce a Script.
Open source technology will become more popular in the mobile Internet field. The openness of HTML has created a large number of open source products, which has also promoted the prosperity of HTML. There are a large number of JS frameworks on Github, but the number of native open source codes is very small. In the future, the mobile Internet world will develop more rapidly because of open source, and there are also opportunities for Github-like manufacturers here.
In the early days, HTML only required a few tags written in Notepad. In the mid-term, HTML, JS, and CSS were more complex and required a more advanced text editor. However, after the arrival of HTML5, its code volume, complexity, and development model It will be in line with native development and requires professional IDE tools such as XCode and Eclipse to solve development and debugging problems. Some developers who pride themselves on being able to use Notepad to write code will face a change in thinking or even be eliminated by more efficient developers.
The power of HTML5 will cause many security issues, and the solution ideas are different from the original ones. There may be new security vendor leaders in the industry.
At the end, I feel that the topic is a bit big. In fact, no one can accurately predict how the future will develop, as there are many variables. But I think the trend of making things more convenient for both users and developers is unmistakable. Everyone is welcome to discuss HTML5 issues together and extract true knowledge from the controversy.