Opinion: If Flash is dead, is HTML5 now ready for the big time?
There was a 17 year gap between HTML5, which was finalised and published on October 28 2014, and its predecessor HTML4. In that time, the technology landscape changed in virtually every conceivable way. Google was founded a year after HTML4 was finalised. Mark Zuckerberg was 13 years old. Steve Jobs had only just returned to Apple. Heck, in the UK, it would be a year until it was possible to send an SMS to someone on a different mobile network.
Even though HTML5 has been in development since 2004, it wasn’t until April 2010 when a famous open letter by Steve Jobs called ‘Thoughts on Flash’ pushed it into the public sphere. Over the intervening years, there has been a lot of talk amongst developers and the media about whether HTML5 could replace native apps.
HTML5 has gone from strength to strength, winning major support from YouTube, who announced that HTML5 is now the default for its videos; Facebook, who announced it was shifting from Flash to HTML5; Google, who stopped supporting Flash entirely in its Chrome browser earlier this year; Amazon, who recently banned Flash advertising content on its site; even Adobe, who changed the name of its Adobe Flash Professional CC, now called Adobe Animate, specifically targeted at HTML5 development.
Flash, therefore, is all but dead. Yet is HTML5 ready to take its place?
If we were to look at this as the question alone, then yes, every use for Flash is being replaced by HTML5. HTML5 is the future of the web and the language which anyone developing web portals or sites should be using. As a language used to create responsive websites, HTML5 is most certainly what developers should be using.
So yes, HTML5 is ready for the big time, if we’re speaking about web development.
If we’re talking about apps, where much of the focus has been, and whether HTML5 is going to overtake native development and be the main language people use for mobile engagement; the answer becomes more complicated.
The things that we do with our smartphones and the number of devices we use has also changed rapidly. As apps have continued to gain popularity and capabilities, the role that native development plays has also increased.
Now, HTML5 is trying to play catch up with the capabilities of native development. The likelihood is it never will, for one express reason best illustrated by Peter-Paul Koch of Quirksmode. “Technically, it’s simple,” he writes. “The web cannot emulate native perfectly, and it never will. Native apps talk directly to the operating system, while web apps talk to the browser, which talks to the OS. Thus there’s an extra layer web apps have to pass, and that makes them slightly slower and coarser than native apps. This problem is unsolvable.”
While the web may not be able to emulate native, according to the Vision Mobile State of the Developer Nation Q3 2014 HTML5 is the most used language by developers at 42%. HTML5 is commonly used in the development of hybrid apps, using tools such as Cordova.
As much as web technologies are progressing, so too are the features and experiences that can be obtained through native development. As the number of devices that we use increases, there has become an increasing expectation that the experience will be tailored to each device type. Today, many apps that get built are hybrid in one way or another, with developers choosing where to use native functionality and where to use web technologies.
HTML5 is the future of websites, as it is the language that is best suited for the changing landscape, to support smartphones, tablets and desktops. It is also the language that is the best base for creating web-apps that can run on desktop or mobile devices. This suits apps that are lighter, in terms of functionality, or require less access to hardware or OS level services, than apps that work best natively.
In comparison to a few years ago, there are now more tools and frameworks to support HTML5 development. The ecosystem around it has started to mature. Compared with HTML4, at the same point in its release, there is already vastly more support for HTML5. This has everything to do with the role that the Internet plays in the world today, compared to 1998, when it was just getting started with revolutionising everything.
Now, mobile and other connected devices are continuing that revolution. For the web though, HTML5 isn’t just ready for the big time. It is the big time.