КОНФЕРЕНЦИИ

Российские разработчики ПО никогда не были обделены вниманием местного отделения Microsoft. И все же, посещая различные технические мероприятия, проводимые в последние годы в основном в виде серии семинаров по городам страны, ветераны отечественного программистского сообщества порой с сожалением вспоминают о конференциях DevCon, проводившихся во второй половине 90-х годов прошлого века в подмосковном Обнинске. Действительно, одно дело - прослушать три-четыре обзорные презентации и совсем другое - получить за три дня весьма полное представление обо всем огромном комплексе средств разработки Microsoft, глубоко погрузиться в специализированные темы, пообщаться, в том числе и в неформальной обстановке, со специалистами корпорации, а самое главное - обсудить услышанное с коллегами. Недаром DevCon тех лет сыграл очень заметную роль не только в продвижении бизнеса Microsoft в России, но и в становлении отечественного программистского сообщества в целом.

Возможно, прислушавшись к этим пожеланиям, московский офис Microsoft решил провести эти летом двухдневную конференцию WebDevCon’06, которая прошла в конце июня в одном из пансионатов ближнего Подмосковья. Как нетрудно догадаться по названию мероприятия, его тематика была ориентирована на специалистов, которые причастны к созданию Web-приложений. Такая специализация форума вполне понятна: Web - это сегодня наиболее динамично развивающееся направление разработки приложений, многие грядущие технологии и инструменты Microsoft связаны именно с ним. К тому же нужно учитывать, что круг сегодняшней Web-разработки, скорее всего, существенно шире, чем вся проблематика программирования десятилетней давности.

Шон Бурке представил стратегию

развития Web-технологий Microsoft

В целом тематика WebDevCon была рассчитана на основные целевые группы Web-специалистов: разработчиков, дизайнеров и Web-администраторов. 35 представленных докладов были разбиты на три соответствующие секции (число участников-слушателей - около 200 человек). Но на самом деле все выступления шли вперемешку в четыре параллельных потока и разобраться в последовательности обсуждения тех или иных тем было не очень просто. В принципе все желающие могут познакомиться с программой конференции и основными прошедшими там презентациями на сайте www.microsoft.com/rus/events/webdevcon06. Я же сейчас хотел бы остановиться на некоторых общих впечатлениях от WebDevCon.

Куда движутся Web-технологии Microsoft

В комплексе Web-технологий Microsoft, наверное, можно выделить четыре ключевых компонента:

- ASP.NET - собственно технология создания Web-приложений, которая в свою очередь является составной частью .NET Framework;

- Visual Studio - ключевой инструмент создания Web-приложений;

- Internet Explorer - Web-браузер, клиентское пользовательское средство для работы с Web-сайтами и Web-приложениями (разумеется, не только архитектуры Microsoft ASP.NET);

- Internet Information Server (IIS) - сервер исполнения ASP-приложений.

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

Пульт управления презентациями

Основной акцент на WebDevCon был сделан на технологиях, которые ожидаются в недалеком будущем, а пока имеются их бета-версии. Были представлены IE 7 (обзор его новшеств см. PC Week/RE, N 17/2006, с. 1) и IIS 7 (о нем мы расскажем в следующих номерах), но все же эти продукты интересны в первую очередь для конечных пользователей и администраторов. Разработчиков же интересует больше развитие самой ASP.NET и инструментальных средств.

Кратко охарактеризовать этот процесс можно так.

1. Совершенствование методов реализации Web-приложений связано с использованием технологий Atlas/AJAX, Windows Presentation Foundation/Everywhere, а затем - и всего комплекса .NET 3.0 (см. PC Week/RE, N 23/2006, с. 26).

2. В инструментальных средствах Microsoft происходит выделение достаточно самостоятельного направления по созданию клиентской части приложений. Соответственно здесь резко повышается роль дизайнеров пользовательского интерфейса, которым Microsoft предлагает новый набор инструментов Expression Designers.

ASP.NET 3.0 = ASP.NET 2.0 + Atlas ?

Сейчас ASP.NET представлена версией 2.0, выпущенной в ноябре 2005 г. И по состоянию на сегодня складывается впечатление, что пока главным направлением развития ASP.NET является интеграция с технологией AJAX, которая в исполнении Microsoft реализуется в виде проекта Atlas. Так что будет неудивительно, если, выпустив окончательную версию Atlas (это, возможно, произойдет в конце года), Microsoft объявит, что ASP.NET 3.0 = ASP.NET 2.0 + Atlas.

