You searched for: 'jMaki'

Wednesday, September 26th, 2007

jMaki 1.0 Final Release: Ajax for Java and PHP

Category: Java, jMaki, Library

Greg Murray has put the stake in the ground and released jMaki 1.0. The release comes with “bundles” for PHP and Java which you can choose on the download area.

Included in the bundles:

  • The core jMaki framework.
  • Sample applications.
  • Ant task for creating applications and adding widgets and necessary dependencies to those applications.
  • All the scripts and widget libraries.

To see more, check out the jMaki Samples.

jMaki 1.0

Posted by Dion Almaer at 8:47 am

3.6 rating from 35 votes

Monday, July 30th, 2007

jMaki Actions: Communicating between toolkits

Category: Java, jMaki

jMaki Actions are a declarative way of associating widget behavior. The goal here is a holy grails of grabbing a Dojo widgets and a Prototype based one, and having them talk together.

Greg shows an example:

Consider a case where you have a Dojo Fisheye and you simply want it to select a tab or URL when an item is clicked. The Dojo Fisheye is in essence provides the same behavior as a menu. You may notice that the models for the Fisheye Model and the jMaki Menu Model are very similar.”

jMaki models uses general conventions for behaviors and properties you can easily swap widgets. For example you could easily use a Dojo Tabbed View or even swap the FishEye for a menu or tree widget.

jMaki actions are great for general interactions like this and makes it really easy to do basic things like this. More advanced interactions should still be done in glue code as described in Widgets talking to Widgets.

Widgets talking to Widgets

Posted by Dion Almaer at 5:00 am

3.1 rating from 65 votes

Tuesday, June 12th, 2007

jMaki Extension for Google Gears

Category: Gears, Java, jMaki, Library

Greg Murray has posted his jMaki Extension for Google Gears.

He details the steps required to create an extension for jMaki, and then showed an example of mapping the save button for the Dojo Editor and Dojo Inline Edit components which publish to the topic “*onSave”.


  1. jmaki.addGlueListener("*onSave", function(args) {
  2.     // publish to the google gears
  3.     jmaki.publish("/google/gears/execute",
  4.     { query : 'insert into jmaki values (?, ?)',
  5.       args : [args.value, new Date()],
  6.      callback : function() {
  7.          jmaki.log("Saved " + args.value);
  8.      }
  9.     });
  10. });

The returned value is assigned to the global variable window.editorData which you can then assign to your widget. For a Editor you can assign a JavaScript variable as the value using a client side value binding which starts with an ‘@{‘ and contains the package and variable name and ends with an ‘}’. For this window.editorData the client side value binding is @{window.editorData}. With a JSP / JSF widget the tag in a JSP page would look like the following:


  1. <a :widget name="dojo.editor" value="@{window.editorData}" />

Posted by Dion Almaer at 5:44 am

4.1 rating from 21 votes

Thursday, February 1st, 2007

jMaki Revolver

Category: Component, Examples, Java, JavaScript, jMaki

Greg Murray of Sun has put together a sample jMaki widget revolver that you use like this:


  1. window.onload = function() {
  2.     var wargs = {uuid : 'jmaki-revolver'};
  3.     wargs.value = [
  4.       {"title" : "jMaki Craigs List Sample", imgSrc : "../images/cl-mashup.jpg", href :""},
  5.       {"title" : "jMaki Geocoder Map Sample", imgSrc : "../images/mapit.jpg", href :""},
  6.       {"title" : "jMaki Charting Sample", imgSrc : "../images/jmaki-charting.jpg", href :""},
  7.       {"title" : "jMaki Sample Application", imgSrc : "../images/jmaki-sample-app.jpg", href :""}
  8.    ];
  9.    var revolver = new jmaki.widgets.revolver.Widget(wargs);
  10. }

Check it out to see animated revolving in action.

jMaki Revolver

Posted by Dion Almaer at 7:55 am

