CHAPTER 1: Introducing Java Web Development 35
Trends and Technologies in the Java Web Landscape
Now it is time to delve into the trends and technologies in today’s Java web landscape. This may
seem daunting to a newcomer to Java, but the goal is to familiarize you with the tools, technologies,
and trends in Java web application development in order to give you a glimpse of the modern Java
landscape. When you learn to develop web applications using rapid web frameworks such as Grails
2 and Play 2, you will see that most of these tools and technologies are provided out of the box.
As mentioned throughout the chapter, the JVM, originally intended for Java, can now host a myriad
of programming languages, including Groovy and Scala. As a consequence of this emerging
multiprogramming paradigm, modern web applications are often characterized in one or more of the
following ways:
Responsive web applications
Single-page web applications
Real-time web applications
Reactive web applications
Mashups and web services
Responsive Web Applications
One of the greatest strengths of the Web is that it is flexible. This flexibility, however, is also its
greatest weakness. This weakness manifests itself when a web application tested on one browser
is viewed on the different browser and doesn’t perform properly. This cross-browser compatibility
problem has only grown with the advent of smartphones. As shown in Figure 1-21, as of the end of
2013, there are 6.8 billion mobile subscriptions worldwide, and that number is poised to grow to
8 billion by 2016 (www.itu.int/ITU-D/ict/facts/index.html).
Figure 1-21. Mobile subscriptions
Web applications are expected to run on smartphones as well as on the desktop, but creating
separate web applications for the desktop and the smartphone has significant overhead for
development as well as maintenance. In May 2010, Ethan Marcotte wrote an article for A List