|
How to Get Merapi Code
So, you've read all about it and want to jump in and become part of the future of the Web, huh?
We have spent the last year working on Merapi, talking to users, developers, software companies and others in the community to get feedback on how Merapi should work, how it might be used and what people really want out of a next-generation technology such as this. With the generous support of Roundarch, Merapi has made it out of the private alpha stage and we've released Merapi as Open Source.
To help simplify things, we have decided to host the Merapi source code, examples and message boards on the Google Code Web site. You can access the project files, etc. at the following URLS:
http://merapi.googlecode.com/
http://merapi-examples.googlecode.com/
http://groups.google.com/group/merapi-project
http://merapi-examples.googlecode.com/
http://groups.google.com/group/merapi-project
We will be updating the Merapi Project Web site (this Web site) in the coming weeks, and encourage you to still sign up for an account so that we can notify you of updates to the project and keep you up to date on the latest news related to Merapi, RIA development and the future of Web & Desktop integration.
Don't be shy. We'd love to have you participate.
Once we receive your submission, we will review it and approve your account.
Why Merapi was Created
Merapi was created to extend the capabilities of applications built on the Adobe AIR™ platform.
Adobe AIR™ has been recognized a revolutionary step forward in "next generation" software design and development.
With AIR's launch, the massive community of Flash, Flex and AJAX Web developers were provided the ability to build desktop applications using the tools and technologies with which they are already familiar. Using the Adobe AIR™ API, their "Web" applications can become integrated with the user's desktop operating system.
AIR is a framework that does most of the hard work for you. It enables applications to run locally, connect to Internet services, store data locally, and access information stored on the usre's file system. It's great, and the team that founded the Merapi project are huge proponents of the Adobe AIR™ platform, as well as Flash, Flex and other Adobe technologies.
We are passionate software designers and developers, with a primary goal of pushing the possibilities of user experiences.
In order to provide the best user experiences, we often find ourselves in a postion to try and push the limits on available technologies. When coming up with ideas about cool applications that could be build on the Adobe AIR™ platform, some of the most innovative concepts for "Rich, Connected" desktop applications were even outside the capabilities that AIR™ was able to provide.
One of the biggest benefits of Rich applications developed using Adobe technologies is the ability to provide killer user interfaces and what we consider to be "next generation" user experiences. Professionally, most of the members of the Merapi Project team do this every day for clients.
While AIR™ is a huge jump by itself, we found ourselves asking:
- Could we connect an AIR™ application to a wii remote?
- Could we use AIR™ to talk to a phone plugged in via USB?
- What if we wanted to do TWAIN Capturing of Video or Images from a camera or scanner?
- Could we control robots with an AIR™ application?
- What about sending MIDI signals to instruments over a network using an AIR™ application?
- Could I build a social-networking AIR™ application that controlled hardware devices?
Adobe AIR™ doesn't allow for these things natively. We realize that Adobe might do this in the future, and make Merapi obsolete. While it would represent an end to the value our open source project, it would be for the best! It would mean that we could build bigger, badder, and bolder desktop applications using Flex, Flex Data Services, LiveCycle, and other Adobe products... and we'd be able to do so without having to "build the bridge" to the OS, which is what we've done with Merapi.
Merapi was created to extend the capabilities of applications built on the Adobe AIR™ platform.
Adobe AIR™ has been recognized a revolutionary step forward in "next generation" software design and development.
With AIR's launch, the massive community of Flash, Flex and AJAX Web developers were provided the ability to build desktop applications using the tools and technologies with which they are already familiar. Using the Adobe AIR™ API, their "Web" applications can become integrated with the user's desktop operating system.
We are passionate software designers and developers, with a primary goal of pushing the possibilities of user experiences.
In order to provide the best user experiences, we often find ourselves in a postion to try and push the limits on available technologies. When coming up with ideas about cool applications that could be build on the Adobe AIR™ platform, some of the most innovative concepts for "Rich, Connected" desktop applications were even outside the capabilities that AIR™ was able to provide.
One of the biggest benefits of Rich applications developed using Adobe technologies is the ability to provide killer user interfaces and what we consider to be "next generation" user experiences. Professionally, most of the members of the Merapi Project team do this every day for clients.
While AIR™ is a huge jump by itself, we found ourselves asking:
Adobe AIR™ doesn't allow for these things natively. We realize that Adobe might do this in the future, and make Merapi obsolete. While it would represent an end to the value our open source project, it would be for the best! It would mean that we could build bigger, badder, and bolder desktop applications using Flex, Flex Data Services, LiveCycle, and other Adobe products... and we'd be able to do so without having to "build the bridge" to the OS, which is what we've done with Merapi.
Building a Bridge between Adobe AIR and Java (OS)
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.
How Merapi Works
Merapi is a framework that bridges an AIR application with a Java application, both running on the desktop. This communication is accomplished through a class that exists in Java and ActionScript called merapi.Bridge.
The simplest way to interact from AIR to Java is by sending and receiving messages though the bridge.
Sending a message from ActionScript:
var message : Message = new Message();
message.data = "Hello from Merapi Flex.";
message.type = "Reply";
Bridge.instance.sendMessage( message );
Sending a message from Java:
Bridge bridge = Bridge.getInstance();
Message message = new Message();
message.setData("Hello from Merapi Java.");
bridge.sendMessage(message);
Receiving a message in Flex:
id="bridge" result="handleResult(event)" />
private function handleResult( event : ResultEvent ) : void
{
var message : IMessage = event.result as IMessage;
Receiving a message in Java:
Bridge.getInstance().registerMessageHandler("Reply", messageHandlerInstance );
public void handleMessage( IMessage message )
{
System.out.println( message.getData() );
}
More advanced features are available in the framework for creating proxy objects in ActionScript or Java that automatically cause a mirrored instantiations and invocations on the corresponding side of the bridge. This functionality is essentially an abstraction of the basic messaging framework described above.
Merapi VideosAs we get more videos posted, we will be sure to add them to this page. Hello World! Hello Merapi!!!!Check out Adam Flater's "Hello World" example using Adobe Flex, Java and Merapi Merapi and Physics - This is cool!Prior to talking about Merapi at WebManiacs, Adam Flater put this tiny AIR application together. This application, designed to run on the Mac, uses a Java program to read the data that is being reported by the Mac's accellerometer. Java passes this value to the AIR application and...... Well, just watch the video. Cool? YES Indeed! Merapi meets Robot!With the help of our pal Jordan Snyder, Merapi is seen here enabling an AIR application to control a Lego Mindstorm Robot. This is done using the lego Mindstorm API, Java and Bluetooth. More of this to come! |
0 comments :
Post a Comment