JAX London 2014: A retrospective
Atmospheric change

Modern JVM/JavaScript framework Atmosphere reaches 1.0, asynchronous future beckons?

ChrisMayer
barometer

It’s been in the works for 4 years, but JVM framework Atmosphere has shown its been worth the wait. Can it lead the way for modern internet application development?

Undeniably, there’s a craving for all things asynchronous within the software industry at the moment. For  Rich Internet Application development, it’s no longer just about one technology doing it all with consumer demanding a comprehensive experience and extra content such as social and real-time feeds.

It’s also fair to say that the Java community had been slow to act upon the importance of the browser, until recent months. Now, it’s one of the biggest challenges that Java faces.

We’ve already seen one such asynchronous project gain a lot of community backing. Application framework Vert.x has been lauded for its fresh polylgot approach, becoming a melting pot for the likes of Groovy and Java, but also front-end languages like JavaScript and CoffeeScript. Its simplicity and scalability are key reasons for success, providing a single hub for modern application development and positioning itself as a JVM alternative to node.js.

Another project singing from the same polyglot hymn sheet is the JVM-running, JavaScript/Java Portable framework Atmosphere. After four years of intermittent development (with good reason), Jeanfrancois Arcand announced on his blog that the first official release for the framework had arrived, full to the brim with new components.

Atmosphere doesn’t just support Java, but can also work with Groovy and Scala, recognising the need to branch out to include other JVM languages. Atmosphere also works either in standalone or embedded mode.

The supporting technology list reads a bit like a ‘who’s who’ or ‘what’s hot’ right now in software development. The client side of the operation is provided by JavaScript, whilst the runtime aspect supports all major web servers. It supports standard containers such as JBoss and Tomcat but according to Arcand, it also “works transparently” with the in-vogue Netty and Grizzly. This container agnosticity makes the project flexible to deal with any new wave of container, which is a good thing with Jetty gaining ground.

You can’t accuse Atmosphere of not being bang on topic, with native extensions for the REST Framework Jersey, GWT and the Socket.io protocol. We’re only scratching the surface here, with plugins provided to a plethora of projects, all listed here on Github. Suffice to say, it’s a comprehensive catalogue of web-based solutions.

Opening the drawbridge to other projects is something which we think is a great idea, and could pique the interest of many different communities. Atmosphere may have been in incubation for a long time, but we believe this is undoubtedly a good thing – allowing the frameworks that have stood the test of time in, whilst discounting those that were merely a flash in the pan. The four years have allowed solid groundwork to be laid, making it ideal to deal with the multitude of platforms now available.

Arcand adds:

 Atmosphere works with every Java EE Application Server and can automatically negotiates the best transport between the client and server. Atmosphere’s support portable WebSockets with Jetty, GlassFish, Grizzly 2, Tomcat and Netty. Write once, deploy anywhere!

In short, Atmosphere works everywhere and with every framework. Websockets, Server Sides Events or any HTTP techniques are supported transparently. Write one javascript, one server file and Atmosphere will make it work everywhere, without any changes!

Impressive. Be sure to check out his post, showing how the whole thing works. Atmosphere has already sparked the interest of big sites, with an implementation already servicing as much as 50 million request per day at WSJ.com. With this release, expect some bigger names to follow suit with their own interpretation.

The project has huge potential and this release signifies not only just how far it has come, but that it can push the boundaries further. Already commanding an impressive Github following with 104 framework forks (at the time of writing), the sky’s the limit with this one.

Still not convinced? Check out this video showing Atmosphere’s powers, demonstrating a web application that uses comet/websocket protocols to push events to the browser.

Flickr Image courtesy of ell brown

Author
Comments
comments powered by Disqus