Введение

Web application framework by NextApp

Echo – это веб-фреймворк, разработанный компанией NextApp. Последняя версия, Echo3, позволяет создавать приложения как на серверной стороне с использованием Java, так и на клиентской стороне с использованием JavaScript. Для разработки серверных приложений не требуются знания HTML, HTTP или JavaScript. Клиентские приложения на JavaScript не нуждаются в сервере, но могут взаимодействовать с ним посредством AJAX. Это свободное программное обеспечение, распространяемое по лицензии Mozilla Public License (MPL).

Эхо 2

Echo изначально создавалась как веб-фреймворк для обработки запросов и ответов, использующий объектную модель Swing для ускорения разработки приложений. Благодаря использованию модели Swing, Echo смогла применять такие концепции, как компоненты и событийно-ориентированное программирование, что значительно упростило разработку веб-приложений. В конце 2005 года компания NextApp официально объявила о выпуске своей новой веб-платформы на основе Ajax – "Echo2". Этот фреймворк развивал идеи Echo (хорошо известный API, полная веб-абстракция), но предоставлял дополнительное преимущество в виде среды Ajax. NextApp полагала, что такой подход максимально приблизил возможности фреймворка к возможностям насыщенных клиентских приложений. NextApp также утверждала, что это новое воплощение фреймворка Echo обеспечило существенное повышение производительности, функциональности и удобства использования благодаря новому механизму рендеринга на основе Ajax.

Эхо 3

В 2007 году началась разработка третьего поколения фреймворка, Echo3. Основной акцент в этой эволюции был сделан на отказе от генерации разметки на стороне сервера и переходе к реализации рендеринга в виде нативных объектов JavaScript с использованием протокола синхронизации состояния на основе XML между клиентом (веб-браузером) и сервером. Эта разработка велась параллельно с основным JavaScript-фреймворком, предоставляющим возможность определения иерархий наследования в JavaScript способом, знакомым разработчикам объектно-ориентированных языков.

Конкуренты

Echo часто сравнивают с фреймворками, такими как Google Web Toolkit (GWT), поскольку и Echo, и GWT (среди прочих) предлагают модель программирования, полностью абстрагирующую пользователей от веб-уровня. Однако Echo существенно отличается от GWT в способе взаимодействия с JavaScript. GWT по сути реализует подмножество Java API на JavaScript, и, следовательно, Java-код компилируется в JavaScript и полностью выполняется на стороне клиента. В отличие от этого, Echo с версии 3 предлагает подход с двойным стеком. Приложения могут быть написаны на JavaScript (на стороне клиента), на Java (на стороне сервера) или в смешанной форме. К сопоставимым фреймворкам относятся Vaadin, RAP, ZK, OpenLaszlo, ICEfaces, ThinWire, Apache Wicket и jSeamless.