Learn Java for Web Development

(Tina Meador) #1
1

Chapter 1


Introducing Java Web


Development


The mind, once stretched by a new idea, never returns to its original dimensions.

—Ralph Waldo Emerson

An intelligent machine is that which extends the very imagination with which it was built. An example
of this is the instruction called invokeDynamic,^1 which was introduced with Java 7 to optimize the
performance of dynamically typed languages on the Java Virtual Machine (JVM). The JVM, originally
intended for Java, can now host a myriad of programming languages, including Groovy^2 and Scala.^3
This has led to a renaissance of Java web development. This new paradigm of cross-pollination and
diverse, well-founded options carves out a number of niches in the Java ecosystem, resulting in a
richer web landscape than ever before.


The open source community has capitalized on the multiparadigm capabilities offered by the
languages that run on the JVM, by means of web frameworks, to dramatically enhance the
productivity in web development. Java EE^4 advanced this momentum, pioneered by Java
frameworks such as Spring,^5 by standardizing and improving the API and runtime environment.
Further, functional programming constructs, in the form of lambdas, have been added to Java 8. As
a result, Java is on the rebound to become an übersolution.


This chapter sets the stage for the book by introducing the three key players that join forces in
building modern Java web applications: the JVM languages, Java EE, and the Java web frameworks.


(^1) http://cr.openjdk.java.net/~jrose/pres/200910-VMIL.pdf
(^2) http://groovy.codehaus.org/
(^3) http://www.scala-lang.org/
(^4) http://www.oracle.com/technetwork/java/javaee/overview/index.html
(^5) http://spring.io/

Free download pdf