Windows Vista як платформа для додатків нового типу, Windows, Операційні системи, статті

Безумовно, нова операційна система цікава не тільки як кінцевий продукт, а й як платформа для створення більш сучасних додатків. Насправді 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).








 
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, і фактично не привнесший нічого принципово нового.








 
Технології. 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.








 
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 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) повідомив, що очікуваного випуску другої бети цього продукту не буде взагалі. Тепер 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, але навіть такого досить побіжного знайомства досить, щоб зрозуміти, що ця ОС стане головним каталізатором ринку ПЗ протягом найближчих кількох років.








 
Наступна версія 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


Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*