Echo (framework)

Last updated
Echo
Developer(s) NextApp
Initial releaseFebruary 21, 2002;20 years ago (2002-02-21)
Stable release
3.0.3 / December 6, 2018;3 years ago (2018-12-06)
Preview release
3.1.0 / December 6, 2018;3 years ago (2018-12-06)
Repository
Written in Java and JavaScript
Platform Java and Web
Type web framework
License MPL 1.1
Website echo.nextapp.com/site/ OOjs UI icon edit-ltr-progressive.svg

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.

Contents

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

Echo2

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

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

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

Echo2 has inspired various add-on projects including:

See also

Related Research Articles

<span class="mw-page-title-main">Web application</span> Application that uses a web browser as a client

A web application is application software that runs in a web browser, unlike software programs that run locally and natively on the operating system (OS) of the device. Web applications are delivered on the World Wide Web to users with an active network connection.

Jakarta Faces, formerly Jakarta Server Faces and JavaServer Faces (JSF) is a Java specification for building component-based user interfaces for web applications and was formalized as a standard through the Java Community Process being part of the Java Platform, Enterprise Edition. It is also an MVC web framework that simplifies the construction of user interfaces (UI) for server-based applications by using reusable UI components in a page.

A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and extra scriptability.

Ajax is a set of web development techniques that uses various web technologies on the client-side to create asynchronous web applications. With Ajax, web applications can send and retrieve data from a server asynchronously without interfering with the display and behaviour of the existing page. By decoupling the data interchange layer from the presentation layer, Ajax allows web pages and, by extension, web applications, to change content dynamically without the need to reload the entire page. In practice, modern implementations commonly utilize JSON instead of XML.

A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and deploy web applications on the World Wide Web. Web frameworks aim to automate the overhead associated with common activities performed in web development. For example, many web frameworks provide libraries for database access, templating frameworks, and session management, and they often promote code reuse. Although they often target development of dynamic web sites, they are also applicable to static websites.

<span class="mw-page-title-main">Google Web Toolkit</span> Free Java library

Google Web Toolkit, or GWT Web Toolkit, is an open-source set of tools that allows web developers to create and maintain JavaScript front-end applications in Java. It is licensed under the Apache License 2.0.

Google Developers is Google's site for software development tools and platforms, application programming interfaces (APIs), and technical resources. The site contains documentation on using Google developer tools and APIs—including discussion groups and blogs for developers using Google's developer products.

The Spry Framework is an open source Ajax framework developed by Adobe Systems which is used in the construction of Rich Internet applications. Unlike other pure JavaScript frameworks such as the Dojo Toolkit and Prototype, Spry is geared towards web designers, not web developers. On August 29, 2012, Adobe announced that it will no longer continue development of Spry and handed it over to the community on GitHub.

Morfik Technology Pty Ltd. is an Australian software company that was acquired by Altium in 2010.

A single-page application (SPA) is a web application or website that interacts with the user by dynamically rewriting the current web page with new data from the web server, instead of the default method of a web browser loading entire new pages. The goal is faster transitions that make the website feel more like a native app.

<span class="mw-page-title-main">Pyjs</span> Rich Internet application framework

Pyjs, is a rich web application framework for developing client-side web and desktop applications in Python. The resulting applications can be run in a web browser or as standalone desktop applications.

XPages is an IBM implementation of JavaServer Faces with a server side JavaScript runtime and the built-in NoSQL database IBM Domino. It allows data from IBM Notes and Relational Databases to be displayed to browser clients on all platforms.

ZK is an open-source Ajax Web application framework, written in Java, that enables creation of graphical user interfaces for Web applications with little required programming knowledge.

<span class="mw-page-title-main">Vaadin</span>

Vaadin is an open-source web application development platform for Java. Vaadin includes a set of Web Components, a Java web framework, and a set of tools that enable developers to implement modern web graphical user interfaces (GUI) using the Java programming language only, TypeScript only, or a combination of both.

<span class="mw-page-title-main">Google Plugin for Eclipse</span> Set of Java development tools

Google Plugin for Eclipse (GPE) was a set of development tools that enabled Java developers to design, build, optimize, and deploy cloud computing applications. developers in creating complex user interfaces, generating Ajax code using the GWT Web Toolkit, and deploying applications to Google App Engine. GPE installed into the Eclipse integrated development environment (IDE) using the extensible plugin system. GPE was available under the Eclipse Public License 1.0.

This is a list of articles related to the JavaScript programming language.

References

  1. Liebeck, Tod (9 September 2003). "Working with the Echo Web framework" (PDF). IBM developerWorks. Retrieved 26 May 2018.
  2. Hunt, John (24 August 2006). "Echo2 versus GWT". The Register. Retrieved 26 May 2018.