Contributed by Echo Framework expert Rakesh Vidhyadharan:
The Echo web application development framework is often referred to as
"the best kept secret" among the developers who are familiar with it.
Echo attempts to present a AWT/Swing type programming interface to
develop web applications. Echo and Zk seem to have been the earliest
proponents of this philosophy, which has since been adopted by GWT, Wicket
The current version of Echo is Echo3, which represents a more modern and
radical change from Echo2. Echo2 had been primarily a server rendering
system, that generated the entire HTML rsponse on the server. Echo3 on
the other hand delegates the rendering to a new Client Engine JS service
that is loaded by the browser when an application is first loaded. The
server still maintains the current state (the components currently displayed
on screen, and their respective state). During a client-server
interaction the server sends XML messages that indicate any rerendering
as well as the data necessary to display in the client components.
Echo API is now split into a pure client-side API that usually has a 1-1
mapping to their server side component API. With Echo3 it is now possible
to write a pure JS only rich web application, that uses traditional AJAX
XmlHttpRequest wrappers to interact with any web service. In fact the
server side components are rendered using these same client components
when the application is built using Java.
The Echo3 demo application (http://demo.nextapp.com/echo3csjs), as well as
the EchoPoint client test application (http://sptci.com/echopointclienttest/)
are examples of applications created purely using the Echo3 client-side API.
Unlike GWT, any language that runs within the JVM may be used to build
server-side Echo applications. Groovy and Scala in particular have been
used by regular Echo3 users to build rich internet applications. Similarly,
it is possible to use reflection and other dynamic features to reduce the
amount of boiler plate code that needs to be written to create a server-side
1. Presentation (http://sptci.com/products/articles/Echo2Presentation.pdf)
2. Developer Guide (https://echopoint.dev.java.net/files/documents/9134/103120/DeveloperGuide.pdf) - I wrote this for contributors to EchoPoint.