Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ajax в действии

.pdf
Скачиваний:
92
Добавлен:
01.05.2014
Размер:
6.34 Mб
Скачать

Приложение В. Библиотеки 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.