InfoQ

News

Merapi Project : A Bridge Between AIR and Java

Posted by Jon Rose on Feb 23, 2009

Community
Java
Topics
Rich Internet Apps ,
Rich Client / Desktop ,
Web 2.0
Tags
Flash ,
Adobe ,
Java SE ,
Adobe Integrated Runtime

Adobe Flex and AIR have strong ties to Java in their history, including an Eclipse based IDE, and full feature data services products built in Java to run in Servlet containers.  However, even with the strong ties to the Java Platform, Adobe AIR has no native way to use Java on the client.  In addition, AIR applications have fairly limited access to local resources when compared with other desktop platforms.  

Generally speaking, Adobe has avoided adding native operating system features and local access for philosophical reasons – not technical.  Adobe’s main apprehension is that such additions would make portability across operating systems more cumbersome.  Although Adobe’s concerns are reasonable for a platform vendor, the community has responded by offering its own solution in the Merapi Project.  

The Merapi’s Project website describes the bridge this way:

Merapi is a Java™ application, intended to run on a user's (client) computer. Merapi connects other Java™ applications on the user's computer to Adobe AIR™ applications that the user has installed.

It isn't magic. You have to develop your Adobe AIR™ application in a way that allows it to connect to Merapi. Merapi acts as a "middle man", passing objects between your AIR™ application and your Java™ application.

Using Merapi, Adobe AIR™ applications can "talk" to other software that the user has installed on their computer. In addition, Merapi allows AIR™ applications to serve as a user interface to just about anything that a Java™ application can do on a user's computer.

Another great summary of the project:

Using Merapi, Adobe AIR™ applications can "talk" to other software that the user has installed on their computer. In addition, Merapi allows AIR™ applications to serve as a user interface to just about anything that a Java™ application can do on a user's computer.

Merapi is another great example of the community filling the gap where vendors are unable to offer features desired by developers. To learn more about Merapi, check out this Step-by-Step guide and the following overview.  In addition, here is a blog post from one of the contributors, Adam Flater, in early 2008 introducing the project.

Sounds good ... by Mark Nuttall Posted Feb 23, 2009 1:10 PM
Interesting but.. by norf grond Posted Feb 23, 2009 4:16 PM
Re: Interesting but.. by Nate Ross Posted Apr 29, 2009 10:27 PM
Interesting Project by Jose Pena Posted Mar 1, 2009 9:54 PM
  1. Back to top

    Sounds good ...

    Feb 23, 2009 1:10 PM by Mark Nuttall

    But why not just use JavaFx and/or Java Webstart then?

    I do plan to take a look at it though. :)

  2. Back to top

    Interesting but..

    Feb 23, 2009 4:16 PM by norf grond

    Neat project but I would imagine as AIR gets more use, Adobe will begin to address lacking features in the runtime. Until then this project will likely serve people's needs to extend to more complex desktop functionality, but I agree with the previous poster. If you have to do more complex things than AIR provides why not just create a 100% Java app or JavaFx app?

    The big issue I see with this project is that AIR apps are simple to install, now your installation process becomes more complex because now you have to bundle both a Java app and AIR app together, Java app likely wrapping the AIR app because the AIR platform does not currently support executing anything locally (other than launch through a browser)

  3. Back to top

    Interesting Project

    Mar 1, 2009 9:54 PM by Jose Pena

    I'm looking for a project to connect Java and AIR in the same machine I think them have a very good idea, go a head guys ..!

  4. Back to top

    Re: Interesting but..

    Apr 29, 2009 10:27 PM by Nate Ross

    The biggest reason for the development agency I work for to use AIR is that it is so quick and simple to develop Flex applications. Plus, Flex interacts extremely well with Adobe design products like Flash, Photoshop, Illustrator, etc. With just a couple plugins, your designers can create skins and Flex components with no development knowledge. Ultimately some additional time bundling Java and AIR together is worth it for the development gains that Flex provides.

    I wrote the Step-by-step guide referenced in the article for bundling the two applications together and have experience creating Windows and Mac installers that use Merapi. If you have any questions, feel free to let me know. I would love to help :)

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.