Unofficial Java History

History shows who is who and gives us valuable information for correct choices in the present.

Since the early nineties, SUN Microsystems has been working on a language for programming appliances. Due to its characteristics, the language becomes ideal for its use on the Internet. In 1995, SUN launches free Java for all major platforms, with the idea of ​​turning it in the standard language of the Internet.

Client-side Java

In its second version, Netscape Navigator, introduces a Java virtual machine supporting Java Applets. It also, renames its client scripts, as Javascript. This promises to revolutionize client-side programming.

The Java Applet programs are embedded in web pages that are automatically downloaded without explicit installation. Drawbacks with Applet technology, added to an aggressive policy of Microsoft to win internet market, minimize the impact of client-side Java in the Internet. In environments of private networks and control products, Applets have some success.

Microsoft launches ActiveX, which only works on Windows, to compete with Java Applets technology. The success of ActiveX is limited due to the same reasons as it was with Applets: they are heavy, security issues, etc...

Javascript, Flash, AJAX and HTML 5

In 1996 , Macromedia launches Flash technology which occupies the space left by Java and ActiveX, becoming the de facto standard for animation on the client side.

The use of Javascript had been extensively extended to small functionalities in web pages. In 2004-2005, Google with Gmail and Google Maps, popularized a new programming technique called AJAX Javascript.

AJAX is defined by not changing the page when communicating with the server. When you read through a web page it is as if you were looking at a desktop program.

In 2005, Adobe Systems purchases Macromedia. AJAX competes with flash, for client side dominance.

In 2006, Google launchs GWT, which allows you to program in Java, generating Javascript AJAX.

In 2009, W3C starts a working group - HTML5 - to standardize client-side storage, hardware graphics abilities and other abilities that enhance AJAX.

In 2011, Adobe removes support to flash on mobile phones and commits to working with HTML5.

HTML5/AJAX wins the war for dominance in the client-side programming.

Google Web Toolkit (GWT)

Google develops actively using AJAX. Because of JavaScript language features, this type of programming is prone to generate errors on large projects.

One solution to this problem is GWT. GWT lets you program in Java (with certain limitations) and compiles generating as a result: Javascript/AJAX/HTML5.

Moreover, GWT lets you reuse existing Java code and allows the use of Eclipse to debug.

Server-side Java

In 1999, Apache Software Foundation (ASF) launches Tomcat. Tomcat is an open source web server, based on Java, that implements the Servlet API. Tomcat´s success, converts Java into a server side standard.

Large companies, universities and governments use Java to develop Web applications. Ninety five percent of job offers are to develop Java Web applications.

J2EE Java Enterprise Edition

The "Java Community", a group of companies interested in Java, define standards for the development of Enterprise Java. This community acknowledges the great mistake in the specification of the Enterprise JavaBeans EJB 1 and 2. Many suspect this was because of business interests.

Rod Johnson, a senior programmer, wrote a book explaining a simple and elegant alternative to EJB, making clear that this tecnology was inadequate. This solution became a de facto standard in the industry called Spring Framework. Subsequent EJB specifications, used Spring Framework techniques.

Oracle bought SUN

Oracle Corporation bought SUN in 2009-2010, making the open source community uneasy. This unrest was explained when Oracle sued Google for details on the use of Java in its Android operating system. Oracle lost the case.

Eclipse

In 2004, Eclipse Foundation is created and the first version of the Eclipse IDE is launched. Eclipse is an open source development environment. It is designed to extend its functionality using plugins. It is the most widely used IDE for Java development.

Google Android

In 2008, HTC Dream, the first device with Android operating system is launched. By September 2013, a billion Android devices had been activated.

Android is open source and standards-based. Android is based on Linux and Java. Initially targeted to smartphones, its used has spread to tablets, smart TVs, and more devices.

Even though Android applications are written in Java, they are compiled to run on a different virtual machine. This virtual machine is specialized on minimizing device resource consumption.