3.3 rating from 52 votes

Monday, July 28th, 2008

Greg Murray, Ryan Johnson join Aptana to work on Jaxer; ORM and MVC are starter projects

Category: Aptana

Paul Colton posted that Aptana has a couple of new recruits in Greg Murray and Ryan Johnson.

Greg Murray was the Ajax guy at Sun, created jMaki, and did a lot of work in organizations such as the Open Ajax Alliance. Ryan Johnson is the creator of the livepipe and object.event Ajax libraries. What are they doing?

Greg’s primary role will be creating increasingly robust application frameworks for Jaxer, Aptana’s open source Ajax server product. Ryan has already been working on MVC concepts for Jaxer and will be collaborating with Greg and the rest of the Jaxer team to drive that and other great concepts for Jaxer forward.

The timing could not be better. Greg and Ryan have joined up just before we get the Jaxer 1.0 release candidate out the door to the whole community (it’s just a matter of days now). This puts us in a great position to start working on some of the next things that’ll be in store for Jaxer in the coming months — and there are some great ideas brewing. For example, Greg and Ryan have already been collaborating with the Jaxer team to create an ActiveRecord-like JavaScript ORM for Jaxer that promises to make working with JavaScript data a pleasure — since it’ll all be native JavaScript!

Posted by Dion Almaer at 10:07 am

3.5 rating from 26 votes

Monday, March 24th, 2008

Nitobi Survey Results on Ajax Development

Category: Ajax, Survey

Nitobi ran a survey on Ajax technologies, and you (Ajaxian community) helped out in giving them your feedback.

They just released the results which consists of 570 answers. You must always take results with a grain of salt, since there are quite a few more designers and developers than 570 our there, but it is always fun to analyze. Often the results tell you more about the niche of people that the surveying group has access too than the global truth (e.g. the Ajaxian group skews to a slightly more advanced user base that doesn’t mind getting dirty).

The responses that called out to me were:

Which development platforms are you using?

Java and PHP took the server side piece home (many said they were HTML/CSS front end folks). If you aggregate the Java technology (Java, JSP, Servlets, JSF) you get 394 versus PHPs 296, although it is hard to compare since you could choose “all that apply”. I am willing to bet that if you are doing JSF now, you may well have done Servlets, JSP, and other!

Which development tools do you use?

Eclipse and Dreamweaver had the most votes here, with a large number of Notepad people (teasing?). Textmate was that low?

What causes you the most pain in designing and development websites?

  • Browser compatibility: 303
  • Testing: 114
  • Javascript: 65
  • CSS: 36
  • Deployment: 34

Why do you choose to use Ajax?

  • Improve user’s experience: 276
  • I want to build slicker applications: 38
  • Easy to use: 29
  • My boss wants it: 25
  • Saves time: 13
  • Saves money: 2

What toolkits or frameworks are you using in your projects?

This was quite a different result than from our last survey.

  • jQuery: 144
  • Prototype: 143
  • Scriptaculous: 127
  • YUI: 99
  • Ajax for ASP.Net (Atlas): 91
  • Mootools: 65
  • Dojo: 63
  • ExtJs: 61
  • Nitobi: 61
  • Spry: 29
  • GWT: 19
  • JMaki: 6
  • Mochikit: 2

Here is the spreadsheet of the full results

Posted by Dion Almaer at 7:06 am

3.5 rating from 45 votes

Thursday, November 1st, 2007

Monthly Ajaxian Roundup for October, 2007: JavaScript wars, Java reborn, and Browsers wake up

Category: Roundup

October has been a busy month. We are currently in a political and emotional roller-coaster that peaked after the ECMAScript 4 Language Overview was released. It is as though EC4 just sprang up, when in fact it has been chugging along for ages. Brendan has been talking about it for some time. At this point opinions are being aired all over the shop and as I finished the last post, I hope we can de-polarise the situation and get to work.

