The advent of HTML5 along with the move to mobile and cloud computing are conspiring to cause a major shift in the application development landscape akin to when Java displaced C++ as the major enterprise programming language 15 years ago, according to a top Oracle development executive.
NEW YORK The application
development landscape is in the midst of a major era shift based on the "perfect
storm" provided by the emergence of cloud, mobile and HTML5 as dominant
themes in modern systems, said a top Oracle development executive.
Indeed, the shift from hard-core object-oriented
languages to more Web-oriented development platforms is, in effect, much like
the way Java moved in on C++ more than 15 years ago, said Cameron Purdy, vice
president of development for Oracles application server group.
Speaking at the QCon New York 2012
event here, Purdy said, Change for our industry is opportunity; I havent seen
anything like this in 15-plus years.
Cloud, HTML5 and mobilethese three
things will conspire to be a perfect storm for our industry, Purdy said. The
combination of HTML 5, mobile devices and the cloud is a rogue wave.
Moreover, Purdy argued that with the
shift to mobile development, HTML5 and JavaScript together are becoming a
development platform unto themselves.
Mobility is at the heart of that
charge, as mobile devices are not always connected to the back-end servers that
do the major processing work. This means some of that capability must be
offloaded to mobile devices so they can be used in a disconnected mode. HTML5
and JavaScript enable this, Purdy said.
The app development world is swiftly
moving from a Web-server-centric model to a thin server model, he said.
Disruptions or discontinuities are driving this move. Disconnected device
capability will lead to "disconnectable" applications, Purdy said.
Disconnectable applications plus smart clients bring about the Thin Server
Architecture. Meanwhile, cloudwith both infrastructure as a service (IaaS) and
platform as a service (PaaS) modelscontinues to catch on and drive reinvestment
as we see elastic scale-out, global data centers and capital-free computing
emerge, he said.
However, the biggest unknown in this
shift is the extent of JavaScript as a platform, Purdy said. He noted that with
JavaScript as the new byte code or platform, JavaScript Object Notation
(JSON) becomes the new lingua franca of data, taking over from XML. The
emergence of JavaScript is still ongoing, as JavaScript is showing up on the
server. But the downside is, its single-threaded, Purdy said.
Of course, Oracle is not sitting
idly by watching this wave. Oracle has recently announced its cloud strategy
and has been reworking its products for the mobile world. And although Purdy
did not make his talk into an Oracle commercial by any means, he did mention
that Oracle has an ongoing effort named Project Avatar that the company
announced at JavaOne 2011. Oracle has described Project Avatar as its hybrid
programming model for dynamic rich clients, integrating HTML 5 on the browser
as the UI, with Java applications as the controller and the model, and then
Java EE 7 in the Cloud at the back endunifying Java ME, Java SE and Java EE.
Purdy also mentioned Javas Project
Nashorn, which is an effort to deliver a JavaScript engine fully developed in
Java for the Java Virtual Machine (JVM) using the InvokeDynamic API. However,
that effort is a ways off as it is slated to be part of Java 8.
Meanwhile, Purdy discussed the
factors at work in the industry that led to Java supplanting C++ and how
similar changes are at work today as the development platform shifts anew. When
Java emerged ahead of C++, it was a very different era. It was the era of
the Internet, the World Wide Web and the HTML browser, which required no
client-side software per application, no installation and no configuration.
This eliminated the startup time, memory footprint and native integration
benefits of C++. Applications required fast, iterative development, better
class libraries, modularity, long running capability, no memory leaks,
multi-threading support and safety on the server. Java provided all these
things above C++.
And where Java left holes, scripting
languages such as Ruby, Python, Perl and PHP have been around to fill the void.
The scripting languages provided density and startup speed that Java lacked,
and possessed other benefits. They include the following:
its
design for shared hosting;
much
lower initial memory footprint;
stateless
processes that are easy to scale and cycle;
simplicity and approachability;
hooks
up to databases;
manages
state on behalf of the user;
produces
HTML;
rapid application development;
no
object-oriented architectural requirements; and
no
compile step, save and refresh.
Scripting languages will maintain a
place in the new world of app development, Purdy said.
Darryl K. Taft covers the development tools and developer-related issues beat from his office in Baltimore. He has more than 10 years of experience in the business and is always looking for the next scoop. Taft is a member of the Association for Computing Machinery (ACM) and was named 'one of the most active middleware reporters in the world' by The Middleware Co. He also has his own card in the 'Who's Who in Enterprise Java' deck.