Давайте теперь посмотрим, что Prototype может сделать специально для нас при разработке динамического веб-приложения.
Кросс-браузерная поддержка
При программировании на JavaScript необходимо по-разному обрабатывать разные веб-браузеры. Библиотека прототипов была написана таким образом, что она заботится обо всех проблемах совместимости, и вы можете выполнять кросс-браузерное программирование без каких-либо хлопот.
Объектная модель документа
Prototype предоставляет вспомогательные методы, которые облегчают некоторую нагрузку при программировании DOM. Используя Prototype, вы можете очень легко управлять DOM.
HTML формы
С Ajax другие механизмы ввода, такие как перетаскивание, могут использоваться как часть диалога между браузером и сервером. При обычном программировании на JavaScript трудно получить эти входные данные и передать их на сервер. Prototype предоставляет набор утилит для работы с HTML-формами.
События JavaScript
Prototype обеспечивает отличную межбраузерную поддержку при кодировании событий, а также расширяет объект Function для упрощения работы с обработкой событий.
Ajax Utilities
Самая важная особенность Prototype — это поддержка Ajax. Все основные браузеры поддерживают версию объекта XMLHttpRequest, которая делает возможным использование Ajax как компонента ActiveX или как собственный объект JavaScript.
XMLHttpRequest, однако, предоставляет протокол HTTP на очень низком уровне, что дает разработчику много возможностей, но также требует от нее написания большого количества кода для выполнения простых задач.
Prototype использует свою собственную систему наследования объектов для обеспечения иерархии вспомогательных объектов Ajax, причем более общие базовые классы делятся на подклассы более целенаправленными помощниками, которые позволяют кодировать наиболее распространенные типы запросов Ajax в одну строку.