Echo (framework)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Echo
DeveloperNextApp
Initial releaseFebruary 21, 2002; 24 years ago (2002-02-21)
Stable release
3.0.3 / December 6, 2018; 7 years ago (2018-12-06)
Preview release
3.1.0 / December 6, 2018; 7 years ago (2018-12-06)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inJava and JavaScript
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    PlatformJava and Web
    Typeweb framework
    LicenseMPL 1.1

    Echo is a web application framework created by the company NextApp. The latest iteration, Echo3, allows writing applications in either server-side Java or client-side JavaScript. Server-side applications do not require developer knowledge of HTML, HTTP, or JavaScript. Client-side JavaScript-based applications do not require a server, but can communicate with one via AJAX.

    It is free software licensed under the terms of the Mozilla Public License (MPL).

    Echo2

    [edit | edit source]

    Echo originally started as a request-response web application framework that leveraged the Swing object model to improve the speed of application development.[1] Through the use of the Swing model, Echo was able to employ concepts such as components and event-driven programming that removed much of the pain of web application development.

    In late 2005, NextApp formally announced the release of their new Ajax based web application platform, "Echo2". This framework built on the concepts of Echo (well known API, total web abstraction) but delivered the additional benefit of being an Ajax environment. NextApp believed that this approach brought the framework extremely close to the capabilities of rich clients. NextApp also claimed that this reincarnation of the Echo framework provided dramatic performance, capability, and user-experience enhancements made possible by its new Ajax-based rendering engine.

    Echo3

    [edit | edit source]

    During 2007, development on a third generation of the framework, Echo3, began. The focus of this evolution was to move away from generating markup on the server side, and instead to implement rendering peers as native JavaScript objects, with an XML-based state synchronization protocol between client (web browser) and server. This was developed in tandem with a core JavaScript framework, providing the ability to define inheritance hierarchies in JavaScript in a way familiar to developers of object-oriented languages.

    Competitors

    [edit | edit source]

    Echo is often compared to frameworks such as Google Web Toolkit (GWT) as both Echo and GWT (among others) offer a programming model that completely abstracts users from the web tier.[2] However Echo differs substantially from GWT in the way it interacts with JavaScript. GWT essentially implements a subset of the Java API in JavaScript, and as such, Java code is compiled to JavaScript and fully executed on the client side. On the other hand, Echo has offered a dual-stack approach since version 3. Applications can be written in JavaScript (client-side) or Java (server-side) or in mixed forms.

    Comparable frameworks include Vaadin, RAP, ZK, OpenLaszlo, ICEfaces, ThinWire, Apache Wicket, and jSeamless.

    Associated projects

    [edit | edit source]

    Echo2 has inspired various add-on projects including:

    • EchoPoint: "Next Generation": The most well known 3rd party component library for Echo2
    • Hibernate-Spring-Echo: An effort to provide an out of the box application framework that includes Echo2
    • Google maps for Echo2
    • Google maps v3 for Echo2
    • Gantt Charting for Echo2
    • Echo2Faces: An effort to provide XML markup for Echo2 UI layouts
    • jZeno: A full-stack application framework that uses a highly optimized version of the original Echo framework as rendering engine.
    • Aejaks: A Jacl layer on top of Echo2 to easily create rich web applications.

    See also

    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]
    • Lua error in Module:Official_website at line 94: attempt to index field 'wikibase' (a nil value).