Інструменти розробника Windows Runtime

Трохи розібравшись з Windows Runtime, а також роллю C # і NET Framework в процесі розробки додатків Metro, перейдемо до засобів розробки Основний утилітою для розробника є, звичайно ж, Visual Studio При цьому компанія Microsoft пішла по стандартному шляху, запропонувавши безкоштовну версію – Express, а також можливість інтеграції з повноцінною Visual Studio У всіх прикладах цієї книги ми будемо використовувати версію Express

Образ Windows 8 із засобами розробки доступний для скачування на сайті

http://msdnmicrosoftcom/en-us/windows/apps/

Запустивши Visual Studio, можна приступати до створення нового проекту Вибравши відповідний пункт меню, Ви побачите наступні шаблони

Рис 110

Зверніть увагу, що Visual Studio підтримує чотири мови для побудови додатків Metro: VBNET / XAML, C # / XAML, C + + / XAML, JavaScript / HTML 5

При цьому С + + дозволяє створювати повністю нативні програми та є єдиним мовою, яка дає можливість створювати їх за допомогою DirectX Тому якщо Ви плануєте розробляти високопродуктивні гри, то потрібно використовувати С + +

У свою чергу JavaScript і HTML 5 можуть застосовуватися тими розробниками, які раніше займалися веб-програмуванням Тут можна звернутися як до функціонала Windows 8 (за допомогою спеціальної бібліотеки WinJS), так і до улюбленим фреймворками – JQuery, а також HTML 5 HTML 5 і JavaScript зручно використовувати, якщо додаток тісно інтегровано з зовнішніми веб-службами, такими як Facebook (аутентифікація в подібних програмах виглядає досить натурально, а готові веб-компоненти легко вбудовуються в інтерфейс)

Нарешті, VBNET і C # дозволяють утилізувати можливості керованих мов і деякі механізми NET Framework Використовуючи C #, розробник може полегшити собі життя при створенні додатків по вводу і поданням даних Також в C # доступні такі можливості, як анімація, робота з файлами мультимедіа, графічними примітивами та ін Якщо ж говорити про інтеграцію з веб, то тут доступний спеціальний елемент управління, здатний відображати HTML 5 і відтворювати роботу JavaScript Іншими словами, на C # можна написати все, крім ігор, що використовують DirectX Саме тому ми і вибрали цю мову для створення додатків під Windows 8

Тепер перейдемо до тих шаблонами, які підтримують проекти на мові програмування C #

·&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Blank Application Назва цього шаблону говорить сама за себе Проект, створений на його основі, практично не містить файлів з кодом Але навіть в ньому існують деякі заготовки, які ми розглянемо нижче

·&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Grid Application Створивши проект на основі цього шаблону, Ви отримуєте готове додаток, що працює з колекцією записів, розбитих на категорії Тут є кілька форм, що відображають всі категорії, елементи в категорії і деталі кожного елемента Також реалізована навігація між формами і підтримується різна орієнтація екрану, включаючи прикріплений режим

·&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Split Application Цей шаблон являє собою підмножину коду попереднього шаблону, дозволяючи відображати елементи з груп в більш простому вигляді Щоб краще відчути чутливість інтерфейсу до орієнтації екрану, створимо проект на основі цього шаблону і запустимо створене додаток На першому екрані можна побачити кілька груп елементів Якщо вибрати одну з них, перебуваючи в альбомній орієнтації, а потім спробувати перевести пристрій в книжкову орієнтацію або прикріплений режим, то можна побачити наступне

Рис 111

Рис 112

Рис 113

Як бачите, описаний в шаблонах інтерфейс повністю відповідає стилю додатків Metro Використовуйте цей код як основу у своїх додатках Сам код ми розглянемо трохи пізніше

·&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Class Library Шаблон дозволяє створювати компоненти для подальшого використання в керованому коді або в WinRT (нічого дивного, так як Net-код можна було викликати з некерованого і раніше, але тепер створювані бібліотеки включають і необхідні метадані)

·&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Unit  Test  Library У даному шаблоні немає нічого цікавого –

стандартна підтримка по створенню Unit-тестів

Як і раніше, Visual Studio підтримує редактор коду з системою InteliSense Як уже згадувалося раніше, це стало можливо завдяки зберіганню метаданих про класи Windows Runtime Редактор XAML продовжує успішно працювати як в режимі коду, так і в режимі дизайнера Всі інші функціональності Visual Studio практично не змінилися

Більш детально варто зупинитися на механізмах налаштування програми Мова піде про підготовку додатка до розгортання Справа в тому, що розгортання додатків Metro відбувається на декларативному рівні Так, з будь-яким проектом поставляється спеціальний маніфест-файл, що описує можливості і налаштування програми при розгортанні У Visual Studio цей файл носить назву Packageappxmanifest і являє собою XML-документ У самому примітивному вигляді маніфест виглядає наступним чином

