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.4: Chrome, FireFox 3, Android v0.9 & iPhone 2.0

09.23.2008
| 5139 views |
  • submit to reddit

ItsNat, Natural AJAX, is an open source Java AJAX Component based Web Application Framework. In this release, support for Google Chrome, FireFox v3, Android v0.9 were added and better support of iPhone 2.0 was included.


The 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 reusing and the goodness of Object Oriented Programming.

Improvements in this release:

  •  Improved security against tampering and hijacking.
  • More refactoring, more quality.
  • New officially supported browsers: Google Chrome Beta, FireFox v3, Android v0.9 Beta r1 (deprecated m5-rc15), QtWebKit of Qt Embedded 4.4 (tested 4.4.1 Linux)
  • Workaround for the iPhone 2.0 bug: change event not fired on select elements with defined "size" or "multiple" attributes. Solution: a change event is fired when a blur event is fired. 
  • Reduced the size of JavaScript code sent to the client when the server DOM changes.
  • Improved node caching, faster path resolution (implies faster JavaScript code).
  • Unknown browsers are seen as bots without JavaScript support, AJAX is automatically disabled therefore the server document is invalidated after loading.
  • Documents are automatically invalidated when the session is lost (timeout), this affects, for instance, to remote views and comet notifiers (automatically stopped) avoiding "ever alive" documents when a user never closes an ItsNat page (AJAX) or the browser cannot guaranty unload notification when the page is closed (Opera 9, some mobile browsers etc).
  • Fixed the lifecycle of remove views: load event not dispatched to listeners. Lifecycle of remove views is now clearly well defined.
  • Fixed: the attribute/property "value" of OPTION is set as boolean.
  • Fixed (regression): JavaScript alert is not shown on errors.
  • Fixed: "auto-build components" feature not working in XML documents.
  • Fixed: current value of an ItsNatHTMLTextArea component is not shown when the component is used for editing inplace the second time and successive.
  • Fixed: editing in place doesn't work on iPhone.
  • Fixed: editing in place using a select combo doesn't work on S60WebKit.
  • Added registry for global event listeners per servlet, per template and per document
  • Improved the security of ItsNatVariableResolver
  • Added/changed methods, names etc


See Release Notes for a complete list: Download page and Release Notes

Priority for the next release: AJAX based file upload component and modal windows/layers. I have a draft of "modal layers" working in ItsNat if you need now this feature (contact with me).

What is the feature or component you are waiting for?

 

 

 

AttachmentSize
logo_and_name_400.png14.96 KB
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.)

Comments

Jose Maria Arranz replied on Wed, 2008/09/24 - 6:09am

More info about the serious iPhone 2.0 bug reported before:

http://lists.apple.com/archives/safari-iphone-web-dev/2008/Jul/msg00025.html

In an iPhone the blur event is basically the same event as change because when the input window is closed a blur event is automatically fired. ItsNat creates and dispatches a change event from the client to add this missing change event. Of course some change event may be sent without any change but this is not important, the data model of a ItsNat select component is only updated if an effective change is performed (client state and server state are compared).

 

Jose Maria Arranz replied on Wed, 2008/09/24 - 9:53am

IMPORTANT:

Fixed a stupid bug, so some examples in the Feature Showcase are not working.

Please download again, the last version is:
0.4.0.2

The online demo may be temporally offline, sorry the inconveniences.

I'm going to release soon an update to support the last Android version 1.0 r1. Seems that HTML select elements with "multiple" attribute does not work very well in ItsNat (in fact in version 0.9 a serious visual bug made it unusable). I'm going to investigate this problem, it makes me wonder if the real phone works too.

Anyway HTML select elements in WebKit mobile browsers like Android and iPhone are a real nightmare.

 

Jose Maria Arranz replied on Wed, 2008/09/24 - 9:57am

The online demo is up again.

 

Jose Maria Arranz replied on Wed, 2008/09/24 - 12:24pm

About ItsNat support of Android v1 r1

 

michael james replied on Mon, 2009/06/08 - 5:41am

Google Chrome is a browser that combines a minimal design with sophisticated technology to make the web faster, safer, and easier.

 

excellent,

Cheap Airline Tickets

michael james replied on Mon, 2009/06/08 - 10:38am in response to: Jose Maria Arranz

This is a starting point for planning and design information for the Firefox 3 release, including schedules, feature sets, and branch process information.

 

cheers,

one week diet

Free PDF Creato... replied on Thu, 2009/06/11 - 2:48pm

I still can't get what the writer wants to say , is he saying that it works with google chrome and other browsers or is he trying to ultimately prove that this program is in fact better than the other browsers? Free PDF Creator

bhupi singh replied on Sun, 2009/06/14 - 12:58pm

Seems that HTML select elements with "multiple" attribute does not work very well in ItsNat (in fact in version 0.9 a serious visual bug made it unusable).it makes me wonder if the real phone works too. Online bingo

eugene backs replied on Mon, 2009/06/15 - 4:46pm

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

 

cheers,

Disability Insurance Quote

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.