I'm the father of ItsNat AJAX Java web framework, JNIEasy, LAMEOnJ, JEPLayer and JEPLDroid libraries (and very old stuff like XPDOM), supporter of the Single Page Interface (SPI) paradigm, writer of the SPI manifesto and currently Android native guy. Jose Maria has posted 28 posts at DZone. You can read more from them at their website. View Full User Profile

ItsNat v0.6. AJAX Web Application Framework

03.13.2009
| 3240 views |
  • submit to reddit

 

ItsNat, Natural AJAX, is an open source Java AJAX Component based Web Application Framework.

ItsNat approach "The Browser Is The Server" (TBITS), simulates a Universal W3C Java Browser in the server, client events are sent to the server via AJAX and converted to W3C Java DOM Events, changes in DOM server are automatically sent to the client as JavaScript updating the client DOM. In ItsNat templates are defined using pure X/HTML or SVG files with no logic. View logic is coded in pure Java using Java W3C DOM APIs promoting reuse and the goodness of Object Oriented Programming.

In this release, ItsNat has been heavily refactored to prepare it to support the feature “full remote control”. In full remote control two or more users can interact on the “same web page”, when a user clicks on his web page other users will see the web page updated as if the page was clicked by them. Until now ItsNat supports “remote views”, only one user can work in his page the rest can observe what is happening.

Actually “full remote control” capability is present in v0.6 but not enabled, needs more work for instance to deal with “collisions”. If you need this feature now, contact with me to know how to enable it.

More features have been added like: 

  • Final support of “modal layers” (ItsNatModalLayer). A modal layer is used to simulate modal windows in single web page applications. This feature works in all supported browsers including Opera Mini and Pocket IE (WM 6 & 6.1) and in pure SVG pages.
  • Improved default renderers. 
  • Event capturing simulation in MSIE 6+ 
  • Event capturing and bubbling simulation in Pocket IE (WM 6 & 6.1). Support of this browser has been highly improved, including speed, bugs and reduction of blinks. 
  • Improved default in place edition. It works in all browsers including Opera Mini and Pocket IE. 
  • Event listener chain control (ItsNatEventListenerChain). Possible uses including event filter, exception capturing, open and close transactions etc.
  • Now the developer has control of the response when session is expired or page not found or page lost (usually timeout) in normal requests and remote view/control.
  • Comet is now event based.
  • Reduced and improved speed of JavaScript code sent to client (more use of innerHTML when possible). 
  • New supported browsers like NetFront 3.4, S60WebKit since S60 3rd FP1 (the oldest version), S40WebKit (since S40 6th v0.9, first release), IE Mobile 6 of WM 6.1.4 (IE 6 on 6), Internet Explorer v8 etc.
  • Fixed some bugs and added more workarounds to avoid browser bugs. 
  • New methods and interfaces.
  • Manual and Feature Showcase (online demo) updated with new features and APIs. For instance the functional test example is now deterministic, can be as fast as possible and works in all supported browsers by ItsNat. Another example is remote view/control example, now you can optionally ask to the remote user if he/she wants to be “spied”.

More details in RELEASE NOTES.
 

Note: finished the ItsNat example of the ExtJS like web application, this single web page application is a visual clone of another ExtJS based application reusing the generated HTML and CSS code of ExtJS but no ExtJS JavaScript is used. An example of how to reuse any cool HTML layout and look and feel in ItsNat. This example works in all supported browsers including mobile (but not with Pocket IE).


Download page and Release Notes

Online Demo/Tutorials

What is the feature or component you are waiting for?

Does your browser (with AJAX) work with ItsNat?

 

0
Published at DZone with permission of its author, Jose Maria Arranz.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)