Browsers seem to be taking the charge recently. Webkit keeps adding great features, and with Leopard we now have Safari 3 churning out.

Mozilla is also branching out with projects such as Prism and Mobile Firefox. IE8 is still dark.

I covered the fact that Sun has announced how they have a new Java Plugin that is in the works. Many still scoff at Applets, which may by itself be the downfall. However, if Sun pulls it off, I think that Applets have a real place on the Web. Before you scoff think about how cheesy little XHR lay dormant for so long. Java down right in the browser can be a nice bridge to advanced functionality where you still can script away in JavaScript.

JavaScript on the Web keeps getting more featureful too though. I was really proud of out Blog.gears example that shows the path for rich read/write mashups, in this case also working offline. The open source Google Caja can also help us have the freedom to allow JavaScript to be in a page and not collide to do evil things. Caja makes a lot of sense when you think about OpenSocial.

All in all a great month, and here is to an exciting November that includes OpenSocial APIs, Dojo 1.0, and more.

The Details







Gears / Offline





Posted by Dion Almaer at 10:00 am

3.7 rating from 15 votes

Wednesday, October 3rd, 2007

Monthly Ajaxian Roundup for September, 2007: JavaScript mashups take a step forward

Category: Roundup

September was a big month for Ajax development in my opinion. The new JavaScript API that lets you do cross domain secure read-write tells us what will be possible in the future. Now mashups can go from the useful read-only mashing, to powerful applications that let you do everything you need too.

We also saw more tips and tricks in JavaScript land, as well as expansions to new worlds.

Thanks for spending time participating in the community, and I look forward to the Autumn.











Ajaxian Featured Tutorials




Posted by Dion Almaer at 5:30 am

3.3 rating from 29 votes

Friday, July 27th, 2007

The End of TAE and Browser Possesion

Category: Browsers, The Ajax Experience

Another Ajax Experience is over. We had a blast and it was a tons of fun to see so many of our friends in the community and to have so much top-notch content. Many thanks to all those who came out, especially the speakers, many of whom came to present at great personal sacrifice. And, a tip of the hat to those who held some announcements for the show, such as:

As the last sessions were wrapping up, a group including Brad Neuberg, Glen Lipka, Alex Russell were seen huddled together in an animated discussion. Glen kindly pointed us to a summary of their chat, which includes what he’s calling “browser possession”:

The most exciting idea, which several people seemed to be noodling on at the same time was what I am loosely calling Browser Possession. It goes like this:

1. You make a web page using HTML, CSS and JS.
2. You test it in ONE browser. Probably Webkit.
3. You include a single JS at the top of your page, a spinoff off of SWFObject.js
4. The JS would instantiate a SWF file which would fill the 100% of the height and width of your browser window.
5. The JS would then suck in the HTML of the page, and feed it to the Flash Movie.
6. Then the Flash movie would instantiate Webkit inside it and render the page.

Glen goes on to simplify the proposal as:

1. Same as above, but instead of a Flash movie, it would be a Webkit native plugin.
2. This would need it’s own JS that was specific to this task.

Back when Adobe started briefing developers on Apollo/AIR, a few of us joked about WebKit running in a plug-in rendering web pages inside of a web browser. Funny to see it proposed as a serious idea.

With ScreamingMonkey proposing essentially the same idea with the JavaScript run-time, it’s interesting to imagine a world where Ajax applications can choose from several HTML renderers and JavaScript run-times, much like IE lets devs choose between the “Quirks” and “Standards” code paths.

Posted by Ben Galbraith at 9:02 pm

1.7 rating from 135 votes

Monday, July 2nd, 2007

Monthly Ajaxian Roundup for June, 2007: Airing out the Gears

Category: Ajax, Roundup

High Level / Big News

June has been a busy month, and the focus has been around the release of Google Gears, and the Apple iPhone. Both have shaken up the market showing the the future for Ajax is bright and expanding. It is reaching to the desktop, and the phone.