О перипетиях событий на фронте AJAX, с упоминанием об Atlas, мы уже не раз писали (см. PC Week/RE, N 20/ 2006, с. 25) и будем писать, так как реальная борьба тут только развертывается. Напомним все же, что ключевая идея AJAX - это перенос части функциональности Web-приложений с серверной части на клиентскую. Соответственно применение этой технологии позволяет приблизить программы, исполняемые в среде браузера, по своим возможностям, в том числе по насыщенности пользовательского интерфейса, к "толстым" приложениям, например Windows. Собственно, активность Open AJAX Alliance во главе с IBM по продвижению AJAX объясняется во многом как раз намерением сделать еще одну решительную попытку по переводу клиентских рабочих мест из Windows в среду платформенно-независимых браузеров.

Аудитория

В несколько упрощенном виде реализация Atlas заключается в создании дополнительного набора библиотек для ASP.NET (Atlas Framework), которые обеспечивают исполнение AJAX-приложений в среде Web-браузера (рис. 1). В настоящее время проект представлен предварительной бета-версией*1 и с возможностями этой технологии могут познакомиться все желающие (http://atlas. asp.net). Там же можно скачать Atlas Control Toolkit, который включает набор готовых элементов управления и позволяет создавать собственные подобные компоненты. Как было заявлено на WebDevCon, окончательный вариант Atlas выйдет до конца нынешнего года.

_____

*1 30 июня была опубликована очередная промежуточная версия Atlas - June CTP.

Рис. 1. Использование ПО Atlas для создания AJAX-приложений

В общем-то по технике применения Atlas все достаточно понятно. Хотя несколько насторожило то, что при создании примеров на WebDevCon значительный объем работы выполнялся "руками", непосредственным написанием кода (хотя, возможно, это нужно было для иллюстрации идей).

Но главный вопрос - как эта технология будет поддерживаться в среде других, не-Microsoft’овских, браузеров? Хотя все используемые в основе AJAX технологии являются стандартными (JavaScript и пр.), но пример Atlas, который разрабатывается уже больше года, показывает, что обеспечение совместимости даже с собственным IE является совсем непростым делом. А судя по высказываниям докладчиков Microsoft, серьезного тестирования в среде конкурирующих браузеров еще не было. Но даже если проблем с физической совместимостью не будет, нужно еще утрясать вопросы лицензирования технологии Atlas при ее использовании в продуктах других поставщиков.

APS.NET 4.0 = ASP.NET 3.0 + WPF/E?

Вторая "горячая" тема WebDevCon - использование технологии Windows Presentation Foundation (WPF), являющейся одним из компонентов среды .NET 3.0 (WinFX), которая будет доступна в окончательном виде уже в этом году в составе Windows Vista и как автономный набор в текущих версиях Windows XP и Windows Server 2003. О революционности WPF можно судить хотя бы из того факта, что это первое реальное обновление технологической среды пользовательского интерфейса со времени выпуска Windows 95.   

В целом уже давно известно, что одним из ключевых новшеств WPF является переход на декларативную модель описания пользовательского интерфейса на базе языка XALM. Надо сказать, что идея сама по себе далеко не нова. В качестве простого примера можно привести инструмент той же Microsoft под названием Visual Basic: в течение первых 10 лет его жизни, до выпуска версии .NET, описание форм и всех ее элементов хранилось в текстовом формате и могло редактироваться, скажем, в Notepad.

Разумеется, WPF реализует концепцию декларативного описания на качественно более высоком уровне, в том числе с учетом новых возможностей техники. Так вот, если говорить о более глубинных инновациях WPF, то, наверное, самым важным является переход от растровой графики к векторной, позволяющий создавать более эффективные и насыщенные 2D- и 3D-интерфейсы (рис. 2).

Рис. 2. С помощью WPF можно делать надписи под любым углом и даже в виде

зеркального отображения

Создание WPF потребовало от Microsoft полностью переработать ядро подсистемы, отвечающей за пользовательский интерфейс, и это оказалось весьма сложной задачей. Это видно хотя бы по тому, что с момента представления первого прототипа WPF прошло уже почти три года, а более-менее устойчивая ее бета-версия появилась лишь год назад. Как можно понять из комментариев представителей корпорации, во многом это объяснялось тем, что в ходе выполнения этого проекта менялись концептуальные подходы к его реализации и даже команды его разработчиков...

Но какое отношение WPF, компонент платформы Windows, имеет к Web-разработке? Самое прямое. Дело в том, что в своем нынешнем виде WPF можно назвать альтернативным вариантом DHTML и JavaScript, используемым в Web-разработке применительно к Windows Forms. Но в будущем по замыслу Microsoft WPF должен объединить создание Windows- и Web-приложений на общей технологической базе. Конкретным шагом в этом направлении должно стать появление отдельного набора Windows Presentation Foundation Everywhere (WPF/E) - портируемого подмножества WPF (облегченный вариант WPF), которое сможет действовать на различных платформах (Web-браузеры, другие ОС и миниатюрные устройства). Как было объявлено на WebDevCon, по состоянию на сегодняшний день планируется, что WPF/E будет поддерживать браузеры IE 5.5+ (и старше), Mozilla 1+, Firefox 1+, Opera 7+, Safari 1+, а также ОС Windows 2000+ (может быть даже Windows 9x) и Mac OS X 10. В качестве кандидатов также рассматриваются Linux и Solaris.

Как WPF/E-приложения будут функционировать в среде других ОС, пока не очень понятно, так как этот набор API реализует только функции пользовательского интерфейса, что для создания полноценной программы явно недостаточно. А вот схема Web-разработки выглядит уже достаточно продуманной. В общем виде суть заключается в том, что передаваемая в браузере HTML-страница может содержать код не только JavaScript, но также XAML и IL (промежуточный язык для .NET - C#/VB.NET). При этом JavaScript и XAML могут передаваться непосредственно внутри HTML-страницы (в этом случае доступ к WPF/E выполняется через JavaScript). Другой вариант - это передача XAML и IL в виде внешних пакетов, при этом для их обработки контейнер (браузер) должен вызвать соответствующий модуль расширения WPF/E, который, в свою очередь, будет выполняться в среде исполнения .NET Framework.

Идея WPF/E, конечно, тоже не нова, речь тут идет о создании некоторой кросс-платформенной виртуальной WPF/Е-машины, которая будет исполнять программный код, передаваемый через Интернет, в безопасном управляемом окружении. Вспомним хотя бы то, что именно с этого начинала в 1995 г. Java со своей технологией аплетов. Нечто похожее и Microsoft уже предлагала в 1999 г. - DHTML-приложения, создаваемые на VB6 и требующие для работы в среде браузера моделей исполнения VB.

Разумеется, реализация WPF/E-приложений содержит много новых решений, но в данном случае хотелось бы обратить внимание не на технологический, а на маркетинговый аспект этого шага Microsoft. Ведь, кажется, впервые корпорация пытается выйти в применении своей .NET-архитектуры за рамки Windows. И как это будет выглядеть на практике - большой вопрос. Не станет ли WPF/E "троянским конем", с помощью которого Microsoft будет продвигать свои технологии на конкурирующие платформы? Остановится ли Microsoft на презентационном слое API или будет пытаться портировать и другие компоненты .NET? Поддержат ли технологию WPF/E поставщики альтернативных браузеров и ОС?

Вопросов тут много и, похоже, сама Microsoft еще не до конца определилась с ответами на них. Видимо, поэтому как раз во время проведения WebDevCon стало известно, что объявленный ранее график выпуска WPF/E (предварительная версия - III квартал нынешнего года, окончательные Web- и Device-версии - соответственно первая и вторая половины 2007-го) смещается на полгода.

Пополнение инструментальных средств: Expression Designers

В течение последних 10 лет практически все технологии разработки Microsoft строились на базе Visual Studio, который постоянно пополнялся все новыми и новыми инструментами. Но сейчас наступил тот момент, когда вести весь цикл создания ПО в рамках одного пакета уже просто нецелесообразно.

Темпы развития Internet Explorer

     Вот даты выпуска основных версий Web-браузера Microsoft:

    

1.0

1995, август

2.0

1995, ноябрь

3.0

1996, август

4.0

1997, октябрь

5.0

1999, март

5.5

2000, июль

6.0

2001 , октябрь

7.0

2006, осень

Такое впечатление, что в начале века развитие клиентских Web-технологий просто остановилось. Хотя можно предложить другое объяснение: к 2000 г. IE в многолетней гонке на выживание окончательно одолел NetScape Navigator и занял доминирующее положение на рынке. Теперь можно было не спешить с обновлением... Правда, за последние пару лет конкуренция среди Web-браузеров опять обостряется, так что, наверное, обновляться IE придется быстрее.

    

В результате углубления системы разделения труда в разработке программ в последние годы в качестве отдельного направления выделился процесс создания пользовательского интерфейса, который выполняется совместными усилиями дизайнеров и программистов*1. Учитывая это, Microsoft решила предложить новый набор инструментов для дизайнеров под общим названием Expression (www.microsoft.com/ expression), который сегодня включает три продукта: Graphic Designer (профессиональная работа с графикой), Interactive Designer (проектирование пользовательского интерфейса приложений) и Web Designer (организация Web-сайтов).

_____

*1 В этом плане весьма характерно, что делегацию докладчиков из Редмонда возглавил Шон Бурке, который в подразделении средств разработки .NET занимает должность Director of Agility (директор по проворству). В его функции входит анализ того, как новые Web-технологии улучшают восприятие информации в Интернете, влияют на принятие решений пользователями о покупках через Web, снижают затраты на разработку и поддержку ПО, повышают доходы компаний-заказчиков.

Предварительные варианты этих продуктов Microsoft показала еще год назад, сейчас они представлены бета-версиями, а в окончательном виде должны появиться, судя по всему, одновременно с выходом следующей версии Visual Studio "Orcas" (т. е. через 6-9 месяцев после Windows Vista).

Темы и докладчики WebDevCon’06

На WebDevCon’06 выступила весьма представительная группа докладчиков - почти 25 человек. Конечно, в таком широком представительстве разных специалистов есть плюсы, но это создает и проблемы, которые были заметны и в данном случае. При ограниченном времени на подготовку мероприятия трудно избежать дублирования тем. Разумеется, "повторенье - мать ученья" и рассмотрение одной темы с разных точек зрения является даже очень полезным. Но все же лучше, чтобы такие выступления были логически связаны между собой и реализованы на примерно одном качественном уровне. К тому же, как мне показалось, программа выступлений получилась несколько сумбурной, и поэтому участникам было непросто выстроить собственную цепочку "прослушиваний" для последовательного погружения в тему.

Среди докладчиков выделялись две группы. Первая - это команда из восьми разработчиков из Редмонда, штаб-квартиры Microsoft, во главе с директором группы разработки .NET Шоном Бурке. Собственно, именно американские сотрудники представили ключевую технологическую линейку докладов о новейших технологиях Microsoft для Web (Internet Explorer 7, Atlas/AJAX, Windows Presentation Foundation, Windows Communication Foundation, Internet Information Server 7). По стилю и тематике выступления в эту команду органично вписались эксперт по архитектуре ПО из московского офиса Microsoft Александр Ложечкин и руководитель департамента проектного консалтинга компании "Квазар-Микро" Денис Пасечник.

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

Особо хотел бы отметить, что среди заокеанских визитеров половину представляли наши соотечественники (в основном - бывшие). В этой связи сразу вспомнилась наша беседа с генеральным директором "Microsoft/Россия" Биргером Стеном полгода назад (см. PC Week/RE, N 9/2006, с. 41). Тогда он сказал о том, что хотел бы привлекать в Москву россиян, которые уже давно трудятся за рубежом, как с кратковременными деловыми визитами, так и на постоянную работу (В Редмонде, в штаб-квартире Microsoft, работает около 400 специалистов из бывшего СССР.) Судя по всему, WebDevCon стал одним из первых проектов реализации этих планов, и нужно сказать, что это было действительно очень полезно. И речь тут идет даже не о языковом барьере (большинство участников слушали доклады американцев, не прибегая к помощи переводчиков), а о качественно новом эффекте передачи "западных" передовых идей с учетом местного менталитета. Не говоря уже о более широких возможностях контактов в кулуарах...

Честно говоря, демонстрация возможностей Web Designer на меня не произвела особого впечатления, так как он больше напомнил просто обновленный вариант FrontPage (хотя, должен признаться, что я не очень сильно разбираюсь в проектировании Web-сайтов). А вот Interactive Designer - это, с учетом новшеств WPF, действительно полезная вещь. Но судя по краткой демонстрации этого инструмента на WebDevCon, разработчикам Microsoft еще нужно потрудиться над ним, чтобы довести "до ума". Тут видится несколько проблем. Во-первых, надо оптимальным образом распределить инструментальные средства между Visual Studio и новым конструктором (в него уже перекочевали некоторые компоненты, которые ранее планировались в Orcas). Во-вторых, необходимо более четко определить логику взаимодействия дизайнеров и разработчиков в ходе реализации конкретных проектов. И наконец, решить вопросы повышения скорости работы визуального конструктора при работе с новым ядром векторной графики.

Не только технологиями...

WebDevCon представила достаточно полный обзор новых технологий Microsoft в сфере Web-разработки (мы тут рассказали лишь о темах, затронутых в семи докладах из 35!). И все же, несмотря на обилие информации, может быть, даже чрезмерное ее количество, осталось чувство какой-то незавершенности содержательной части конференции. Как мне кажется, за плотной программой докладов организаторы упустили из виду вторую (а может быть, и первую по значимости) составляющую подобных мероприятия: общение участников - докладчиков и слушателей - для обсуждения как технологических, так и маркетинговых аспектов различных тем форума.

В этой связи опять хотелось бы сказать о былых обнинских DevCon’ах, которые до сих пор помнятся своими дискуссиями - как в виде формальных встреч, так и кулуарных бесед. И пожалеть, что анонсированные на раннем этапе подготовки WebDevCon круглые столы в ее программу так и не попали. Кстати, на слабую интерактивную связь с аудиторией сетовали на этот раз и американские докладчики, которым хотелось лучше узнать интересы сообщества российских разработчиков. Да, и журналистам это очень важно - тогда бы вопросов, на которые в этой статье не даны ответы, было бы меньше.