Echo - это каркас веб-приложений, созданный компанией NextApp. Последняя итерация, Echo3, позволяет писать приложения на стороне сервера Java или на стороне клиента JavaScript. Серверные приложения не требуют от разработчика знаний HTML, HTTP или JavaScript. Клиентские приложения на основе JavaScript не требуют сервера, но могут связываться с ним через AJAX.
Это бесплатное программное обеспечение, лицензируемое в соответствии с условиями общественной лицензии Mozilla (MPL).
Первоначально Echo начинался как структура веб-приложений запрос-ответ, в которой использовалась объектная модель Swing для повышения скорости разработки приложений. Благодаря использованию модели Swing, Echo смогла применить такие концепции, как компоненты и программирование, управляемое событиями, что устранило большую часть проблем разработки веб-приложений.
В конце 2005 года NextApp официально объявили о выпуске своей новой платформы веб-приложений на основе Ajax, «Echo2». Этот фреймворк построен на концепциях Echo (хорошо известный API, общая веб-абстракция ), но дает дополнительное преимущество в виде среды Ajax. Компания NextApp считала, что такой подход максимально приблизил структуру к возможностям многофункциональных клиентов. NextApp также заявила, что эта реинкарнация платформы Echo обеспечила резкие производительность, возможности и пользовательский интерфейс, которые стали возможны благодаря новому движку рендеринга на основе Ajax.
В 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 и.
Echo2 вдохновил на создание различных дополнительных проектов, включая: