ItsNat

ItsNat

Infobox Software
name = ItsNat



caption =
author =
developer =
released = November 1, 2007
latest release version =
latest release date =
latest preview version =
latest preview date =
programming language = Java
operating system = Cross platform (JVM)
platform =
language =
status =
genre = Ajax framework
license = Dual license AGPL / Proprietary
website = http://www.sourceforge.net/projects/itsnat

ItsNat Natural AJAX, is an open source Java component-based Ajax framework.

Overview

ItsNat is server centric using an approach called TBITS, "The Browser Is The Server". ItsNat simulates a Universal W3C Java Browser at the server containing a W3C DOM Level 2 node tree and receiving W3C DOM events.

How it works

When the server DOM tree is modified using Java W3C DOM APIs by the developer, this modification is detected (firing DOM mutation events) and automatically sent to the real web browser as JavaScript DOM based code, synchronizing the client DOM accordingly, usually as response of an AJAX event (ItsNat is heavily based on AJAX).

The developer code in the server can register Java W3C DOM Event listeners listening for W3C DOM events, this listener registration is automatically propagated to the client. When the user, for instance, clicks a "listened" element, the real browser event is sent to the server using AJAX, converted to a W3C DOM event and received by the server based listener(s).

The original page layout is defined using pure HTML or XHTML based templates with no logic. If the modification is big ItsNat provides "template fragments", a template fragment is a piece of (X)HTML (or XML) markup that can be inserted (included) as DOM into the main tree statically or dynamically (typically as a response of a user/Ajax event).

To save server memory ItsNat provides a DOM tree node cache in a serialized form (as plain text not DOM).

Core features

* DHTML on the server, client automatically synchronized
* Web-continuations ("continue" events)
* User defined event types as W3C DOM Events extensions
* AJAX Timers
* Long running server tasks (client notified when the task finishes)
* COMET without special (NIO or similar) Servlet engines
* DOM utils (to simplify DOM manipulation)
* Resolution of ${} based variables in markup
* W3C ElementCSSInlineStyle support in the server
* Out of the box remote/view control of pages of other users/sessions
* XML generation
* Non-HTML namespaces support like SVG embedded in XHTML and pure SVG pages with AJAX
* JavaScript generation utilities
* Events fired by the server sent to the client (server-sent events) simulating user actions for instance to test the view from the server (functional web testing)
* Events fired by the server dispatched directly to the server W3C DOM tree simulating user actions with no browser interaction. Again useful for functional web testing (faster than browser version), and for AJAX-compatible bookmarking/permalinks compatible with Google/search engines.
* Custom pretty URLs
* Previous/forward page navigation (pull and push referrers) with back/forward button support
* Degraded modes (AJAX disabled and JavaScript disabled modes)

Component System

ItsNat provides a Component system built using the core features of the framework. These components are AJAX based and inspired in Swing, reusing Swing as far as possible such as data and selection models, but ItsNat is not a Swing clone in the web and is not a pixel based web framework.

ItsNat provides several button types, text based components, labels, lists, tables, trees usually with content editable "in place".

Any HTML element can be a component, for instance any element can be a normal button, a check box, a radio button, any element list may be a combo or a list component, for instance a group of SVG circles may be a multiple selection list component. Components can be used to generate XML too.

ItsNat components are not intrusive because the component view (markup) is provided by the developer and attached to the component.

Requisites / Platforms

ItsNat is pure Java and runs in any Java Virtual Machine v1.4 as the minimum configuration and virtually any servlet compliant container.

Supported desktop browsers: Internet Explorer 6+, FireFox 1+, Safari 3+, Opera 9+, Google Chrome, QtWebKit and QtJambi (Qt 4.4), Arora

Mobile browsers tested (all including AJAX): Opera Mini 4, Opera Mobile 8.6, NetFront 3.5, Minimo 0.2, Internet Explorer Mobile 6 (Windows Mobile 6), iPhone/iPod Touch/iPhone SDK, Android, S60WebKit (S60 3rd), Iris [http://www.torchmobile.com] 1.0.8, QtWebKit of Qt for Embedded Linux and Windows CE (Qt 4.4)

See also

* Ajax (programming)
* Ajax framework
* Comet (programming)
* List of web application frameworks
* Web application framework
* Comparison of web application frameworks

External links

* [http://www.itsnat.org ItsNat Home page]
* [http://www.innowhere.com:8080/itsnat Online demo and examples with source code]
* [http://cometdaily.com/2008/08/25/introducing-itsnat/ Introducing ItsNat (CometDaily)]
* [http://www.javahispano.org/contenidos/es/itsnat__ajax_natural_en_java/ Discussion/opinion at javaHispano]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Comparison of web application frameworks — This is a comparison of notable web application frameworks. Contents 1 General 1.1 Perl 1.2 PHP 1.3 Java 1.4 Python …   Wikipedia

  • Сравнение каркасов веб-приложений — Это сравнительная таблица фреймворков веб приложений. Содержание 1 Фреймворки 1.1 ASP.NET 1.2 C++ 1.3 ColdFusion Markup Language (CFML) …   Википедия

  • Acceptance testing — of an aircraft catapult In engineering and its various …   Wikipedia

  • PHP-Nuke — Original author(s) Francisco Burzi Stable release 8.2 / May 22, 2009; 2 years ago (2009 05 22 …   Wikipedia

  • Drupal — Drupal …   Wikipedia

  • OpenACS — Developer(s) OpenACS community Stable release 5.6.0 …   Wikipedia

  • Midgard (software) — For other uses, see Midgard (disambiguation). Midgard AJAX inline editing of content in Midgard …   Wikipedia

  • Mambo (software) — Mambo Developer(s) Mambo Foundation Inc. Discontinued 4.6.5 [1] / June 26, 2008; 3 years ago (2008 06 26) Written in …   Wikipedia

  • Oracle Application Express — Developer(s) Oracle Corporation Stable release 4.1 / August 24, 2011; 2 months ago ( …   Wikipedia

  • OpenLaszlo — 3.2 Application and DHTML (GeaBios) Developer(s) Laszlo Systems Stable release …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”