Offline: Gears and AIR

Shortly after Gears was released we saw a flurry of activity that consisted of apps being ported to work offline and libraries being extended to support offline use:

Adobe renamed Apollo to AIR and continues to stay in the news:

Mobile / iPhone

The hype around the iPhone is almost unprecedented. We have tried to keep from joining in, but there has been a lot of interesting work done around Ajax support, and the iPhone is pushing the bounds on Mobile Ajax, just by getting users online. The users will demand more, and vendors will have to step up. We will then have to deliver the applications that they deserve. In the US there isn’t the luxury of a top notch network, so we need to deliver it in a smart way too.

Browsers and Standards

With Safari for Windows being announced there has been a lot of talk around browsers. We also got some good news with significant IE memory leaks being fixed.

Ajax Libraries

General JavaScript



The FancyUpload with MooTools component is yet another attempt to help with browser based uploads.


Ext is growing from strength to strength. The team announced Ext 1.1 Beta + Feed Reader 3 Demo, thoughts on 2.0 alpha, a new Ext Accordion Control, and IDE support via Spket IDE: Ext Support. I think July will be an even bigger month.




Some high profile sites and apps have gotten an upgrade such as Apple, CNN, and Google Docs and Spreadsheets Updated.

We also saw useful tools such as an Entity Lookup that helps.

Posted by Dion Almaer at 10:12 am
Comment here

4.6 rating from 34 votes

Wednesday, March 14th, 2007

Sun Web Developer Pack

Category: Java, jMaki, Library, PHP

The Sun Web Developer Pack isn’t a sexy name, and having ‘Sun’ start it out often doesn’t help a technology…. but there is some good technology here.

The Sun Web Developer Pack helps you to leverage emerging web technologies and techniques to create interactive and dynamic web applications for the enterprise. This toolkit is a collection of technologies for Ajax, Scripting and REST-based services development supported by a NetBeans plugin that simplifies the design and development of Rich Internet Applications.

If you look past the marketing-speak you see that Sun has packaged technology such as Project jMaki and Project Phobos.

jMaki is a lightweight, client/server framework for creating JavaScript-centric Web 2.0 applications. You can use jMaki when developing with PHP, Portlets, Facelets, Java, and JavaScript.

Do you see that? Since when did Sun create something that lets you develop with PHP :)

Phobos is a lightweight, scripting-friendly web application environment that runs on the Java platform.

Phobos allows you to write with JavaScript on the server side, which can be very powerful indeed.

There are a vast number of demos available including interesting mashups.

Sun Web Developer Pack

Posted by Dion Almaer at 10:14 am

3.3 rating from 44 votes

Wednesday, August 2nd, 2006

Securing Access to Ajax Proxy Servers

Category: Java, Security

A little over a week ago, we linked to a blog by Sun Ajax guru Greg Murray (creator of jMaki) discussing his small Ajax server-side proxy framework for Java, called (creatively enough) XmlHttpProxy.

Greg’s back with a new blog discussing five different options for securing server-side Ajax proxy servers:

1. Token Based Restriction – Limit a client access to server-side resources by using tokens. Resources may include URLs, databases, web services, or domain objects which that service may access to complete a request. Tokens may be configured in a file or by using your server’s built-in security features.
2. Unique Hash / Session Based Restriction – When generating a page that accesses the target service you can create a unique hash or key for each client and restrict access based on the existence of the hash. The session management facilities of the servlet API may easily used to track whether or not a conversation has been established.
3. URL Based Restriction – Based on the URL in which the JavaScript is executed you can restrict access to a service.
4. Application Key Based Restriction – An application key is a flexible means of providing access to your service to a set of JavaScript clients.
5. Content-Type / Authentication Based Restriction – You can restrict JavaScript clients outside of the domain from directly accessing your service by using XML possibly in combination with basic or digest authentication.

