17 лет назад 6 августа 2007 в 12:17 961

 

Операционная система в браузере – почему бы и нет? Технологии AJAX позволяют многое.

Когда заходит речь о Web 2.0, часто упоминается ряд технологий, так или иначе связанных с разработкой или деятельностью сетевых проектов нового поколения. Нельзя объять необъятное, так что ограничимся вершиной айсберга.

Давайте пройдемся по импровизированному хит-параду технологий и разберемся в конце концов, что же крутит виртуальные шестеренки Web 2.0-проектов.

AJAX
Обычно первая технология, о которой вспоминают при разговоре о Web 2.0, это AJAX (Asynchronous JavaScript + XML) – общее название группы технологий, позволяющих создавать пользовательские веб-интерфейсы с богатыми функциональными возможностями. В отличие от традиционного веб-приложения, здесь обработкой данных занимается не только сервер, но и AJAX-движок, который определяет, какие данные могут быть обработаны непосредственно локальным клиентом, а за какими придется обращаться к серверу. Казалось бы, мелочь, однако она определяет уникальные свойства таких программ. Интеллектуальное распределение нагрузки, во-первых, сокращает поток данных между клиентом и сервером, что ведет к большей скорости установившегося режима работы приложения, поскольку обновляется не страница целиком, а только те части документа, которые потребовали загрузки новых данных. Более того, AJAX-программу можно написать таким образом, что она сможет в определенной степени предугадывать запросы пользователя и заблаговременно подгружать из Сети необходимые данные. А это, опять же, влияет на субъективную скорость работы приложения. AJAX работает со всеми современными браузерами без установки дополнительных плагинов.
AJAX во многом изменил представления о возможностях веб-приложений, которые теперь оказались способны конкурировать с некоторыми «настольными» программными пакетами. Существуют даже так называемые WebOS, этакие операционные системы, работающие в окне браузера. Но везде есть свои плюсы и минусы: процесс разработки предлагающих дополнительные возможности AJAX-приложений значительно усложнился по сравнению с обычными приложениями.

RSS
Если AJAX реализовал новый уровень пользовательского интерфейса, то технология RSS изменила способы получения сетевого контента. Можно сказать, что благодаря RSS данные стали независимыми от конкретного сайта, на котором были впервые опубликованы. С помощью этой технологии можно транслировать практически любой материал, разделив его на отдельные части-выпуски. И что немаловажно, последующий сбор информации с RSS-каналов происходит в автоматическом режиме. Технология RSS также совершила небольшую революцию в деле наполнения «домашних страниц». Теперь возможно быстрое создание персонализированного сетевого инструмента, получающего контент с отобранных пользователем RSS-каналов. Такая страница радикально отличается от традиционного «хоумпейджа» эпохи Web 1.0.
История RSS трудна и извилиста. Первые шаги RSS связаны с Netscape Communications. Технология называлась тогда RDF Site Summary, отличалась сложным устройством и служила для автоматизированного создания интернет-порталов компаний. Вскоре Netscape создала более простую и удобную версию, теперь уже под именем Rich Site Summary. Через некоторое время Netscape свернула свои портальные проекты и потеряла интерес к RSS, а сам формат получил открытую версию. Технология, как говорится, пошла в массы и стала активно применяться многими сетевыми проектами.
Флаг подхватили новые игроки. Фирма UserLand Software применила этот формат в блогах, в очередной раз сменив расшифровку RSS – Really Simple Syndication. Параллельно разработкой своей версии RSS занялась свободная группа RSS-DEV. Из-за появления нескольких разработчиков в стане RSS некоторое время царила форменная неразбериха. Достаточно сказать, что RSS 1.0 и 2.0 – это не последовательные версии одной технологии, а разные форматы от разных создателей.
Выход из этой ситуации попыталась найти рабочая группа IETF, разработавшая общий нейтральный формат, который сначала назывался Echo, а затем, видимо, чтобы не нарушать сложившуюся традицию, был также переименован – в Atom. Роль лесника, прогнавшего всех из избушки, во многом сыграли программисты, которые добавили в современные RSS-агрегаторы поддержку всех существующих RSS-форматов.
Внутреннее устройство RSS достаточно несложное. На сайте создается RSS-канал, который представляет собой периодически обновляемый и отформатированный в соответствии со спецификацией XML-документ. Структура его традиционна – общий заголовок и описания отдельных элементов ленты со ссылками, точной датой обновления и некоторым вспомогательным кодом. При первом шапочном знакомстве даже странно становится: что же здесь делить-то было несколько лет?

