Ajax в действии
.pdfПриложение В. Библиотеки Ajax |
633 |
jsolait
Продукт с открытым исходным кодом (LGPL) http://jsolait.net
Набор библиотек JavaScript с открытым исходным кодом, поддерживающий криптографию, сериализацию, десериализацию, XML-RPC и JSON-RPC.
JSON
Продукт с открытым исходным кодом (большинство реализаций — LGPL)
www.j son-rpc.org/
JSON — "обезжиренная XML-альтернатива"; JSON-RPC • - протокол удаленного вызова процедур, подобный XML-RPC, с хорошей поддержкой JavaScript-клиентов. Существуют реализации для нескольких серверных языков и платформ (в том числе Java, Python, Ruby и Perl).
JSRS (JavaScript Remote Scripting)
Брент Эшли (Brent Ashley), 2000 Продукт с открытым исходным кодом www.ashleyit.com/rs/jsrs/test.htm
Перенаправляет вызовы из JavaScript-кода в код, написанный на серверном языке, и обратно. Поддерживаемые браузеры: IE 4+, Netscape 4.x, Netscape 6.x, Mozilla, Opera 7 и Galeon. Поддерживаемые серверные языки: ASP, ColdFusion, PerlCGI, PHP, Python и JSP (сервлеты).
LibXMLHttpRequest
Стефан В.шКоте (Stephen W. Coate), 2003
Доступен исходный код; продукт защищен авторскими правами www.whitefrost.com/servlet/connector?file=reference/2003/06/17/libXml Request.html
"Тонкая" интерфейсная оболочка объекта XMLHttpRequest.
Mochikit
Продукт с открытым исходным кодом (MIT) www.mochikit.com/
Набор библиотек с акцентом на входе в систему, визуальных эффектах, асинхронном управлении задачами, форматировании даты/времени, включающий интерфейс "безболезненной" работы с DOM. Для представления DOM использует встроенные объекты Array JavaScript и форму записи в стиле JSON.
634 Часть V. Приложения
net Windows
Продукт с открытым исходным кодом www.netwindows.org
Реализация в браузере полной среды рабочего стола/окон DHTML. Код в основном написан согласно существующим стандартам, специфические особенности браузеров не используются. Содержит реализацию обмена сообщениями с использованием сигналов и слотов, смоделированную на основе элементов управления Qt (Trolltech) и языка Smalltalk. Существует в виде отдельной библиотеки.
Oddpost
Коммерческий продукт www.oddpost.com
Набор элементов управления окнами JavaScript; включает богатый полнофункциональный клиент электронной почты. В настоящий момент является частью Yahoo!.
OpenRico
Билл Скотт (Bill Scott), Даррен Джеймс (Darren James), 2005 Продукт с открытым исходным кодом
http://openrico.org
Многоцелевая структура с поддержкой Ajax. Основной акцент делается на поддержке таких элементов пользовательского интерфейса, как анимация, отделение содержимого от логики с помощью линий поведения, перетаскивание; имеется ряд встроенных элементов управления окнами. Разрабатывается при поддержке Sabre Airline Solutions на основе Prototype.
Pragmatic Objects
Продукт с открытым исходным кодом tittp: / /pragmaticobj ects . com/products . html
Входящий в продукт компонент WebControls представляет собой набор библиотек дескрипторов JSP, направленных на обогащение Web-приложений на эснове Java. В противоположность богатым, но "толстым" Web-приложениям, 'тонкое" Web-приложение состоит только из набора HTML-страниц с кодом JavaScript и CSS, которые визуализируются браузерами. Текущая реализация состоит из панели просмотра, элемента управления древовидной структурой л панели управления.
Prototype
Сэм Стефенсон (Sam Stephenson), 2004 Продукт с открытым исходным кодом ittp://prototype.conio.net/
структура JavaScript, предназначенная для RIA-разработки. Включает фун-
Приложение В Библиотеки Ajax |
635 |
даментальную библиотеку Ajax и набор инструментов для упрощения ее использования. Представляет собой процессор JavaScript для Ruby on Rails, Rico и Scriptaculous. Код JavaScript генерируется с помощью Ruby on Rails, однако потом его можно использовать и в других средах.
Qooxdoo
Продукт с открытым исходным кодом (LGPL) http://qooxdoo.sourceforge.net
Библиотека пользовательского интерфейса Ajax с богатым набором встроенных компонентов и хорошо продуманной структурой. Включает элементы управления окнами и структурой. В качестве поддержки разработки предлагает таймеры для профилей и отладчик.
RSLite
Бренга Эшли (Brent Ashley), до 2000 www.ashleyit.com/rs/main.htm
Простой компонент, выпущенный как часть более сложной работы Брента Эшли Remote Scripting (см. выше раздел, посвященный JSRS).
Ruby on Rails
Дэвид Хейнемиер Хэнссон (David Heinemeier Hansson), 2004 Продукт с открытым исходным кодом (MIT) www.rubyonrails.org
Общая основа для Web-разработки с хорошей поддержкой Ajax. На время начала Ajax-бума продукт находился в стадии разработки, поэтому становление Ruby on Rails происходило под сильным влиянием технологий Ajax. Генерирует большую часть (если не весь) JavaScript-кода для элементов управления окнами и анимации в браузере. Поддерживает планирование задач. Чтобы получить понятный и прямолинейный подход, авторы отказались от избыточного и всеобъемлющего продукта. Результат стал любимым средством многих Java-разработчиков. В данной книге Ruby on Rails использовался в основном из-за хорошей поддержки Ajax. В настоящий момент в продукт входят Prototype и Scriptaculous.
Sack
Продукт с открытым исходным кодом'(модифицированный MIT/X11) http://twilightuniverse.com/2 005/05/sack-of-ajax
"Тонкая" интерфейсная оболочка объекта XMLHttpRequest. Позволяет вызывающей стороне задавать функцию или объект DOM обратного вызова. С помощью D0M обратного вызова текст ответа помещается непосредственно в D0M.
636 Часть V. Приложения
SAJAX
Продукт с открытым исходным кодом www.modernmethod.com/saj ax
3AJAX направляет вызовы из JavaScript-кода в код, написанный на серверном языке, и обратно. Например, вызов метода JavaScript x__calculateBudget () направится на сервер и вызовет метод Java calculateBudget (), затем вернет в x_calculateBudget__cb() значение в виде JavaScript-кода. Продукт облегчает отображение суррогатной функции JavaScript в действие на сервере. Может направлять вызовы на различные серверные платформы: ASP, ColdFusion, Io, Lua, Perl, PHP, Python и Ruby.
Sarissa
Продукт с открытым исходным кодом (GPL и LGPL) http://sarissa.sf.net
API JavaScript, инкапсулирующий функциональные возможности XML в вызовы, которые зависят от браузера. Поддерживает различные технологии XML, включая запросы XPath, XSLT и сериализацию объектов JavaScript в XML независимо от браузера. ^
Scriptaculous
Томас Фукс (Thomas Fuchs), 2004 Продукт с открытым исходным кодом http://script.aculo.us
Библиотека визуальных эффектов с хорошей документацией, созданная с помощью JavaScript на основе Prototype. Включает демонстрации, примеры приложений и переносную библиотеку.
SWATO
Продукт с открытым исходным кодом (ASF) http://swato.dev.java.net
SWATO (Shift Web Application TO...) представляет собой набор повторно используемых интегрированных библиотек Java/JavaScript, позволяющих легко переносить взаимодействие Web-приложений на фундамент Ajax. Серверная библиотека Java может развертываться во всех контейнерах, совместимых с Servlet 2.3+. Клиентская библиотека JavaScript работает в браузерах, поддерживающих XMLHttpRequest. Для упорядочения данных POJO на стороне сервера используется JSON, поэтому для удаленного доступа к данным в любой JavaScript-среде (HTML, XUL, SVG) требуется всего лишь закодировать нужные действия или интегрировать их с готовыми библиотеками JavaScript. Продукт поставляется с несколькими автономными компонентами (Auto-complete Textbox, Live Form, Live List и т.д.), которые помогают быстро разрабатывать Web-приложения.
Приложение В. Библиотеки Ajax |
637 |
Tibet
Коммерческий продукт www.technicalpursuit.com
Предназначен для получения переносимого и понятного API JavaScript. Поддерживает стандарты Web-служб (SOAP и XML-RPC); имеет встроенную поддержку нескольких популярных Web-служб (Google, Amazon и Jabber). Включает интегрированную среду разработки, написанную на JavaScript.
TinyMCE
Продукт с открытым исходным кодом, коммерческой поддержкой и несколькими запатентованными модулями http://tinymce.moxiecode.com/
Богатый WYSIWYG-редактор; может загружаться в текстовую область HTML с помощью одной строки JavaScript-кода, что позволяет легко интегрировать его в существующие Web-приложения, системы CMS, энциклопедии и т.п. По своим функциональным возможностям очень похож на FCKEditor.
TrimPath Templates
Продукт с открытым исходным кодом http://trimpath.com/project/wiki/JavaScriptTemplates
Процессор образов JavaScript для соединения в браузере данных и представления.
Walter Zorn's DHTML Libraries
Продукт с открытым исходным кодом www.walterzorn.com/index.htm
Предлагает поддержку перетаскивания и векторной графики (линии и кривые), используя в качестве пикселей элементы div.
WebORB for .NET
Коммерческий продукт; имеется бесплатная версия www.themidnightcoders.com/weborb/aboutWeborb.htm
Платформа для разработки богатых клиентских приложений Ajax и Flash с возможностью их последующего объединения с объектами .NET и Webслужбами XML.
WebORB for Java
Коммерческий продукт; имеется бесплатная/общедоступная версия www.themidnightcoders.com/weborb/aboutWeborb.htm
Платформа для разработки богатых клиентских приложений Ajax и Flash с возможностью их последующего объединения с объектами Java и Webслужбами XML. Включает клиентскую библиотеку Rich Client System
638 Часть V. Приложения
(www. themidnightcoders, сот/гсэ/index.htm), которая предлагает простой (в одну строку) API, позволяющий связываться с любым методом любого объекта Java, Web-службы XML или Enterprise JavaBean. Предлагает специальный API для обработки результатов запросов базы данных; серверный код может возвращать элементы DataSets или DataTables, а клиент представит их как специальный объект JavaScript Recordset. Данный объект позволяет извлекать названия столбцов и построчные данные.
х
Майте Фостер (Mike Foster), 2005 Продукт с открытым исходным кодом www.cross-browser.com
Классическая библиотека DHTML, предлагающая поддержку в различных браузерах анимации, стилевого оформления, событий и других распространенных функциональных возможностей.
XAJAX |
|
Дою. Макс Уилсон (J. Max Wilson), 2005 |
/ |
Продукт с открытым исходным кодом |
|
http://xajax.sf.net
Передает вызовы JavaScript непосредственно функциям РНР. Для вызова сценария РНР использует суррогат JavaScript.
x-Desktop
Продукт с открытым исходным кодом (GPL) www.x-desktop.org/
Проект включает библиотеку для разработки "тонких" клиентских приложений с использованием браузера. Помогает разработчикам создавать графические интерфейсы для приложений глобальных, внутренних и внешних сетей. Для работы продукта не требуются никакие модули, необходим только браузер. Поддерживает все операционные системы с браузером DOM 2/JavaScript; предлагает простой интерфейс с хорошей документацией; имеет настраиваемые сменные оболочки.
ХНСопп
Вред Фульц (Brad Fults), 2005 http://xkr.us/code/JavaScript/XHConn
"Тонкая" интерфейсная оболочка объекта XMLHttpRequest.
Предметный указатель
А |
|
|
Д |
ActionScript, |
58 |
|
Десериализация, 41 |
Ajax, 34 |
|
|
К |
|
|
|
|
С |
|
|
Конструктор, 374 |
Camino, 65 |
|
|
Контроллер, 121, Ц8 |
CGI, 51 |
|
|
Контроллер в Ajax-лриложении, 161 |
Cocoa, 193 |
|
|
|
CSS, 51; 65; |
68; |
362 |
М |
|
|
|
Модель, 120 |
D |
|
|
Модель в Ajax-приложении, 169 |
DOM, 65; 16 |
|
|
|
DWR, Iffl; 196 |
|
Н |
|
|
|
|
Надежность приложения, #35 |
J |
|
|
|
Java Web Start, |
59 |
О |
|
JavaScript, £6; 65; 66 |
Образ использования, 45 |
||
JSF, 23./ |
|
|
Образ разработки, 34; 101 |
JSON, 215 |
|
|
Образ разработки Adapter, .?0P |
JSON-RPC, ЦО |
|
Образ разработки Fagade, 107; 108 |
|
|
|
|
Образ разработки Observer, 111 |
М |
|
|
Объект XMLHttpReguest, 65 |
МВ5-дайджест, |
291 |
Опережающий ввод, 381 |
|
MySQL, 124 |
|
|
Оптимизация кода, 313 |
|
|
|
Отделение логики от представления, 152 |
R. |
|
|
Отделение представления от логики, 157 |
Remote scripting, 34 |
|
||
RMI, 207 |
|
|
П |
Ruby on Rails, Ц2 |
Представление, 120 |
||
|
|
|
Производительность, 304 |
s |
|
|
|
SA.3AX, ЦО; 196 |
P |
||
SOA, 196 |
|
|
Распределение ответственности, 101 |
SOAP, 278 |
|
|
Распределение функций, 101 |
|
|
|
Реструктуризация, 100 |
X |
|
|
|
XmlDocument, 86 |
С |
||
XMLHttpRequest, 86 |
Селектор CSS, 68 |
||
XSLT, 216 |
|
|
Сериализация, 41 |
А |
|
|
Скорость выполнения программы, 305 |
|
|
|
|
Архитектура "модель-представление- |
У |
||
контроллер", |
Удаленные сценарии, 34 |
||
120 |
|
|
Уровень бизнес-логики, 188 |
Асинхронное взаимодействие, 42 |
Уровень представления, 188 |
Научно-популярное издание
Дейв Крейн, Эрик Паскарелло, Даррен Джеймс
Ajax в действии
Литературный редактор И.А. Попова
Верстка А.В. Назаренко Художественные редакторы Т.А. Тараброва, С.А. Чернокозинскш
Корректор О.В. Мишутина
Издательский дом "Вильяме" 101509, Москва, ул. Лесная, д. 43, стр. 1
Подписано в печать 21.04.2006. Формат 70X100/16. Гарнитура Times. Печать офсетная.
Усл. печ. л. 51,6. Уч.-изд. л. 36,86. Тираж 2000 экз. Заказ № 1385,
Отпечатано с диапозитивов в ОАО "Печатный двор" им. А, М. Горького.
197110, Санкт-Петербург, Чкаловский пр., 15.
K79
681.3.07
Издательский дом "Вильяме"
Зав. редакцией С.Н. Тригуб
Перевод с английского и редакция В.В. Вейтмшш и А.В. Назаренко
По общим вопросам обращайтесь в Издательский дом "Вильяме'' по адресу: info@williamspiiblishing.com. http://ww\v.wi]Hamspubl is hing.com
115419, Москва, а/я 783; 03150. Киев, а/я 152
in, Дейв, Паскарслло, Эрик, Джеймс, Даррен.
Ajax в действии. : Пер. с англ. —- М. : Издательский дом "Вильяме", 2006. — 640 с. : ил. — Парал. тит. англ.
ISBN 5-8459-1034-Х (рус.)
В этой книге описан новый подход к созданию Web-приложений, известный как Ajax. Авторы осматривают составные части Ajax: JavaScript, CSS, DOM и объект XMLHttpRequest. Кроме iro, в книге нашли отражение вопросы управления кодом, взаимодействия клиента и сервера применения архитектуры "модель-представленис-коцтроллер" на разных уровнях приложения, ататель также найдет сведения о защите и производительности — важных характеристиках, суественно влияющих на популярность любого продукта. Рассматриваемые вопросы иллюстриругся примерами практического использования Ajax. В приложениях содержится дополнительная формация об инструментальных средствах, о языке JavaScript и библиотеках. Материал книги ложен на высоком уровне и будет полезен спеииалистам высокой и средней квалификации.
ББК 32.973.26-018.2.75
:е названия программных продуктов являются зарегистрированными торговыми марками соответствующих фирм. •1какая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни было и какими бы то ни было средствами, будь то электронные или механические, включая фотокопирование сь на мш-иитнын носитель, если на это нет письменного разрешения издательства Manning Publications Co,
•i7.ed translation from the English language edition published by Manning Publications Co. Copyright © 2006.
1 rights reserved. No part of this book may he reproduced or transmitted in any form or by any means, electronic or mechaniluding photocopying, recording or by any information storage rcirieval system, without permission from ihe Publisher.
issian language edition published by Williams Publishing House according to the Agreement with R&l Enterprises lional. Copyright © 2006
5-8459-1034-X (рус.) |
© Издательский дом "Вильяме", 2006 |
1-9323-9461-3 Ошгл.) |
© 2006. by Manning Publications Co. |