Welcome to php club

Xforms: новое поколение веб-форм.


ПРИМЕЧАНИЕ: это черновик доклада!

I. Спецификация форм в HTML. Пути к выходу из тупика.

Спецификация форм, знакомая, без сомнения, каждому веб-мастеру, сформировалась в том виде, в каком она существует сейчас, в 1994 г. Очевидно, на ту пору предлагаемой формами функциональности было вполне достаточно для веб-приложений, которые были (по крайней мере, в своей массе) еще не слишком большими и сложными.
Сегодня, однако, мы – веб-разработчики – постоянно сталкиваемся с тем, что нам не хватает возможностей HTML-форм. Естественно, были найдены пути, позволяющие расширить горизонты: Java Script? со своими практически безграничными возможностями по проверке вводимых данных и созданию всевозможных виджетов (наиболее часто используемые – календарь, недостаток которого сильно ощущается в спецификации форм, а также WYSIWYG-редакторы). Помимо собственно Java Script?, широкое распространение получают AJAX-интерфейсы, позволяющие, помимо всего прочего, «держать связь» с сервером, в то время как традиционные Java Script?-приложения целиком и полностью выполняются на клиенте.
Однако, помимо этих, широко известных, путей улучшения HTML и HTML-форм, существует еще один, известный пока что относительно немногим – даже в среде веб-разработчиков. Речь идет о новой спецификации консорциума W3 – Xforms. Эта спецификация призвана заменить собой HTML-формы, и планируется к повсеместному внедрению вместе с XHTML-2.0. Разработчики Xforms постарались учесть интересы растущего сообщества пользователей интернет, интересы пользователей различных устройств, в том числе мобильных и специализированных – например, для людей со слабым зрением. Стандарт Xforms очень сильно отличается от привычной всем нам HTML-разметки, и включает в себя огромную массу новых возможностей. Спецификация довольно сложна, включает в себя ряд XML-based технологий, таких как XMLSchema, XMLEvents, XPath.
Далеко не все веб-сообщество согласно с тем, что следующим шагом в развитии форм должны стать именно Xforms: некоторые отстаивают относительно привычный AJAX, некоторые (в том числе разработчики популярного браузера Opera) – стоят за внедрение спецификации Web Forms?-2. В основе спецификации Web Forms?-2, собственно, лежит все тот же Java Script?; по моему мнению, основной идеей этой спецификации является внесение некоего порядка, стандартизации в разрозненные ряды Java Script?-and-AJAX фреймворков.
Данный доклад не ставит своей целью «рекламу» Xforms, равно как и ее альтернатив. Основной целью является, скорее, донести до продвинутых российских веб-разработчиков какую-то информацию об Xforms, для того чтобы:
1)разработчики знали о существовании Xforms;
2)чтобы, возможно, несколько оживить обсуждение новой спецификации, где достаточно места для улучшений – только успевай предлагать свои идеи.

II. Введение в Xforms. Xforms-процессоры. Примеры приложений.

Xforms – спецификация W3C, в настоящее время находящаяся в стадии активной разработки (http://www.w3.org/TR/xforms ). Xforms – официальное название, также изредка встречается термин XML-Forms, однако, официального статуса у него нет. Несмотря на то, что текущая версия имеет номер 1.0, то есть мы как пользователи вправе ожидать достаточно полной функциональности, в спецификации имеется ряд пробелов и/или проблем (мы остановимся на известных мне недостатках в следующей части доклада).
Тем, кто захочет изучать Xforms, я могу порекомендовать начать с книги Micah Dubinko – Xforms Essentials. Найти ее английскую HTML версию можно на сайте http://xformsinstitute.com/essentials/browse/book.php. Для того чтобы начать эксперименты с Xforms-приложениями, или, говоря проще, с формами, вам понадобится определенное ПО, которое позволит рендерить разметку Xforms – Xforms-процессор. Существуют две разновидности процессоров – server- and client-based. Нетрудно догадаться, что первые осуществляют рендеринг на стороне сервера, а вторые – на стороне клиента. Рендеринг на стороне сервера – это преобразование Xforms-разметки в привычный HTML + Javascript. Очевидно, наиболее удачным проектом в этом ряду является Chiba project (@TODO: ЗДЕСЬ ССЫЛКА НА ЧИБУ). К сожалению, у меня нет какого-либо опыта работы с этим видом процессоров, и я не могу дать по ним сколько-нибудь подробной информации.
Процессоры, работающие на стороне клиента, работают без преобразования разметки Xforms в разметку HTML. Наиболее известные проекты в этом ряду:

+ Mozilla Xforms ( http://mozilla.org/projects/xforms/ ) – расширение для браузеров семейства Mozilla, в том числе Firefox. Следует отметить, что расширения, которые можно скачать на официальном сайте зависят от версий Fire Fox?, версии расширения 0.x работают начиная с Firefox 1.5.0.3, начиная с версий 0.7.x.x требуется Fire Fox? 2.x или Sea Monkey? 1.1. Последнюю версию можно найти на https://addons.mozilla.org/ru/firefox/addon/824. Mozilla Xforms реализует спецификацию практичесски в полном объеме и быстро развивается, благодаря стараниям Doron Rosenberg'а и компании. Кстати, в создании это проекта принимает участие и специалист из России – иркутский программист Сурков (@TODO: СПРОСИТЬ У СУРКОВА, КАК ЕГО ЗОВУТ :) Upd. По информации на сайте его нет в списках разработчиков). Особая прелесть этого проекта в том, что он позволяет использовать новые, специфические возможности CSS.
+ Form Faces? (@TODO: ССЫЛКА НА ФОРМФЕЙСЫ) – плагин для MSIE. Насколько мне известно, по объему реализации спецификации Form Faces? и Mozilla Xforms практически равны.
+ X-Smiles – учебный проект, XML-браузер на Java. По заявлениям разработчиков, умеет многое. Но глючный, тормозной и некрасивый.

(@ДАЛЕЕ: пару слов о concentre)

III. Xforms vs AJAX. Cравнительная характеристирка. Плюсы и минусы Xforms.

Xforms – спецификация, призванная улучшить плачевное на сегодняшний положение веб-форм. В связи с этим просто напрашивается сравнение Xforms с AJAX.


 
Один комментарий. [Показать комментарии/форму]