Обзоры Обзоры 14.09.2005 в 21:00 comment

Windows Vista для разработчиков

author avatar

ITC.UAСтажер

Репутація Наднизька

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

Три основные части WinFX

Microsoft считает переход от Win32 к новым средствам программирования в Windows Vista не менее важным и принципиальным, чем, скажем, миграция с Win16 на Win32 или с DOS на Win16. Если кратко, то главное отличие заключается в долгожданном отказе от морально устаревшего процедурного API, свойственного даже последним на текущий момент официально выпущенным операционным системам. Ему на смену приходит новый программный интерфейс – WinFX, который изначально построен на объектно-ориентированных технологиях и фактически является надмножеством .Net Framework 2.0. Основу WinFX составляют три краеугольных камня:

  • Windows Presentation Foundation (WPF, в прошлом Avalon) – подсистема, отвечающая за отображение документов, мультимедийной информации, манипуляцию с ними и формирование пользовательского интерфейса;
  • Windows Communication Foundation (WCF, в прошлом Indigo) – набор коммуникационных технологий, предназначенный для создания распределенных приложений;
  • Windows File System (WinFS) – файловая система, основанная на технологии реляционных баз данных. Не войдет в релиз Windows Vista, но позже станет доступна в качестве дополнения.

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

WPF

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

  • WPF Engine. Включает векторный графический движок Windows Graphics Foundation (WGF), являющийся развитием DirectX и предоставляющий возможность использования всего потенциала современных видеоакселераторов при отрисовке графики. Также отвечает за воспроизведение аудио и визуализацию содержимого документов;
  • WPF Framework. Объектно-ориентированная среда для создания приложений, применяющих WPF Engine. Предоставляет разработчику классы, позволяющие манипулировать различной мультимедийной информацией и обеспечивающие взаимодействие с пользователем.
WPF отвечает за всевозможные способы предоставления информации и взаимодействия с пользователем

С WPF тесно связан с XAML (eXtensible Application Markup Language) – декларативным, основанным на XML языком разметки для описания пользовательского интерфейса. Идея, положенная в основу XAML, не нова, похожий подход уже достаточно давно применяет в своих продуктах Borland, разделяя программный код и код, описывающий элементы интерфейса. Однако XAML имеет несколько более широкий смысл – задумка Microsoft состоит в том, чтобы максимально повысить роль профессиональных дизайнеров в процессе создания программных продуктов, предоставив им возможность независимо от программистов работать над пользовательским интерфейсом любой сложности.

При этом XAML – очень гибкий язык, позволяющий абстрагироваться от устройств визуализации. С его помощью можно одинаково легко создавать элементы интерфейса, предназначенные для отображения в виде «обычных» окон или страниц в окне браузера либо для вывода на печать. Именно это свойство и позволило Microsoft разработать на основе XAML формат документов XPS (в прошлом Metro), конкурирующий с PDF.

WCF

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

Соответственно, подсистема WCF создана на основе таких существующих технологий Microsoft, как COM+, MSMQ и Web-сервисы ASP.NET и призвана заменить их. На деле WFC особенно близка именно к Web-сервисам, однако имеет и множество существенных отличий. В частности, WCF обеспечивает поддержку большого количества транспортных протоколов (HTTP, TCP, UDP, IPC), транзакции, стандартные механизмы аутентификации и шифрования, топологии взаимодействия (клиент-сервер, Peer-to-Peer, издатель-подписчик).

Главным нововведением WCF можно считать принятие сервис-ориентированной архитектуры (SOA) для построения распределенных приложений, которая основывается на объектно-ориентированном подходе и принципах компонентного программирования, положенных в основу .Net Framework. В целом же WFC предоставляет весьма обширный набор готовых средств для построения коммуникационных приложений различного уровня, что должно существенно облегчить труд разработчика.

WinFS

Первоначально WinFS создавалась вместе с остальными технологиями Windows Vista, но позже была изъята из проекта новой ОС, чтобы не сорвать график ее выпуска. Несмотря на это данная технология по-прежнему считается одной из составляющих WinFX и после официального выхода несомненно займет свое законное место.

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

Поэтому WinFS вполне допустимо представлять как файловую систему, построенную с применением технологий реляционных баз данных. Это чрезвычайно важное нововведение позволит отойти от устаревшего принципа жесткого структурирования информации, заменив его механизмами, привычными в мире БД. В результате появятся мощные инструменты поиска, получения и разграничения доступа к данным, станет возможным отказаться от множества специальных форматов файлов, а во многих случаях и от необходимости применять настольные СУБД.

ClickOnce

Основная идея ClikOnce состоит в том, чтобы обеспечить для обычных настольных программ возможности распространения и развертывания, характерные для Web-приложений. Это укладывается в новую концепцию «умных клиентов», которую сейчас активно продвигает Microsoft.

Действует данная технология следующим образом. Разработчик создает приложение и публикует его на интранет- или интернет-сервере. Пользователи обращаются по указанному URL, загружают приложение и устанавливают его на своей локальной машине. При каждом последующем запуске приложение обращается к «домашнему» серверу и, в случае обнаружения новой версии, автоматически производит свое обновление. Для снижения нагрузки на сеть используются компонентизация, HTTP-компрессия и «докачка» в случае обрыва связи.

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

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

Заключение

До недавних пор как технология .Net, так и новый язык программирования C# воспринимались многими разработчиками недостаточно серьезно в связи с тем, что сама Microsoft не слишком широко применяла их в собственных продуктах. Теперь ситуация наверняка существенно изменится, поскольку значительная часть кода Windows Vista создана именно средствами .Net и C#.

Более того, Microsoft всячески поощряет разработчиков уже сейчас создавать программы на основе WPF/WCF и WinFS и даже обещает, что данные технологии будут доступны и для предыдущих версий Windows, таких как Windows XP и Windows 2003 Server.

Учитывая множество действительно принципиальных нововведений и тот энтузиазм, с которым сама Microsoft движется в направлении Windows Vista, можно смело утверждать, что наступило время присмотреться к предложенным технологиям и начать применять их в своей практике, поскольку задержка в данном случае может означать потерю конкурентных преимуществ.

e-mail автора: [email protected]


Що думаєте про цю статтю?
Голосів:
Файно є
Файно є
Йой, най буде!
Йой, най буде!
Трясця!
Трясця!
Ну такої...
Ну такої...
Бісить, аж тіпає!
Бісить, аж тіпає!
Loading comments...

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: