For nearly two decades, developers and CIOs have taken for granted the “simplicity” that a Windows-dominated world provided to software development. With one operating system capable of reaching the vast majority of users, there was no debate about which platform your software needed to run on. Nearly everyone ran Windows.
Then the iPhone happened, kicking off a wave of change that is forever altering the way software is built and delivered. Everyone involved in creating software (now called “apps”) must rethink how things are done. Add to that the impact of ending the Windows monoculture, and suddenly software development is in its infancy again.
Understandably, the industry is scrambling to find ways to deal with this complexity. How do you efficiently build and support software that needs to reach users running an unpredictable matrix of mobile and desktop operating systems (like iOS, Android, BlackBerry, Windows Phone, OS X, Windows)?
HTML5 is the only software runtime today that can be found on virtually every computing device with a screen. From computers to cars, HTML5 is the ubiquitous runtime, and the addition of powerful new APIs and capabilities over the last five years have made it much more able at handling the requirements of traditional “native” software development.
Done well — particularly with the aid of hybrid technologies that embed HTML5 in native app shells — the use of HTML5 is invisible to users. To developers and CIOs, though, the benefits are huge: one code base, one set of developer skills, one development and maintenance effort.
All of this begs an important question: If HTML5 and hybrid development can help simplify software development for a plurality of mobile operating systems, why stop there? Why not use those same techniques and leverage those same benefits for desktop development?
As it turns out, it’s already happening. Traditional desktop app development is the next frontier for leveraging the benefits of HTML5. Two kinds of solutions are driving the evolution of HTML5 past mobile and onto desktops: new operating systems that leverage HTML5 as a native app option and new packaging solutions that enable HTML5-powered apps to be “installed” on traditional desktop platforms, like Windows and Mac.
Meanwhile, another set of solutions aims to enable HTML5-powered apps that can run on any existing desktop. Google’s Chrome Packaged Apps will not only run on Chrome OS, but also on Windows, Mac, Linux, and anywhere else the Chrome runtime is found. A real “write once, run everywhere.” The popular Cordova (also known as PhoneGap) container used for hybrid mobile development may also soon find its way to the desktop. If it does, developers could leverage the same cross-platform packaging solution across all mobile and desktop operating systems.
In all cases, these are not “apps in a browser.” Apps created for desktop using these modern web standards packaging solutions look, feel, and integrate like any other native desktop app. To a user it’s transparent; to a developer, it closes the loop opened by mobile, enabling complete app strategies — from mobile to desktop to web — to leverage HTML5.
And before dismissing these solutions, thinking that desktop is dead, think again. A recent Kendo UI Global Developer Survey found that 60% of software development done with HTML5 is targeting desktops. Mobile devices may be on the rise, but desktops remain vitally important to information workers and those users need software.
Legacy native software development will never disappear completely, of course. Some applications will always need the extra freedom that writing natively affords. But the world is different now. Dealing with new complexities of software development requires a new approach. As the power of HTML5 and hybrid evolve, developers and CIOs would be mistaken to ignore the possibilities on desktop and limit the benefits to mobile.
Too good to be true? Perhaps. But the alternatives are too few and too bad to accept. The days of single platform (Windows) development are gone. The next dispensation for developers will revolve around writing software that runs across multiple platforms. Developers that embrace the full power and capability that HTML5 offers will not only simplify their mobile development strategy, but their entire development strategy. Desktop included.
Todd Anglin is executive vice president of cross platform tools and services at Telerik.