The Source for Java Technology Collaboration
User: Password:



Greg Murray

Greg Murray's Blog

jMaki Beta 1.0 is Out!

Posted by gmurray71 on December 06, 2006 at 04:15 PM | Comments (7)

jMaki helps you create JavaScript centric applications by providing all the pieces you need to tie together your applications. jMaki provides also provides a large set of sample JavaScript wrappers for common services and toolkits including Dojo, Flickr, Google, Mochikit, Spry, and Yahoo. Here is what jMaki provides:

  • JavaScript Runtime and Services - The and services provides the bare-bones light-weight services needed to initialize JavaScript widgets and communicate including a simple publish/subscribe mechanism.
  • jMaki Styles CSS layouts and templates to build that act as frameworks for your web pages.
  • jMaki Widget Model - A simple widget model based on HTML templates, CSS, and JavaScript. This can be used to wrap widgets from other toolkits or create your own re-usable widgets.
  • jMaki Glue - Listens for publish/subscribe events and calls shred JavaScript handlers based on the event. The code is not bound to any individual widget. jMaki Glue provides timers that can publish events or call JavaScript at a set interval.
  • Server Runtime The server runtime makes sure all CSS and JavaScript dependencies are rendered only once in a given page. The server runtime renders the templates and communicates data between the runtime and the JavaScript front end. We have server runtimes for Java(JSF/JSP),JavaScript, and PHP.
  • jMaki Injector - A JavaScript based client that allows you to bring in content from a separate URL (same domain only) and load any JavaScript/CSS from that page into the current page much like an iframe without the usability issues.

Find out more about jMaki on the jMaki home page or visit the downloads page. We recommend you use the jMaki Netbeans plugin whcih makes jMaki application development very simple. Using the plugin you can create new pages using the jMaki templates, drag and drop pre-configured jMaki widgets into a page, and configure the widgets using property editors.

Let us know what you think.


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • I think - despite all better judgment - that I like it. Sort of like GWT "done right" .

    Posted by: jkuhnert on December 07, 2006 at 09:17 AM

  • I just tried jMaki 1.0 plugin in Netbeans 6.0 beta. It looks great! I like that it doesn't need JSF and a full blown J2EE server to run. I have read everything I could find on the Internet but feel I am still missing some key concepts. In particular I haven't figured out how to do form validation. This seems like an AJAX natural so I must have missed a key example. I see all the client side stuff but not the server side side stuff in netbeans. I'm not clear on how to integrate a servlet that does DB related work into talking with a jMaki widget. It looks like I must find and read the docs in the separate javascript toolkits to understand how to really use their widgets that jMaki has wrapped, yes? Keep up the great work. Charlie cdh@cdhconsult.com

    Posted by: chavener on October 02, 2007 at 11:56 AM

  • Hi,


    We went through extra efforts to make sure jMaki can run on anything from Tomcat to Java EE 5. While we work really well with JSF you can also choose to use JSP tags plus the servlet XmlHttpProxy. All of this is configured for you when you use Netbeans.

    The server side portions of jMaki generally occur through the XmlHttpProxy which is used to access RSS feeds, services like yahoo's Geocoder, and restful web services.


    You do not need to use an external toolkit's APIs to use another toolkit's widgets. We actually recommend you don't unless you are doing some heavy duty customization. We have tried to make the 80-90% case easy.


    Finding Widgets


    To see the widgets that we have included and what they do you can follow find them on the jMaki Widget description pages. These pages show the default widgets and what properties they can be configured with. You can also find widgets like the jMaki charting widgets and there will be another package of widgets made available as part of the Widgets Project. The best place to track what we are doing is to see the jMaki.com web site where you can also see the sample applications (another great resource).


    Configuring Widgets

    Using Netbeans you can configure these using the "jMaki" button on the toolbar or Select jMaki->jMaki from the context menu. Following the widget documentation linked above you could also manually update the args property of the widgets with the properties you choose.

    Data Models

    See the jMaki data models page for more on how to interact with the general widgets. This page should provide most of what you need.

    We have a database example Dynamic Data in jMaki Widgets Using JPA which shows integrating jMaki with a database. We also have a servlet based sample application that is part of the jMaki for Java samples bundle. While this example does not use JDBC you could easily change it to do so.


    Form Validation

    As far as form validation goes we do not have a set of widgets or an extension for this yet. The Dojo Toolkit in their 1.0 (coming next month) plan to have a built in form validation / creation framework that we hope to leverage and we will be looking at ways to do this across toolkits and integrate with server runtimes. Frameworks such as Struts and JSF already do this today so it would be good to look at these examples in our jMaki Bundles.


    For More information

    The jMaki Book, a community driven work in progress is also a great place to look. If you get a chance give it a look and let us know what you think. Another great place is the jMaki Forums.


    -Greg

    Posted by: gmurray71 on October 02, 2007 at 02:16 PM

  • I am clearly missing something pretty basic or I am dumb as a post. If I put the datepicker inside a form I just see
    form name="aDataPicker" action="someServlet">


    On the page source. But what request parameter gets passed to the servlet that tells what date the user actually picked?

    Posted by: chavener on October 03, 2007 at 05:07 PM

  • Oops most of the html tag stuff got flushed in that last question.
    -a:widget name="dojo.dropdowndatepicker" -

    Posted by: chavener on October 03, 2007 at 05:09 PM

  • Hi Again,

    I have posted an example on how to do this Ajax form processing with jMaki. Please give it a look and let me know if this does not help.

    Posted by: gmurray71 on October 03, 2007 at 05:55 PM

  • That was a good example - it seems I must do a fair amount of JavaScript coding to use jMaki in real apps. On another JMaki page,http://javaserver.org/jmaki/,it said many components of DHTML goodies were wrapped. I followed the link to DHTML Goodies and found this form validation demo. http://www.dhtmlgoodies.com/packages/dhtml-suite-for-applications/demos/demo-form-validator.html
    It is outstanding, it seems to be just what I am looking for. I will be studying it to see exactly how it all works. I also experimented with the Visual Web App stuff in Netbeans 6 beta that uses Java Server Faces and needs Glassfish not Tomcat. It seemed very complex and was very slow to respond in the browser ( I have a new fast dual core with 4 GB ram too). I watched a JBoss SEAM video on the Internet but was totally confused.

    Posted by: chavener on October 04, 2007 at 01:01 PM



Only logged in users may post comments. Login Here.


Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds