Microsoft PDC-2005
В середине сентября прошла очередная конференция Microsoft Professional Developer Conference PDC-2005. Это мероприятие предназначено в первую очередь для специалистов, занимающихся разработкой приложений. Microsoft PDC, в отличие от конференции TechEd, ориентированной на более широкий круг IT-специалистов, не имеет аналога в Европе и проводится не каждый год, а лишь тогда, когда у корпорации Microsoft появляется достаточно серьезный набор новых технологий как правило, радикально меняющих принципы разработки приложений или, как минимум, вносящих существенные изменения в возможности операционных систем. Так, четыре года назад подобная конференция была посвящена платформе Microsoft .NET, два года назад новому поколению серверных операционных систем семейства Windows.
а этот раз конференция PDC была посвящена ожидающемуся выходу операционной системы Windows Vista и входящей в ее состав Microsoft .NET Framework 2.0; Visual Studio 2005; новым технологиям, доступным индивидуальным и корпоративным пользователям; следующей версии Microsoft Office, выход которой ожидается примерно через год; новшествам Windows Server 2003 Release 2 и ожидающемся позже Windows Longhorn Server, а также ряду новых технологий, упрощающих разработку приложений. О Windows Vista и следующей версии Microsoft Office, а также о возможностях для повышения эффективности работы пользователей, которые предоставляют эти продукты, мы подробно расскажем в следующем номере нашего журнала. Visual Studio 2005 посвящен цикл статей Алексея Федорова, а кроме того, наши постоянные читатели имеют возможность непосредственно ознакомиться с этим продуктом: его составные части доступны в виде дополнительных компакт-дисков, прилагаемых к различным номерам нашего журнала. Windows Server 2003 Release 2 и Windows Longhorn Server мы, вероятно, также посвятим отдельную публикацию. А вот об остальном, что было продемонстрировано на PDC, мы расскажем ниже.
Проект LINQ
одавляющая часть коммерческих приложений, как известно, предназначена для работы с данными, и даже при самых современных технологиях доступа к данным эта задача простой отнюдь не является. Проект LINQ (Language Integrated Query) должен упростить создание и сопровождение таких приложений, позволив выполнять запросы к практически любым источникам данных (включая хранящиеся в памяти приложения коллекции и массивы, реляционные и иерархические базы данных) непосредственно в коде приложения, за счет включения соответствующих средств в Common Language Runtime. Подобная технология позволит, например, проверить корректность текста запроса непосредственно на этапе компиляции приложения и не переключаться при этом на другой язык (например, SQL или XQuery) при создании запросов.
Проект LINQ ориентирован на включение возможностей выполнения запросов в коде приложения в версии Visual Studio, которая последует за ожидающейся в этом году версией Visual Studio 2005, однако компилятор Visual Basic c поддержкой LINQ уже доступен для ознакомления на Web-сайте Microsoft.
Windows Workflow Foundation
indows Workflow Foundation модель программирования, набор классов и набор инструментов-дизайнеров для создания приложений, содержащих элементы документооборота и рабочих процессов. Windows Workflow Foundation поддерживает широкий спектр сценариев, описывающих порядок выполнения работ и их взаимосвязь, и когда созданный разработчиком сценарий описан в графическом дизайнере, то он выполняется внутри процесса Windows любого типа, например внутри процесса консольного или GUI-приложения, внутри службы операционной системы, внутри Web-службы или процесса Web-сервера. Отметим, что данная технология применяется в ряде продуктов Microsoft, в частности в BizTalk Server.
Workflow Designer
Microsoft Expression
овое семейство профессиональных инструментов для графического дизайна Microsoft Expression предназначено для создания Web-приложений и GUI-приложений для Windows Vista. В состав этого семейства входят три продукта: Microsoft Expression Acrylic Graphic Designer (редактор для создания графических изображений), Microsoft Expression Sparkle Interactive Designer (средство создания интерактивных приложений на основе средств Windows Presentation Foundation) и Microsoft Expression Quartz Web Designer (инструмент для дизайна Web-сайтов). Данное семейство продуктов, созданное с целью упростить взаимодействие разработчиков и дизайнеров, работающих над совместным приложением, характеризуется поддержкой полного спектра технологий, применяемых сегодня в графическом дизайне и в трехмерной анимации и графике, а также обладает средствами интеграции созданных растровых и векторных изображений, анимации и иного мультимедиа-контента с кодом приложений, созданных с помощью Visual Studio.
Microsoft Expression Sparkle Interactive Designer
Проект Atlas
ехнология создания Web-приложений ASP.NET, носящая кодовое название Atlas, основана на интеграции клиентских скриптовых библиотек с разработкой серверных ASP.NET-приложений. Указанные клиентские библиотеки поддерживают объектно-ориентированную разработку, асинхронные обращения к Web-службам, совместное применение с разными браузерами, а серверные компоненты способны генерировать клиентский код для этих библиотек. Atlas позволяет выполнять на клиенте значительную часть кода приложения без обращения к серверу (например, обновлять данные на Web-странице) и создавать с помощью этого интерактивные и удобные в применении приложения.
Технологии партнеров
онференции Microsoft по традиции сопровождаются выставками, где демонстрируются продукты и технологии как самой этой компании, так и ее партнеров, причем отнюдь не только американских. В их числе были Computer Associates, Intel, AMD, Hewlett-Packard, Oracle, Sybase, Compuware, ESRI, ATI Technologies, крупнейшие издательства, а также ряд компаний, специализирующихся на производстве дополнительных компонентов и утилит для платформы .NET, компиляторов, обфускаторов, отладчиков, средств тестирования и мониторинга приложений.
Выставка технологий Microsoft и ее партнеров
Из представленных продуктов нам показались интересными средства мониторинга приложений компании AVIcode, предназначенные для установки на уже внедренные приложения и позволяющие находить ошибки даже в том случае, когда пользователям запрещено абсолютно все, включая сохранение файла протокола. Хотелось бы обратить внимание читателей и на компилятор Pascal компании .RemObjects Software для платформы .NET: он во многом ориентирован на разработчиков, привыкших к синтаксису этого языка, и содержит много любопытных особенностей, таких, например, как реализованные на уровне компилятора средства работы с потоками и поддержка проекта Mono переноса .NET Framework в Linux. А уж о компонентах для .NET и говорить не приходится их было так много, что и не перечислить.
За пределами технологий
мериканские мероприятия подобного класса всегда великолепно организованы: там вполне комфортно и людям в инвалидных колясках, и лицам, страдающим диабетом или нуждающимся в специальных диетах. В Microsoft в дополнение ко всему позаботились и о тех, кто плохо знает английский язык, все пленарные доклады на PDC сопровождались субтитрами, которые создавались непосредственно в процессе доклада и демонстрировались на экране под изображением докладчика. Учитывая международный характер данной конференции, это, безусловно, полезное нововведение.
Из отрицательных моментов данного мероприятия следует в первую очередь отметить практическое отсутствие российских разработчиков. Это вызывает определенное удивление: если несколько лет назад рентабельность участия разработчика в подобном мероприятии еще могла вызывать какие-то сомнения, то сейчас стоимость и объем значительной части проектов, выполняющихся в нашей стране, таковы, что участие части их исполнителей в PDC не нанесет серьезного урона их бюджету даже с учетом транспортных расходов на поездку в Лос-Анжелес. При этом преимущества, приобретаемые от подобного участия, при грамотном его планировании могут с избытком окупить затраты.
Следует также отметить, что информация о новых технологиях, полученная именно в тот момент, когда о них объявлено их поставщиком, из уст непосредственных авторов технологий, несравнима ни с какими иными способами ее получения. Любые локальные мероприятия для разработчиков происходят со значительной задержкой во времени по отношению к PDC, и подавляющая часть материалов, доступных слушателям оригинальной конференции PDC, на них не освещается. Ни одно российское печатное издание не может позволить себе опубликовать материалы обо всем, что может представлять интерес для разработчиков. Кроме того, авторы технологий Microsoft только на этой конференции доступны для личного общения: ежедневно они по три-четыре часа отвечают на вопросы, выслушивают предложения, а если ваша компания хотела бы получить какие-либо возможности в будущих версиях продуктов Microsoft, то это именно такое место, где ваши пожелания, как и пожелания любого другого заказчика, будут услышаны и приняты к сведению.
В европейских компаниях нередко практикуется следующее. Из программы конференции заранее выбираются доклады, интересующие данную компанию, и на мероприятия отправляются те из сотрудников, кто способен на основании услышанного либо сформировать технологическую стратегию компании, либо как минимум внятно донести до коллег необходимые им сведения. В результате подобная компания приобретает такие технологические преимущества перед конкурентами, как своевременно полученные ее сотрудниками знания, не искаженные чужими пересказами.
Директор одного из крупнейших московских учебных центров как-то рассказал автору следующую притчу: дровосек пилит дерево тупой пилой и, когда ему предлагают заточить пилу, отвечает: «Мне некогда я же пилить должен...» Действительно, процесс разработки приложений во многих российских компаниях даже опытными разработчиками напоминает процесс распиливания деревьев тупыми пилами, ибо вкладывать средства в знания своих сотрудников руководители компаний хотят далеко не всегда, и разработчики выполняют проекты теми способами, которые им хорошо известны и проверены, до тех пор пока очередной заказчик не укажет пальцем на то, что выбранная технология просто устарела. Не очень опытные разработчики нередко ждут выхода русских переводов западных книг, далеко не всегда лучших (ведь книги для перевода выбирают издатели, а у них иные критерии), а более опытные разработчики читают пересказы докладов в блогах, но ведь любой пересказ по определению не может соответствовать оригиналу на сто процентов. И в результате неправильно осуществляется выбор технологий, решений, алгоритмов, пишется код, который либо идеологически неверен, либо вообще не должен быть написан. А последствия создания неправильного кода могут обойтись дороже, чем своевременное получение знаний. Так что пора, наверное, всерьез подумать «о заточке пил»…