ItsNat v0.4. More browsers and better iPhone 2.0 support

Discussions

News: ItsNat v0.4. More browsers and better iPhone 2.0 support

  1. 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 reusing and the goodness of Object Oriented Programming. Optional components reusing Swing data models simplify DOM management. ItsNat runs on many desktop and mobile browsers all including AJAX. Improvements in this release: * New officially supported browsers: o Google Chrome Beta o FireFox v3 o Android v0.9 Beta r1 (deprecated m5-rc15) o QtWebKit of Qt Embedded 4.4 (tested 4.4.1 Linux) * Improved security against tampering and hijacking. * More refactoring, more quality. * 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: editing in place doesn't work on iPhone. * Fixed: editing in place using a select combo doesn't work on S60WebKit. * 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. * 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. Project Web site Download and Release Notes Online Demo with explained examples and source code. 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 anyone needs now this feature (contact with me). What is the feature or component you are waiting for?
  2. More info about the critical iPhone 2.0 bug referred in the notice.
  3. 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 demo is 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 select elements in WebKit mobile browsers like Android and iPhone is a real nightmare.
  4. The online demo is up again.
  5. No,no,no, I can't believe it, the bug in Android is the same as iPhone. This is not strange, both share very much source code, part of this source code is not shared with desktop Safari, Chrome etc because they don't use the window approach for selection, this approach is the root of the pain. But this is not the most important problem, the workaround applied for iPhone could work for Android v1 r1 (using blur to fire change), the following bug is present too and it is by far MORE SERIOUS: The first element on a HTML select with "multiple" is EVER SELECTED! this bug was present on the first iPhone and doesn't have a workaround (I spent many failed hours trying to fix it from ItsNat): http://forums.macrumors.com/showthread.php?t=324849 http://modeleven.blogspot.com/2007/12/iphone-bugs.html To test this bug open the following page with Android v1 r1: http://prayforsalvation.com/cgi-bin/iphonebug.pl The first item is selected and shouldn't (see the source code served using a desktop browser). Please Google guys don't sell your phone with these terrific bugs or deliver quickly a patch. I will wait to a newer Android release.
  6. I've just discovered that the form in http://prayforsalvation.com/cgi-bin/iphonebug.pl is not sent in Android! The problem is not the SELECT element, is the POST method, it only works with GET!!