Wednesday, March 19th, 2008

Echo 3 releases client side component model

Category: Framework, Java, JavaScript

Echo has been known as a Java server side component framework, but with the release of Echo 3, they have added a way to build component applications using JavaScript:

Client-side Echo applications do not require an application server, and can also be run entirely offline.

With Echo3, the formerly server-side-only component framework has been recreated in client-side JavaScript. This was not a direct “port”, but rather a re-imagining of the framework with the ideals of JavaScript development in mind. For example, the client-side version of the framework takes advantage of JavaScript’s object and array literal syntaxes to create a capability called “hierarchal component construction”, where an entire hierarchy of components can be created in a single call. Such code winds up being extremely readable, as, when naturally indented, it resembles the component tree.

Core.js framework

A low-level framework, called “Core.js” was created to ease development of object-oriented and event-driven code in JavaScript. Core.js provides an inheritance model for building JavaScript objects using class-based (rather than prototype-based) inheritance. It additionally offers the capability to specify abstract classes and methods, and features “pseudo-private variables” where a class can reserve internal method/field names that cannot be overridden by subclasses. The framework includes utilities for managing events and listeners, and can register event
handlers on object instances.

New Back-End / Rendering APIs

The “back-end,” which is responsible for rendering components within the web browser, has been re-engineered for Echo3. Instead of each component having its own client-server serialization code, Echo3’s web application container simply serializes the state of updated components directly to the client, where JavaScript versions of the server-side components are then created and updated. This feature makes the component development process substantially easier and faster than it was in Echo2. The new approach also yields performance dividends when creating server-side Java applications — Echo3 consumes less CPU and a mere fraction of the bandwidth of Echo2.

New and Improved Components

Many new components have been added to the framework and existing components have been enhanced in Echo3. WindowPanes, for example, will always stay on screen, even if the browser window or containing component is resized. Menus can be configured with opacity and fade-in effects. New components have been added to the Extras library including a RichTextArea and Tree/TableTree. New APIs for keyboard accessibility and focus management allow for mouse-less operation (note: still under development in some components).


Posted by Dion Almaer at 10:37 am

3.4 rating from 15 votes


Comments feed TrackBack URI

lol exactly what we do for about one year.

However this proves that we were right :)

Comment by temsa — March 19, 2008

lol exactly what we do for about one year.

However this proves that we were right :)

Apologies if I’m misunderstanding you here, but are you trying to compare Archetype to Echo3 with this statement? Were you referring to a particular aspect of Echo3 or the entire project?

I don’t claim to be the first to have done anything. However, I would like to say that Echo is not exactly a new player. The previous Ajax-based version (Echo2) was under development well before the initial Jesse James Garrett “Ajax” article hit. And Echo3 has been in progress for about two years.

Comment by tliebeck — March 20, 2008

Echo3 is very well designed and extremely promising. Echo has Java roots but now Echo3 apps can be built entirely with Javascript. If you are seeking a client framework with a permissive license which has a component model, layouts, object literal notation, and an elegant design – check it out. I feel there need to be more examples with traditional conservative graphic styling but this is pretty easy to create.

Comment by philmaker — May 10, 2008

Leave a comment

You must be logged in to post a comment.