`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Коктейль из Web: визуальное программирование в Сети

Статья опубликована в №35 (603) от 18 сентября

+11
голос

В феврале этого года публике был представлен довольно любопытный сервис Yahoo! Pipes, сразу же вызвавший волну положительных отзывов первых тестеров. Однако обратили внимание на него и основные конкуренты компании, которые весьма пристально следят за инициативами друг друга и не позволят так просто кому-то вырваться вперед. Соответственно, сегодня подобные разработки уже имеются в арсенале и Microsoft, и Google.

Трубы Интернета

Коктейль из Web визуальное программирование в Сети
Содержимое популярного проекта на Yahoo! Pipes размещается на одном экране и доступно для понимания непрофессионалу

Yahoo! позиционирует Pipes как доступный непрофессионалам сервис, позволяющий в визуальном режиме запрашивать информацию от RSS-каналов, обрабатывать ее и выводить практически в любом удобном виде. Полученные результаты (к тому же динамически обновляющиеся) можно внедрить в свой сайт или сделать общедоступными на pipes.yahoo.com.

Как утверждают разработчики Pipes, основная идея их проекта и даже название позаимствованы из операционной системы UNIX, использующей каналы перенаправления потока вывода одной команды на вход другой. Соединяя последовательно несколько команд, можно решать достаточно нетривиальные задачи, которые в противном случае требовали бы применения полноценного программистского инструментария. Ряд тестеров сервиса даже усмотрели в нем революционную технологию, способную изменить взаимодействие с Интернетом, как в свое время реляционные базы данных изменили работу со структурированной информацией. Кстати, эта аналогия вовсе не случайна – Pipes действительно позволяет рассматривать Web в виде огромной базы данных и в визуальном режиме запрашивать из нее сведения, подобно тому как это делают визуальные конструкторы SQL-запросов.

Следует отдать должное создателям Pipes – они увидели до недавнего времени незанятую, но, похоже, весьма перспективную рыночную нишу, идея освоения которой лежала фактически на поверхности. Действительно, современная Всемирная Паутина представляет собой просто бездонное хранилище информации, чьи объемы увеличиваются всевозрастающими темпами. И многие не хотят быть пассивными наблюдателями происходящих процессов, а готовы принять активное участие в том, чтобы формировать потоки информации, смешивать их, выбирать самое интересное и представлять по-своему – одним словом, вмешиваться в работу Сети. Именно отсюда происходит и название проектов в Yahoo! Pipes: mashup – термин не имеет однозначного перевода, но его можно толковать как «смесь», «коктейль», т. е. получение нового качества в результате смешения разнородных составляющих.

Таким образом, Pipes по праву можно считать настоящим Web 2.0-проектом, тем более что в его рамках довольно изящно решена непростая задача – предоставлен доступный (т. е. в первую очередь простой) самым широким массам пользователей Интернет, но в то же время мощный и гибкий инструмент программирования.

Сейчас на сайте pipes.yahoo.com предлагается огромное число проектов, многие из которых являются гораздо большим, чем простым «развитым RSS-агрегатором». Хотя последние, безусловно, превалируют, что обусловлено основным позиционированием Pipes. Тем не менее сами создатели сервиса предлагают следующие сценарии его использования:

  • организация различных новостных лент за счет комбинирования, сортировки и фильтрации источников, а также применение возможностей автоматического переводчика;
  • отображение информации на интерактивных картах, предоставляемых картографическими сервисами;
  • объединение различных источников данных для создания новых Pipes-приложений;
  • создание «виджетов» для собственных сайтов;
  • подключение к каналам вывода других Pipes-приложений для реализации любых интересных идей.

Отметим, что сервис все еще находится на стадии бета-тестирования и его возможности постоянно расширяются, притом нередко новые сценарии применения предлагают даже не разработчики, а сами пользователи.

Создание проектов в Yahoo! Pipes происходит путем размещения необходимых модулей в рабочем пространстве, установки требуемых параметров и соединения их между собой «трубами», которые отражают пути прохождения информационных потоков. Модули разбиты по категориям в зависимости от функционального предназначения: источники данных, обработчики, картографические элементы и т. п. К сожалению, при построении проекта доступны только модули, подготовленные командой специалистов Pipes, создание собственных, по крайней мере, по состоянию на текущий момент, не допускается. Отчасти этот недостаток компенсирует возможность применения в качестве строительных блоков готовых проектов.

Пользователям доступно большое число источников – помимо RSS-лент, это могут быть данные, извлеченные из CSV/XML-файлов, результаты работы Web-сервисов или некоторых популярных информационных служб, принадлежащих Yahoo! (к примеру Search, Local или Flickr), либо даже сторонних, вроде Google Base. При необходимости дополнительные параметры запрашиваются у пользователя. Имеется и изрядное количество обработчиков собранной информации, начиная с достаточно тривиальных с точки зрения программирования, к примеру, фильтров, сортировок, отсекания лишних элементов, до весьма оригинальных – наподобие модуля извлечения географических данных, возвращающего координаты, пригодные для позиционирования на карте. Расширяется спектр доступных в Pipes операций путем создания собственного Web-сервиса, через который, как через мясорубку, можно в прямом смысле «пропустить» данные – для этого также имеется специальный модуль.

К несомненным преимуществам Yahoo! Pipes следует отнести использование современных стандартов представления информации – поддерживаются практически все популярные XML-форматы, в частности RSS 1.0/2.0, Atom, JSON, а также некоторые другие.

Все доступные публике решения на платформе Yahoo! Pipes позволяют ознакомиться со своим внутренним устройством – конечно, имеется в виду возможность открыть проект в визуальном редакторе, а не просмотреть некий исходный код. Их также можно клонировать, т. е. создавать точные копии для последующей модификации по собственному усмотрению (похоже, проблемой авторского права здесь пока не обеспокоены). Также результаты работы существующих проектов можно применять в качестве исходных данных для своих, однако в такой ситуации нужно быть полностью уверенным, что автор не внесет в них никаких изменений, способных повлиять на окончательный результат – в противном случае следует прибегнуть именно к клонированию. Помимо публичных, на Pipes можно создавать и недоступные для случайных посетителей проекты – их точный URL будет известен только автору, а использовать их допускается на собственных сайтах, не афишируя средства, с помощью которых они были разработаны.

Подводя итог нашему короткому знакомству с Yahoo! Pipes, следует согласиться с тем, что сервис получился интересным, инновационным и, самое главное, – востребованным, что можно сказать далеко не о каждом проекте, претендующем на соответствие концепции Web 2.0.

Гламурный утенок

Коктейль из Web визуальное программирование в Сети
Подобно детскому конструктору проекты в Microsoft PopFly создаются из кубиков, но решать с их помощью можно совсем не детские задачи

Проект Microsoft PopFly (popfly.ms) интересен тем, что преследует сразу две важные цели – он призван, во-первых, конкурировать с Yahoo! Pipes, а во-вторых – популяризовать разработку на основе Silverlight в противовес Adobe Flash.

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

Прежде чем перейти к более детальному рассмотрению PopFly, следует отметить, что с первых минут знакомства с ним возникает ощущение дежа-вю – настолько новый проект от Microsoft походит на Yahoo! Pipes. Но, тем не менее, как мы далее убедимся, он отличается от Pipes в значительно большей степени, чем может показаться поначалу.

Если Pipes в основном реализует идею «развитого RSS-агрегатора», то PopFly старается предложить возможности визуального создания Web-проектов различного уровня сложности и назначения. При этом особый упор в PopFly сделан именно на визуализации, что и не мудрено, поскольку тягаться в этом отношении приходится с Flash.

Коктейль из Web визуальное программирование в Сети
Сильная сторона Microsoft PopFly – богатые возможности визуального представления информации

PopFly дает возможность создавать три типа проектов: mashup, Web-страницы и блоки. Первые можно рассматривать как прямой аналог конструкций Pipes, позволяющий полностью визуально соединять между собой источники данных, различные обработчики и фильтры, через которые эти данные проходят, а также средства вывода, предназначенные для их отображения. При этом формирование проекта, в отличие от Pipes, осуществляется не на плоскости, а в псевдотрехмерном пространстве, где пользователь размещает объекты и определяет связи между ними. Здесь можно манипулировать блоками (аналогичными модулям в Pipes, но изображаемыми кубами), представляющими службы, и соединять их линиями, обозначающими пути прохождения данных. При этом большинство служб поддается настройке, о чем говорит символическое изображение гаечного ключа рядом с кубом.

Создание mashup-проектов – занятие достаточно увлекательное, процесс сопровождается впечатляющими визуальными спецэффектами (редактор являет собой Silverlight-приложение, исполняющееся в браузере), самое главное – освоиться с базовыми принципами работы, которые в значительной мере схожи с работой в Pipes. Впрочем, в отличие от Pipes в PopFly можно применять не только стандартные блоки, предоставленные разработчиками сервиса (они помечены логотипом Microsoft), но и компоненты, созданные самими пользователями. Притом никаких принципиальных различий между первыми и вторыми нет, а важнейшей характеристикой, пожалуй, является пользовательский рейтинг – нередко среди самых популярных оказываются именно сторонние разработки.

Как и в Pipes, источниками в PopFly могут быть новостные ленты, информация с популярных сайтов, локальные данные и пр., но, что выгодно отличает проект от Microsoft, так это невероятное разнообразие возможностей графического представления результата. В распоряжении пользователя имеется множество различных галерей спецэффектов для вывода изображений, настраиваемый видеопроигрыватель, эффектные таблицы, диаграммы, индикаторы – и это далеко не полный перечень доступных заготовок.

Таким образом, PopFly позволяет не просто «перемешать», отфильтровать и обработать информацию, но и представить результат весьма эффектно, что и является основным козырем данного сервиса по сравнению с Pipes.

Сценарии применения mashup-конструкций в PopFly, подобно Pipes, не ограничены только предоставлением доступа к проектам исключительно в рамках самого сервиса и соответствующего сайта. Пожалуй, наиболее привлекательным вариантом является создание интерактивных элементов и внедрение их в другие сайты, для чего в PopFly имеется возможность переноса кода, полностью подготовленного для внедрения в HTML-страницу, методом «скопировать-вставить». Поддерживаются и другие варианты публикации готовых проектов, например, их можно оформить в виде гаджета для ОС Windows Vista.

Коктейль из Web визуальное программирование в Сети
Визуальный редактор Web-страниц в Microsoft PopFly не уступает по возможностям многим своим настольным аналогам

Следующий тип проекта – Web-страницы. Фактически PopFly реализует визуальный конструктор сайтов, по своим возможностям не уступающий многим настольным приложениям аналогичной направленности, хотя и не обладающий всей функциональностью, присущей профессиональным инструментам. Удобный редактор, интерфейс которого выполнен в стиле Microsoft Office 2007, позволяет конструировать довольно сложные страницы без необходимости редактирования исходного HTML-кода (хотя такая возможность также имеется), а большое число доступных шаблонов и тем оформления помогают добиться привлекательного внешнего вида. Также редактор позволяет внедрять в страницы mashup-элементы, имеющие опубликованный статус.

Третий тип проекта в PopFly – пользовательские блоки. Их создание происходит в текстовом редакторе, открываемом в окне браузера, который, помимо разработки «с чистого листа», также позволяет просмотреть исходный код любого из существующих блоков и адаптировать его на свое усмотрение. В помощь разработчику доступен для загрузки небольшой SDK, содержащий необходимую документацию и примеры. Поскольку средой для исполнения проектов в PopFly выступает Silverlight, то исходный код блока состоит из двух составляющих: XAML-описания и программного кода на JavaScript. У тех, кто уже успел познакомиться с Silverlight, процесс создания блоков для PopFly не вызовет никаких сложностей. Вероятно, с развитием технологии Silverlight, поддерживающей подмножество .NET Framework, разработку для PopFly можно будет вести и с использованием популярных .NET-языков.

Отметим, что возможность создания собственных блоков пользователями сервиса была воспринята с большим энтузиазмом, число сторонних разработок со временем увеличивается огромными темпами, и уже сейчас, даже когда PopFly еще закрыт для публичного доступа, их количество значительно превышает число модулей в Pipes.

Одно из наиболее явных конкурентных преимуществ Microsoft состоит в широких возможностях по интеграции продуктов и сервисов с целью продвижения одних за счет известности и распространенности других. Не преминула компания прибегнуть к этому излюбленному приему и в отношении PopFly – пользователи Visual Studio смогут установить расширение, которое позволяет непосредственно из IDE подключаться к сервису PopFly и удаленно редактировать проекты, а также обмениваться ими с коллегами или осуществлять разработку совместно. На текущий момент готова альфа-версия этого расширения, под названием PopFly Explorer, предназначенного для применения с Express-версиями Visual Studio 2005. Следует обратить внимание, что каждый пользователь PopFly получает выделенное пространство на сервере, где он может размещать свои проекты (сейчас этот объем составляет 25 MB). В настоящее время команда разработчиков PopFly рассматривает возможность расширения функциональности PopFly Explorer с тем, чтобы с его помощью можно было загружать любые проекты, поддерживаемые Visual Studio, а не только исходные файлы проектов PopFly. Если подобная функциональность действительно будет реализована, то это существенно повлияет на позиционирование PopFly – сервис сможет стать одним из крупнейших программистских сообществ, в котором участники станут обмениваться идеями и совместно работать над проектами.

Как мы смогли убедиться, Microsoft PopFly вовсе не копирует Yahoo! Pipes – этот проект демонстрирует особый подход к решению той же задачи. При этом сервис Microsoft получился очень удачным, а его пользовательская аудитория наверняка не ограничится исключительно начинающими Web-разработчиками – к ним, без сомнения, примкнут и гораздо более опытные специалисты, которым PopFly поможет «малой кровью» добиться эффектного представления информации.

Однако особенно перспективным PopFly выглядит в качестве среды разработки для онлайновых социальных сетей, в последнее время переживающих просто взрывной рост популярности. Уже сейчас данный сервис можно использовать совместно с Facebook, которая предоставляет возможность применения сторонних приложений и, по сути, является чем-то вроде ОС, работающей в Глобальной Сети. Кроме того, много доступных блоков PopFly предназначены для взаимодействия с онлайновыми игровыми проектами, к примеру, особенно популярен World of Warcraft. Теперь пользователи смогут приобщиться к развитию своих виртуальных систем, а не уповать на готовые решения, разработка которых до настоящего момента была уделом только профессионалов.

Нынешний логотип PopFly – розовый утенок, выделяющийся среди своих собратьев. И хотя Microsoft не первой стала осваивать нишу Web-конструкторов, способных кардинально изменить принципы программирования для Интернета, выделиться среди конкурентов ей, несомненно, удалось.

Инструмент профессионала

Google последней из «большой тройки» анонсировала свои разработки в области инструментария для создания mashup-конструкций, но зато предложила собственный оригинальный взгляд на решение этой задачи.

Видимо, в компании посчитали, что данной темой могут заинтересоваться не только начинающие программисты, но и профессионалы, и потому реализовали довольно мощный инструмент, лишенный ограничений упрощенных визуальных конструкторов и пригодный для воплощения любых идей по обработке информации, полученной из различных источников.

Так же, как и проект от Microsoft, Google Mashup Editor находится на закрытой стадии тестирования, однако составить впечатление о возможностях этого сервиса можно уже сейчас. Прежде всего отметим, что по своей философии он (googlemashups.com) близок к Yahoo! Pipes, поскольку фокусируется на обработке новостных подборок, подаче информации в виде RSS-лент или отображении ее на карте. В отличие от Microsoft PopFly, Google Mashup Editor не предполагает броского представления информации и не содержит необходимых для этого инструментов. Однако его сильная сторона, как и многих других решений от Google, заключается в подкупающей внешней простоте, за которой скрываются далеко не тривиальные возможности.

Коктейль из Web визуальное программирование в Сети
Простой интерфейс и неограниченные возможности – философия Google Mashup Editor

Итак, Google Mashup Editor предоставляет простой текстовый интерфейс для построения, отладки и развертывания mashup-конструкций. Редактор с подсветкой синтаксиса позволяет создавать новые проекты «с нуля» или загружать готовые, предлагаемые в качестве примеров. Несмотря на отсутствие визуальных инструментов, обычному Web-разработчику не составит труда освоиться в этой среде, поскольку иметь дело придется с хорошо знакомыми технологиями – XML, HTML, JavaScript, CSS. Можно также прибегнуть к наработкам Google в области AJAX и применять соответствующие элементы управления при конструировании пользовательского интерфейса – пусть результат получится не столь эффектным, как в PopFly, зато он может быть более практичным.

Помимо доступа к сервисам компании (Search, Base, Maps), Google Mashup Editor берет на себя всю ответственность за исполнение созданного приложения, в частности, обеспечивает хостинг, аутентификацию, доступ к хранилищам данных. Созданные решения могут внедряться в сторонние сайты, использоваться как источники для новостных лент или в качестве гаджетов Google.

Нетрудно заметить, что Google не пошла по пути, проторенному Yahoo! и Microsoft, а избрала собственный, двигаясь по которому она вполне может добиться успеха. В частности, не исключено, что относительно опытным Web-разработчикам предпочтительным покажется именно предложение Google – прежде всего за счет использования знакомых технологий.

Заключение

Итак, мы познакомились с различными взглядами на решение новой и интересной задачи по созданию mashup-конструкций. Несмотря на то что еще год назад о подобных проектах могли рассуждать только в узких кругах специалистов, сегодня уже доступны три сервиса с весьма отличающимся инструментарием. Это действительно здорово, что компании не стали слепо копировать идеи друг друга, а нашли собственные, достаточно оригинальные, пути решения одной и той же проблемы.

Компания Yahoo! стала здесь первопроходцем, а Pipes обладает простотой и наглядностью, однако уступает в гибкости проектам от Microsoft и Google, по сути, не допуская стороннего расширения. Впрочем, это вряд ли можно считать принципиальным недостатком, поскольку все же можно задействовать Web-сервисы, да и число стандартных модулей постоянно расширяется. Также не исключено, что со временем Yahoo! пересмотрит свою политику.

Проект Microsoft PopFly отличается наибольшей универсальностью, ориентирован как на начинающих пользователей, для которых предусмотрены два впечатляющих визуальных редактора, позволяющие создавать не только mashup-конструкции, но и полноценные сайты, так и на профессионалов, которые смогут разрабатывать собственные блоки, реализуя любую функциональность, в том числе и с помощью Visual Studio.

PopFly на голову превосходит своих конкурентов в части визуального оформления, поскольку основан на платформе Silverlight. Но, с другой стороны, отчасти это является и слабой стороной проекта – Silverlight совсем недавно представлена публике, масштабы ее распространения пока весьма скромные, и во многих случаях предпочтительнее использовать именно стандартные способы подачи информации, не прибегая к расширениям браузеров.

Наконец, Google Mashup Editor не предоставляет никаких упрощенных визуальных конструкторов, но они и не нужны той категории пользователей, на которую ориентирован данный проект. Так же, как и в большинстве других сервисов Google, за его внешней простотой скрываются весьма мощные возможности. По сути, это полноценная среда разработки, отладки и исполнения Web-приложений, основанная на стандартных технологиях и предусматривающая доступ к многочисленным сервисам интернет-гиганта. Для профессионального Web-разработчика затраты усилий на освоение Google Mashup Editor будут минимальны, что наверняка обеспечит последнему высокую популярность.

В заключение отметим, что с появлением рассмотренных проектов мы наконец-то можем воочию убедиться в справедливости утверждения «сеть – это компьютер», к тому же доступный для программирования непрофессионалам – было бы только желание освоить соответствующий инструментарий.

e-mail автора:
koldovsky@koldovsky.com

+11
голос

Напечатать Отправить другу

Читайте также

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT