`

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

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

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

Best CIO

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

Человек года

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

Продукт года

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

 

Windows Vista как платформа для приложений нового типа

Статья опубликована в №46 (565) от 5 декабря

0 
 

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

Напомним, что Windows Vista – первая ОС от Microsoft, значительная часть которой реализована в виде управляемого кода. Третья версия .NET Framework, известная ранее как WinFX, является стандартным компонентом Windows Vista, хотя доступна для установки и на предыдущие релизы Windows. Впрочем, несмотря на то что нынешний выпуск платформы .NET вышел под отдельным номером, следует отметить, что, по сути, он основан на .NET Framework 2.0, но дополнен такими технологиями, как Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Workflow Foundation (WF) и Windows CardSpace (WCS). С большинством этих компонентов мы уже знакомили наших читателей (itc.ua/21783, itc.ua/ 23217), теперь же обсудим их с точки зрения конкретных преимуществ для разработчиков.

Windows Vista как платформа для приложений нового типа
SDK для Windows Vista содержит огромное количество примеров, демонстрирующих технологии новой ОС

В начале ноября Microsoft разместила на своем сайте SDK для Windows Vista. Несмотря на то что этот пакет, помимо прочего, содержит инструментарий для построения традиционных Windows-приложений, его основным предназначением является использование совместно с Microsoft Visual Studio 2005 для разработки ПО на основе .NET Framework 3.0 для Windows Vista. Размер ISO-образа SDK превышает 1 GB, а объем проделанной работы косвенно иллюстрирует количество включенных примеров (см. табл.) – оно свидетельствует в пользу гигантского числа изменений и дополнений в ОС. Несложно также заметить, что в качестве основного инструмента корпорация продолжает продвигать язык C#, а наибольшее внимание уделено WPF, что и неудивительно, поскольку приложения «нового типа», несомненно, будут встречать по одежке.

«Богатый» интерфейс на базе WPF

WPF в прямом и в переносном смысле слова является самым заметным нововведением Windows Vista. Если говорить о значении этого компонента для разработчиков, то можно констатировать наступление новой эры в сфере создания пользовательских интерфейсов для Windows-платформы. А чтобы данное утверждение не показалось голословным, следует привести некоторые исторические справки.

Первым официальным способом создания GUI в Microsoft Windows был интерфейс WinAPI, отличавшийся чрезвычайной сложностью и запутанностью, в результате чего такими же были и построенные на его базе решения. Появление MFC улучшило ситуацию, но поскольку в основе этой библиотеки лежал все тот же WinAPI, то его недостатки неизбежно отражались на программах. Одно время казалось, что Microsoft осознает предыдущие ошибки и предоставит современный инструментарий для создания GUI, лишенный прежних недочетов, в рамках .NET Framework. Однако чуда снова не произошло. Для .NET появилась библиотека Windows Forms, больше похожая на VCL от Borland, чем на предыдущие разработки самой Microsoft, и фактически не привнесшая ничего принципиально нового.

Windows Vista как платформа для приложений нового типа
Технологии .NET Framework 3.0 доступны не только для Windows Vista, но и для предыдущих версий Windows

Переломным моментом стал именно выпуск WPF, инфраструктуры, способной действительно существенно повлиять на качество и характер создаваемых интерфейсных решений. Вот почему представители Microsoft, говоря о приложениях «нового типа», платформой для которых и должна стать Windows Vista (или на худой конец .NET Framework 3.0), в первую очередь упоминают развитые («богатые») средства взаимодействия пользователя с программой и представленной в ней информацией.

Основным источником таких «революционных преобразований», несомненно, является новый спроектированный с нуля векторно-трехмерный движок, на котором и основана WPF. Благодаря ему все изображения компонуются в так называемом «graphics retained mode» из трехмерных и векторных примитивов (они, в свою очередь, могут быть сформированы декларативным или процедурным способом), а растеризация осуществляется посредством DirectX. При соблюдении определенных условий данные операции будут выполняться графическим процессором, что мы и видим на примере Aero. Все это очень напоминает функционирование движков, применяемых в трехмерных компьютерных играх, и имеет мало общего с прежними концепциями GUI от Microsoft.

Примечательный момент в WPF – декларативный, основанный на XML язык XAML, прежде всего предназначенный для описания интерфейса приложений. Его использование позволяет сделать процесс проектирования GUI гораздо более логичным, поскольку таким образом просто описывается то, что должно быть получено в результате. Другое важное преимущество XAML состоит в возможности безболезненного выделения разработки интерфейса в отдельный процесс, которым могут заниматься графические дизайнеры, совершенно не связанные с программированием.

Хотя построение GUI, как мы уже сказали, – основное предназначение XAML, его возможности этим далеко не ограничиваются. О том, насколько мощным и гибким является данный язык, можно судить хотя бы по тому факту, что уже есть утилиты, которые позволяют конвертировать в XAML файлы Adobe Illustrator и Adobe/Macromedia Flash. Помимо прочего, формат XPS, позиционируемый Microsoft как конкурент PDF, основан именно на XAML.

Windows Vista как платформа для приложений нового типа
The New York Times Reader – пример приложения, удачно использующего возможности WPF

В WPF также изменился подход к созданию и применению элементов управления. В отличие от традиционных принципов MFC и Windows Forms, в соответствии с которыми каждый такой компонент скрывает детали своей реализации, элементы управления WPF могут изменять свой стиль, подобно тому, как это происходит с Web-страницами при применении к ним CSS. Эта особенность может быть использована при построении приложений, способных значительно трансформировать свой внешний вид в зависимости от предпочтений пользователя, а также при создании новых, нетрадиционных элементов управления. Теперь нет необходимости, к примеру, хранить цвет элемента управления прямо в коде программы, поскольку для этого есть темы. Аналогично программы на основе WPF будут автоматически адаптироваться к возможностям платформы, на которой они исполняются. К примеру, если компьютер под управлением Windows Vista использует Aero, то элементы управления WPF будут заведомо обладать всеми его особенностями.

Наконец, следует еще раз уточнить, что WPF доступна не только в Windows Vista – приложения на основе данной платформы будут работать и в других ОС от Microsoft, для которых выпущена третья версия .NET Framework, но, естественно, в таком случае будет отсутствовать ряд возможностей, скажем встроенных в Aero.

Коммуникации и управление информацией

Windows Vista как платформа для приложений нового типа
Служба Windows Quality Online Services не только предоставит информацию о программных сбоях разработчику, но и известит пользователя, когда проблема будет решена

За коммуникации в Windows Vista отвечает сервис-ориентированная платформа WCF. Помимо пропагандируемого Microsoft (и не только ею) перехода на Web-сервисы при построении взаимодействующих между собой систем, WCF привносит и другие новшества для Windows-разработчиков, такие как всемерная поддержка IPv6, возможность комбинации различных протоколов для решения конкретных задач, новое поколение средств обеспечения качества обслуживания (QoS) и защиты информации. Особое же значение WCF состоит в том, что эта платформа пришла на смену множеству существующих до нее технологий и моделей коммуникаций, которые зачастую были сложны в освоении, плохо совместимы между собой и недостаточно стабильны.

Кроме того, различные коммуникационные возможности «высокого уровня» предлагают многочисленные системные компоненты Windows Vista. Так, Sync Center позволит разработчикам существенно упростить и унифицировать синхронизацию данных между мобильными устройствами и компьютером под управлением новой ОС. В отличие от прежних разнородных решений Sync Center предоставляет унифицированный API и стандартный пользовательский интерфейс, посредством которых разработчики могут с гораздо меньшими усилиями, чем ранее, реализовать необходимую функциональность. В частности, имеются готовые средства разрешения конфликтов, отслеживания изменений и т. д.

Кое-что для разработчиков может предложить и новый Internet Explorer 7. Наряду с непосредственным чтением RSS-лент он также реализует Unified Feed Parsing API – специальный программный интерфейс, посредством которого внешние приложения могут подписываться на ленты новостей, синхронизировать их и просматривать. Как и в случае со многими другими подсистемами Windows Vista, наибольшую ценность здесь представляют даже не сами возможности (они давно не в диковинку), а именно стандартный способ их использования и встраивания в сторонние решения.

Аналогичным образом разработчики могут использовать в своих приложениях возможности механизма поиска Windows Vista, причем часть из них достается автоматически, например вместе с системными окнами Open/Save As, или преимуществами широкого применения метаданных. Но кроме того, им доступен также поставляемый вместе с Windows Vista компонент OLE DB Provider for Windows Search, позволяющий выполнять запросы к индексной БД с помощью языка SQL. Без сомнения, многие по достоинству оценят такое элегантное и простое решение для реализации функций поиска.

В несколько более общем контексте стоит также упомянуть об инициативах Microsoft, направленных на повышение качества приложений, в частности о Windows Quality Online Services (WinQual) – онлайновой инфраструктуре, предоставляющей разработчикам доступ к отчетам о сбоях, которые возникают в их программах и передаются Microsoft благодаря стандартной службе Windows Error Reporting. Важно отметить, что посредством WinQual не только собирается определенная информация, но и обеспечивается уведомление пользователей, отправивших отчеты, о возможных решениях и исправлениях. Доступ к WinQual разработчикам предоставляется бесплатно, однако для регистрации необходимо наличие действующего сертификата от VeriSign.

Безопасность

Windows Vista – пожалуй, первая клиентская ОС от Microsoft, при создании которой самое пристальное внимание было уделено безопасности. Это, несомненно, накладывает определенные требования на сторонние программы, но вместе с тем разработчики получают в свое распоряжение ряд полезных механизмов и инструментов.

Прежде всего следует иметь в виду User Account Control (UAC). Теперь приложения, запущенные даже от имени администратора, работают в ограниченном режиме, а для доступа к критически важным функциям пользователям необходимо предоставить дополнительное разрешение. В любом случае лучше по возможности избегать создания кода, которому необходимы высокие привилегии, а для точного определения прав следует применять механизм Code Access Security платформы .NET Framework.

Безусловно, внимания заслуживает встроенный в Windows Vista программный интерфейс, обеспечивающий шифрование на уровне ядра ОС, – CNG API (Cryptography API: Next Generation). Он призван заменить стандартный для предыдущих Windows-платформ CryptoAPI, который, впрочем, особой популярностью у разработчиков не пользовался. В этот раз Microsoft, похоже, учла прежние ошибки и предоставила действительно простой в применении и расширяемый криптографический API с очень гибкими возможностями.

Особое место в системе безопасности новой ОС занимает технология доверительных удостоверений Windows CardSpace, предоставляющая возможность идентификации при использовании ресурсов Интернета. Ее главное отличие от множества применяемых ранее аналогов состоит в отсутствии централизованного управления – обслуживается взаимодействие только конкретных пользователей и ресурсов, установивших между собой контакт. Такой подход делает технологию гораздо более доступной для сторонних разработчиков и обещает завоевать популярность среди поставщиков продуктов и услуг, в очередной раз сделав работу в Интернете безопаснее.

Цифровые удостоверения для CardSpace могут выдавать государственные учреждения, банки, Web-сайты и даже сам пользователь. Последний вариант, к примеру, позволяет заменить пароли при идентификации на сайтах с целью защиты от фишинга и других видов мошенничества. Такое удостоверение формируется Windows Vista на основании введенных пользователем личных данных (имени, e-mail, даты рождения, адреса и пр.) и подписывается автоматически генерируемым для каждой запрашивающей стороны секретным ключом. Конкретному Web-сайту оно передается вместе с соответствующим публичным ключом, благодаря чему тот может проверить все необходимые реквизиты. Поскольку пара ключей будет уникальной для каждого такого ресурса, то воспользоваться им в другом месте практически невозможно. CardSpace интегрирована с WCF, и удостоверения годятся для любых видов аутентификации. В дальнейшем эта технология должна стать частью Active Directory.

Разработчикам домашнего ПО также пригодится стандартный механизм родительского контроля, по сути, специальный API, который можно использовать для ограничения доступа детей к отдельным функциям и ресурсам в зависимости от пожеланий родителей.

Ложка дегтя

К сожалению, выход Windows Vista принес разработчикам и некоторые разочарования. Файловая система нового поколения – WinFS, изначально планировавшаяся как неотъемлемая часть ОС, а потом как дополнительный компонент, похоже, так и останется долгожданной: 23 июня этого года руководитель данного проекта в Microsoft Квентин Кларк (Quentin Clark) сообщил, что ожидаемого выпуска второй беты этого продукта не будет вообще (хотя первая вышла еще в конце августа 2005 г., itc.ua/21604). Теперь WinFS должна стать частью следующих поколений ADO.NET и SQL Server. Конечно, подобная переориентация не означает полного отказа от прежних идей, но, по всей видимости, «голубая мечта» многих разработчиков, рассчитывающих на WinFS как на замену локальной СУБД, так и останется нереализованной в обозримом будущем.

Еще один неоднозначный момент заключается в технологии создания «приспособлений» для боковой панели (sidebar) Windows Vista. Кто бы мог подумать, что принципиально новая деталь интерфейса ОС, основанной на революционных технологиях .NET и WPF, будет конструироваться посредством... обычных JavaScript и HTML. Именно так и реализованы все подобные компоненты из стандартной поставки Windows Vista – достаточно просмотреть их исходный код в папке Program FilesWindows SidebarGadgets. Использование в таком качестве настоящих .NET-приложений, конечно, не исключается, но для этого придется применять ту же методику, что и для внедрения Windows-программ в код HTML-страниц – однозначно не лучшее решение. Официальные объяснения от команды разработчиков звучат следующим образом: вначале действительно планировалось использовать для этих целей технологию WPF/E (Windows Presentation Foundation Everywhere), но от нее пришлось отказаться по банальной причине неготовности к предстоящему релизу ОС.

Однако самым большим разочарованием в Windows Vista, наверное, следует назвать неоправдавшуюся надежду на скорый тотальный переход от традиционных концепций программирования к разработке управляемого кода – далеко не все интерфейсы и технологии новой ОС гладко взаимодействуют с .NET Framework. А раз уж сама Microsoft не смогла довести начатое до конца, то и массовую миграцию на .NET Framework в ближайшем будущем ожидать вряд ли приходится. Чуда действительно не произошло, и за идеальной внешностью Windows Vista не скрывается столь же идеальная начинка – судя по всему, программисты из Microsoft еще долго не останутся без дела и им предстоит решить множество задач, результаты которых мы увидим в виде сервис-пакетов и новых релизов.

Заключение

В рамках одной публикации невозможно рассмотреть все нововведения Windows Vista от Microsoft, но даже такого довольно беглого знакомства достаточно, чтобы понять, что эта ОС станет главным катализатором рынка ПО в течение ближайших нескольких лет.

Windows Vista как платформа для приложений нового типа
Следующая версия Visual Studio с кодовым именем Orcas предоставит разработчикам полный доступ к технологиям Windows Vista

Несмотря на то что создавать приложения на базе технологий Windows Vista можно уже сейчас с применением Microsoft Visual Studio 2005 (к которой спешно готовится SP1 для решения проблем совместимости с новой ОС), сама Microsoft не скрывает, что в полном объеме ее возможности станут доступны разработчикам только с выходом следующего релиза среды разработки от Microsoft с кодовым именем Orcas, которая в настоящее время распространяется в виде CTP-версии. Там действительно будет много адаптированных инструментов, в частности полнофункциональный графический конструктор для XAML. Но это вовсе не означает, что сейчас существуют какие-либо серьезные преграды для появления на рынке программных продуктов того самого принципиально «нового типа», скорее наоборот, любые заминки лидера открывают широкие возможности для маневра другим игрокам, в том числе и в области инструментальных средств.

Microsoft сдержала свои обещания, и большинство технологий ОС нового поколения уже доступны и для предшествующих версий Windows, в частности Windows XP и Windows Server 2003. Нет никаких сомнений в том, что они предоставляют возможности качественно иного уровня, и в выигрыше окажутся те компании, которые сделали на них ставку еще вчера, а сегодня вместе с официальным запуском Windows Vista готовы штурмовать новые рынки и активно участвовать в переделе существующих.

Число примеров в SDK для Windows Vista
Технология Количество примеров Покрытие C#, % Покрытие VB, %
.NET Framework 3.0  
WCF 146 100 72
WF 60 100 95
WPF 434 98 58
Кросс-технологии 23 96 9
.NET Framework 2.0 138 95 80
Всего 801 98 66

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

0 
 

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

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

 
 
IDC
Реклама

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