Social software и Wiki
Сегодня большинство ресурсов Web 2.0 позволяют осуществлять совместную деятельность сообщества пользователей по наполнению сайта. Предоставляющие такую возможность программы поучили наименование «социальных приложений» (social software). Во многих веб-проектах социальные приложения используются только для добавления контента в общее сетевое хранилище, организации доступа к нему других пользователей и обмену мнениями относительно публикаций сообщества. Наиболее радикальным примером social software является Wiki – технология обновления веб-сайта, при котором любой его пользователь может вносить правки в существующие страницы или создавать собственные.
У Wiki есть несколько особенностей, благодаря которым эта на первый взгляд абсолютно анархическая система может успешно работать. Во-первых, для правки страниц Wiki-сайта не требуется никаких дополнительных редакторов: достаточно просто открыть страницу в браузере, все необходимые инструменты будут доступны онлайн. Во-вторых, Wiki-скрипты отслеживают целостность структуры ссылок: любые ссылки либо ведут на существующую страницу, либо запускают редактор для создания новой. В-третьих, все такие скрипты обладают мощными средствами отслеживания версий страниц и быстрого отката к предыдущим редакциям. Именно этот инструмент защищает публичный Wiki-сайт от превращения в сетевую помойку. Четвертый необходимый для нормальной работы Wiki компонент – наличие средств коммуникации пользователей для обсуждения текущего проекта.
В настоящее время существует неплохой выбор готовых скриптов, позволяющих всем желающим запустить Wiki на своем сайте.

Теги и «фолксономия»
Эпоха Web 2.0 принесла изменения и в такую респектабельную и устоявшуюся сферу, как индексация сетевой информации. В Web 1.0 действовали две главные модели индексирования. При формировании баз данных и некоторых веб-каталогов команда специалистов присваивала документам ключевые слова или рубрики из заранее составленного для данной предметной области словаря-тезауруса. При высоком качестве результата этот способ является медленным, трудоемким и дорогим. Существует и другая модель, при которой универсальные интернет-поисковики автоматически анализируют тексты веб-страниц, выявляя с помощью достаточно сложных алгоритмов и сохраняя в своей базе данных поисковый образ документа. Высокоэффективный при индексировании текстовых документов, этот способ резко теряет свой КПД при работе, например, с изображениями. В ход тогда идут косвенные признаки: имена файлов картинок, заполненные веб-мастером ALT-теги, анализ текста самой веб-страницы и прочие вещи, с помощью которых поисковой системе приходится «угадывать» содержимое изображения.
В Web 2.0 предложен третий подход: пользователи-авторы коллективного ресурса сами присваивают загружаемым на сервер документам ключевые слова – теги. Они могут быть сформулированы в произвольной форме, причем один документ может сопровождаться множеством тегов – естественно, в пределах разумного. Такой способ индексации был метко назван «фолксономией» (folksonomy), что подчеркивает его «народность» и открытость для всех. В этой модели у ключевых слов появилось новое измерение, недоступное традиционным «машинным» индексаторам, – ассоциативность. Теги также позволили реализовать в социальных программах рекомендательные функции. Теперь стало гораздо проще находить единомышленников и материалы по темам – системе достаточно отслеживать контент разных пользователей, помеченный одинаковыми тегами, и отправлять подписчикам сообщения об обновлениях. Не стоит забывать и о том, что пользоватеьские теги становятся бесценной информацией для совершенствования алгоритмов поиска. Этим, например, активно пользуется Yahoo!.
Очень удобным средством визуализации популярности тех или иных ключевых слов стали облака тегов, в которых шрифт, цвет или размер текста зависит от частоты использования конкретного тега в данном сообществе.
Однако теги не являются панацеей от всех бед систематизации сетевого контента. Далеко не всем хватает времени и терпения на качественное описание своих многочисленных файлов, к тому же взгляды пользователей на то, что является наиболее важным и интересным в одном и том же документе, могут довольно сильно различаться.

Ruby on Rails
Возможно ли написать движок для блога за 15 минут? Или интернет-поисковик фотоснимков за 5 минут? Если вы отвечаете «нет», то вы, скорее всего, ничего не слышали о Ruby on Rails.
Это новый и постепенно набирающий популярность подход к быстрому проектированию веб-приложений, а также набор соответствующих инструментов разработки, дополненных языком программирования Ruby. На первый взгляд, Ruby on Rails не предлагает каких-либо абсолютно новых инструментов, неизвестных в существующих пакетах веб-разработки. Отличие состоит в упрощении и ускорении разработки приложений, свойственных поколению Web 2.0.
Прекрасно сочетающиеся между собой и автоматически отслеживаемые в приложениях компоненты различного уровня, отсутствие конфигурационных файлов, замененных простыми соглашениями, наличие генераторов кода, инструментов, упрощающих работу с таблицами баз данных, радикально сокращенный цикл разработки и развертывания готового веб-приложения – это только краткий перечень средств Ruby on Rails, выделяющих эту технологию из ряда конкурентов.
Конечно, не все так безоблачно, у Ruby on Rails хватает «детских болезней» и критиков. Поэтому лучше всего просто познакомиться с этой технологией и составить собственное мнение, благо сейчас доступен вариант «быстрого старта». Это свободно распространяемый пакет Instant Rails (instantrails.rubyforge.org). Он включает все необходимое – от сервера до собственно среды Rails. Его установка элементарна – если вам не нужны какие-то специфические настройки, то достаточно просто распаковать архив и начать работать. UP

Никто не прокомментировал материал. Есть мысли?