&lt?xml version=&quot10&quot encoding=&quotutf-8&quot?&gt

&ltPackage xmlns=&quothttp://schemasmicrosoftcom/appx/2010/manifest&quot&gt

&ltIdentity Name=&quot519f4c47-a156-4f8e-b96b-d408a0aba6dd&quot Publisher=&quotCN=Sergiy&quot

Version=&quot1000&quot /&gt

&ltPrerequisites&gt

&ltOSMinVersion&gt62&lt/OSMinVersion&gt

&ltOSMaxVersionTested&gt62&lt/OSMaxVersionTested&gt

&lt/Prerequisites&gt

&ltResources&gt

&ltResource Language=&quotx-generate&quot/&gt

&lt/Resources&gt

&ltProperties&gt

&ltDisplayName&gtApplication2&lt/DisplayName&gt

&ltPublisherDisplayName&gtSergiy&lt/PublisherDisplayName&gt

&ltLogo&gtAssets\StoreLogopng&lt/Logo&gt

&ltDescription&gtApplication2&lt/Description&gt

&lt/Properties&gt

&ltApplications&gt

&ltApplication Id=&quotApp&quot Executable=&quot$targetnametoken$exe&quot EntryPoint=&quotApplication2App&quot&gt

&ltVisualElements DisplayName=&quotApplication2&quot Logo=&quotAssets\Logopng&quot

SmallLogo=&quotAssets\SmallLogopng&quot

Description=&quotApplication2&quot ForegroundText=&quotlight&quot BackgroundColor=&quot#222222&quot&gt

&ltDefaultTile ShowName=&quotallLogos&quot /&gt

&ltSplashScreen Image=&quotAssets\SplashScreenpng&quot /&gt

&lt/VisualElements&gt

&lt/Application&gt

&lt/Applications&gt

&ltCapabilities&gt

&ltCapability Name=&quotinternetClient&quot /&gt

&lt/Capabilities&gt

&lt/Package&gt

Як бачите, маніфест містить опис програми, включаючи відомості про його імені в операційній системі, інформацію про значки, декларацію можливостей та ін

Подібний файл досить важко редагувати в ручному режимі, особливо якщо Ви будете розширювати можливості програми Саме тому однією з переваг Visual Studio є редактор маніфесту додатки Для його відкриття досить просто клацнути мишею Appxmanifest файл

Рис 114

Найімовірніше, цей редактор буде розвиватися, але вже зараз може добре послужити розробнику Чого тільки варті підказки з необхідними розмірами значків

Як видно з малюнка вище, редактор містить чотири вкладки (для додатків на інших мовах їх може бути більше)

На першій вкладці вказана вся інформація, повязана з поданням додатка на основному екрані Windows Тут опис програми, різні види значків, екран-заставка, що виникає при запуску додатки, та ін Незважаючи на велику кількість параметрів, все виглядає досить зрозуміло

Більш цікавою є друга вкладка додатки

Рис 115

Тут декларуються можливості Вашого застосування Справа в тому, що всі програми Metro в Windows 8 володіють обмеженим набором привілеїв Багато в чому функціонал додатка буде залежати від того, що прописано в маніфесті Не слід очікувати, що декларація можливості гарантує доступ до неї – зовсім ні Наприклад, щоб скористатися камерою, необхідно отримати дозвіл у користувача Однак на основі декларацій Windows 8 визначає права додатка, що дозволяє убезпечити користувача навіть у разі збою або злому програми

За замовчуванням у додаток включена можливість отримувати доступ до мережі

(Публічних ресурсів в Інтернет)

Третя вкладка редактора дозволяє вказати можливості інтеграції Вашого застосування з операційною системою Наприклад, якщо Ви реалізуєте механізм пошуку всередині програми, то логічно буде користуватися стандартної кнопкою Search на спливаючій панелі інструментів Подібні розширення можна також назвати контрактами, що описують механізми взаємодії програми та ОС Як реалізовувати інтеграцію з різними можливостями платформи, ми розглянемо в одній з наступних глав

Рис 116

Нарешті, остання вкладка дозволяє вказати інформацію, необхідну для публікації в магазині Windows

Рис 117

При установці Вашого застосування на локальний компютер система зчитує всі параметри з маніфесту пакета, розгортає пакет і створює необхідні записи в реєстрі системи, підключаючи всі необхідні розширення (контракти) Після цього додаток зявляється на основному екрані користувача і готово до запуску До речі, можливість запуску програми – це своєрідна реалізація контракту Launch, підключається автоматично У цьому можна переконатися особисто, відкривши ключ реєстру HKEY_CURRENT_USER \ Software \ Classes \ Extensions \ ContractId \ WindowsLaunch

Рис 118

Сергій Лутай, Сергій Байдачний, Windows 8 для C # розробників

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


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

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

Ваш отзыв

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

*

*