While we confess a fondess for using client-side hacks to overcome cross-site scripting limitations, Greg’s point in the blog entry about the usefulness of using these mechanisms not only to defeat cross-site scripting but also to track (and limit) access to your own public services is well-taken.

Posted by Ben Galbraith at 11:33 pm

3 rating from 7 votes

Friday, July 21st, 2006

A Java-based HTTP Proxy for Ajax

Category: Java, Programming

On the blog of Greg Murray, he demonstrates a method of creating a proxy client in Java for an XMLHttpRequest of your choice.

One drawback of working with AJAX is that an AJAX-based client cannot make calls to URLs outside of its domain, which means that it cannot access services located on another server. To overcome these problems, you need a generic proxy that can communicate with external services on your client’s behalf. The proxy passes a call from your client application to the service, receives the content in response from the service, and returns the content to your client. You can then use this content in your AJAX-based application.

With the brief explaination out of the way, Greg gets started with the code/application. First off, he includes a graphic (sequence diagram) to show how the flow of the application will go – in his example, a request to the geocoding interface at Yahoo. His framework of choice to work with is the Project jMaki proxy functionality.

Where the blog post gets a little sparse on the details, this doucmentation on the Project jMaki site provides the complete story – code and all. Check it out!

Posted by Chris Cornutt at 6:53 am

2.6 rating from 41 votes

Sunday, July 16th, 2006

Ajax Programming With Passion: Free Online Course

Category: Workshop

Sang Shin is offering a free ten-week course on Ajax, starting in a couple of weeks time. It will cover fundamental technologies and some of the popular libraries and frameworks out there. Looking at the curriculum, there’s a Java focus on the server-side – DWR, Wicket, JMaki, JSF, and GWT all feature. Sang’s a Sun employee, but runs these courses in his spare time.

A free 10-week “AJAX Programming” online course is about to start from August 4th, 2006. This course is for anyone who wants to learn AJAX for the first time or increase their knowledge on AJAX. In this 10-week course, students learn basic concept of AJAX as well as how to use various AJAX frameworks and toolkits such as Dojo toolkit, jMaki, Google Web Toolkit, and AJAX-fied JavaServer Faces (JSF) components.

This course runs very much like a regular college course in which the students are expected to do weekly homeworks after studying the presentation material but it is free and can be taken online. There is also class group alias where students can ask/answer questions. The complete set of course contents (StarOffice slides with detailed speaker notes and flash demo files, hands-on labs, homework assignments, etc.) are available on the website of the course. The only thing you have to do in order to register for the course is sending an blank email to

Posted by Michael Mahemoff at 4:31 pm

4.3 rating from 32 votes

Friday, June 16th, 2006

State of Ajax for Java

Category: Articles

Geert Bevin (also known as Mr. RIFE) was asked to give an overview of the state of Ajax frameworks on the Java side.

This PDF shows you the highlights from the talk.

He covers:

  • Google Web Toolkit
  • DWR
  • OpenLaszlo
  • JMaki

Posted by Dion Almaer at 10:32 am

3.4 rating from 27 votes

Friday, May 19th, 2006

Java Posse Interviews: Google and Sun Toolkits

Category: Google, Java, JavaScript, jMaki, Recording, Toolkit

The Java Posse has been busy at JavaOne and recorded a couple of interviews on the high-profile Java+Ajax toolkits we’ve mentioned recently.

Two Interviews about AJAX. The First is with Brett Taylor of Google
about the just-announced red-pill project (also known as the Google Web
Toolkit) and the second with Greg Murray of Sun …

  • Google Web Toolkit – Project Red-Pill
  • Sun Javascript and AJAX resources
  • Greg also mentions JMaki – – and the petstore – [Trivia: We now have at least 3 Ajax petstores :-).]

    Posted by Michael Mahemoff at 2:24 pm

    3.7 rating from 32 votes

    • Page 1 of 2
    • 1
    • 2
    • >