Now the HTML5 is like the Ajax when the budding, someone is doing, but do not know what to call it. Recently, Apple has made a big fuss over the HTML5, while the famous web designer Eric Meyer has proposed the concept of Web Stacks. Alex Kessinger is a front-end engineer of Yahoo, this paper is his thinking about the present situation and prospect of HTML5 application.
Terms
First of all, some definitions of HTML5 application are explained.
HTML5
The best definition of HTML5 comes from Mark Pilgrim's Dive into HTML5:
"HTML5 is the next generation of HTML following html4.01,xhtml 1.0/1.1."
It is worth mentioning that we may be able to see HTML6, but according to Pilgrim in WHATWG blog, Next Generation HTML is likely to remove the concept of version number.
Application
An explanation from Wikipedia:
" applications are software that computers use to perform specific tasks. "
HTML5 Application
From the user's point of view, HTML5 application and other computer applications are not exactly the same, but already very close. From a developer's perspective, HTML5 applications are HTML,JAVASCRIPT,CSS based programs that use open technology that can be used offline to replace part of a dedicated platform such as Silverlight and Flash. Or, over the years, the things you use to create Web pages can now be used to create apps like desktop and smartphone apps.
Open Source Model brings change
O ' Reilly founder, Tim O ' Reilly, an Open-source supporter, once said in the open source Paradigm Shift:
"IBM's commercialization of personal computer designs has shifted profits from hardware to software, and open source will bring new wealth. "
The value shifts at different levels, the HTML5 will become a new dimension, the value of the commodity is declining, and the current browser has become a commodity, but that is fine, as long as they are compliant. People say that we can put the operating system into the browser, but this does not work, if we can learn from the past experience, that is, can not simply copy the pattern of the past, such as radio to television changes, you can not simply put a camera in front of an announcer finished, the operating system into the browser is not necessarily more than HTML5 offline applications are more valuable in their own right.
The importance of publishing channels
Channels such as the Apple App Store, the Android App Store will be dominant, and some new, like Valve gaming channels, Netflix movie channels will appear in the "cloud" era, which will be used to organize and categorize users like desktop-era operating systems.
How did we get to the present stage?
There are two key factors.
Thanks to Web standards
Although the browser market is not uniform, at least they are running html,javascript and CSS. When we want to launch something over the web, we know that, anyway, users can see it, but can you imagine what people are doing when they define the web, and if someone doesn't use the HTTP protocol or use HTML, it's the end of the world. Organizations such as the wide range of web browsers keep all browser manufacturers in the same direction.
Okay, we don't have a lot of rendering engines.
Browsers are not easy to do, billions of of pages, uneven code, these things so that independent developers do not have the opportunity to design the browser alone, so the ability to design browsers is always a handful of vendors, in fact, today, we have only four major browser rendering engine, Trident (IE), Gecko (Mozilla, Firefox), WebKit (Chrome, Safari), and Presto (Opera), and many browsers are built on these rendering engines. This means that no matter what kind of device we have, we don't have to worry too much about what browser it uses, no matter what device it has, as long as it has a browser, there is an environment that can run HTML5.
What day is the standard?
Ian Hixie is most recognized for the time that HTML5 became standard:
" According to estimates, HTML5 will not form the standard of the consortium until 2022 ."
However, while the standard is still in the making, browser vendors are already implementing various HTML5 functions.
Feature probes vs Browser probes
If you're a developer, you can use those advanced features, but you'll need to perform functional probes and provide incremental design. There are plenty of functional probes, such as Modernizer, and Mark Pilgrim has a list that allows you to detect any function.
Offline API
The offline API is the basis for all HTML5 applications, not just offline data, but for developers, having local storage (localstorage) is naturally good, but how do I get the program to run completely offline? Application Cache is the answer. If the source files and data cannot be saved offline, we will not be able to implement offline HTML5 applications.
We currently have several offline storage mechanisms, such as localstorage and SQL storage engines, which are already supported by some browsers, and the newest star is Indexed Database, which is supported by all major browsers. The ability to save applications and data offline is the foundation of HTML5, and Webkit,firefox is already achievable, and IE9 is about to be implemented. Instant IE9 support still needs to wait, think about, the most need offline application of the occasion is where, naturally is smart phone and netbook, smart phones are mostly used Webkit.
WEB Application workgroup: The next step in HTML5 application
The WEBAPPS standard for the consortium has done a lot of work, including APIs and HTML5 Web program details.
Packaged deployments of HTML5 applications
"
for local/offline HTML5 applications, the
packaging and configuration are the preferred mechanism and will become the de facto standard," said the HTML5 Apps–quirksblog blog post. Manufacturers have begun to implement them. The Widgets supports Vodafone S60 and Samsung handsets on any platform, Opera desktop and mobile browsers, Bolt browsers, and Windows mobile 6.5. The BlackBerry is also supported, but special Java packages are required. "
These are standard, essentially, if you have a HTML5 application, it will include HTML, CSS, and JS, which are just occasionally helping developers to package their programs and issues, and if you are familiar with PEAR, they are very similar concepts. You may need some metadata to tell the system how your programs are packaged together, and on the platform that supports these standards, you can guarantee that your users will be able to run these programs smoothly.
Other
HTML5 also has more APIs to help developers create applications that allow you to access programs such as local files, cameras, SOCKET communications services, and hardware animation acceleration. These APIs are just the beginning, and there will be more and more later in the API.
Where can the HTML5 program be applied?
Of course, the browser, if a device has a browser or rendering engine, and the engine is a modern engine, it can run the HTML5 program. HTML5 programs can be applied in the following scenarios.
Desktop
If you have a WEB-compliant browser, you can run the HTML5 application. The desktop is still important.
Specify a Site Browser
Sites such as Gmail can be viewed as an application, run with a dedicated browser, which does not have an address bar, is designed to run a specific site, and can even be used to distribute the installation package. The following resources are worth looking at, Prism, Fluid/fluidium and Nativehost.
Mobile field
This is HTML5 's hottest place to run. The IPhone can be integrated with many programs, showing your program on its today desktop (there's a tutorial here), and Android also supports the HTML5 API needed, but it's not good enough to integrate. In the next few years, mobile browsers that support HTML5 will be springing up and migrating your apps to HTML5 is sensible because HTML5 will run well on these devices.
Cross-border areas
A company is about to launch a TV platform, and Google TV and Apple Tv,google say their TV platform will support HTML5, and we don't know what Apple's TV platform will support, given their recent series of hype over HTML5, which is likely to support it. Other TV box vendors, such as Boxee, have already started supporting HTML5, and if you want to develop applications for Boxee, instead of developing them specifically for it, use HTML5 directly.
There are a lot of platforms across the border, and the number of TVs that can connect to computers is growing, and we've been able to watch YouTube Full-screen on TV, and the popular Wii has built Opera. All of this will be aided by Html,css and JavaScript.
HTML5 Application Store
Eric Meyer talked about the HTML5 application problem, and he applied HTML5 to Web Stack Apps, HTML5 to get more attention, to build a HTML5 App store. That's what Chrome is doing, and Palm already has one.
App stores are good things, and developers can get paid directly, without the need for ads to be maintained as they are now, and users will have a place to look for programs for their devices.
HTML5 Market Prospects
HTML5 is growing fast and deserves the attention of everyone, and in the last year or two there will be a lot of companies coming into this area, we might see some heavyweight vendors at the Chrome App Store, and we'd like to see some app stores in Google TV and Apple TV. HTML5 will form its own ecosystem like the traditional flash,flex,silverlight,objective-c. HTML5 will be more likely to appear on any device than Flash, Flex, Silverlight, and Objective-c.
For the younger generation of developers, HTML5 should be their preferred skill, HTML5 will form a large market, many companies need this talent.
Original Author
Alex Kessinger is a Yahoo front-end engineer, his blog address is alexkessinger.net, he is also the co-founder of Tastestalkr.com, is currently living in San Francisco Bay Area.