Привіт всім!
Представляю вашій увазі новий інструмент від Microsoft "Windows App Studio"- Конструктор для створення програм. Сьогодні розповім про те, як звичайному користувачевістало доступно створення програм для Windows і Windows Phone. І трохи про те, що цей інструмент може бути корисний розробнику.
App Studio інструмент, призначений для створення контентних програм. Цей тип програм надає користувачеві тематичну інформацію, різні каталоги та цілий набір інших стандартних функцій.
App Studio взаємодіє з користувачем через веб-інтерфейс, працює на будь-якому браузері та доступна за наступним посиланням. Всі дані App Studio зберігаються у хмарі.
Для доступу до App Studio необхідно мати обліковий запис Microsoft (колишнє Live ID) та можливість виходу до мережі.
Огляд
Інтерфейс простий та інтуїтивно зрозумілий:на головній сторінціє панель управління для доступу до основних сторінок ресурсу:
Також на головній сторінці демонструються створені в App Studio додатки, що функціонують і доступні у Windows Store:
Шаблони
Для створення програми App studio пропонує наступні сценарії:- скористатися шаблонами;
- Створити програму з нуля.
На відміну від інших шаблонів, Empty App не пропонує жодного сценарію для створення програм і повністю звільнений від контенту.
Всі шаблони App Studio надають можливість створення універсальних програм, доступних на Windows і Windows Phone 8.1 пристроях. Крім шаблону Web App template:
Призначення цього шаблону – переробити мобільну версіювеб-сайту до програми Web App, використовуючи URL сайту. Ця можливість доступна лише для Windows Phone додатків.
Варто відзначити різноманітність шаблонів App Studio та наявність тематичних складових у кожного з них:
Створення програми
Цикл створення програми App Studio складається з 4 етапів:- Пошук ідеї;
- Наповнення контентом;
- Оформлення іміджу;
- Використання готової програми;
Стартова сторінка нового додатка Empty App виглядає так:
Робоча область розділена на чотири частини:
- Робота над структурою та змістом програми: Content;
- Далі дві вкладки відповідають за зовнішній виглядта стиль програми: Themesі Tiles.
- Publish infoмістить попередні налаштування для публікації програми у Windows Store.
Робота над змістом
В області Content визначимо з яких сторінок складатиметься Wine Expert:- Про вино;
- Каталог вин;
- Виробництво вина;
- Про творців.
Оформлення та стиль програми
App studio у вкладці Themes пропонує налаштувати тему програми:
- Стандартні: темне, світле тло;
- Фон, який віддає перевагу користувачу, включаючи можливість встановлення зображення як «Background Image».
Tiles вкладка оформляє вигляд програми на стартовому екрані, фонове зображеннята фонову заставку:
Налаштуємо плитку програми на стартовому екрані:
- Flip template-Жива плитка;
- Cycle template– перегортання зазначеної колекції із програми;
- Iconic template– одне зображення всіх трьох розмірів плитки.
У лівому верхньому куткутеж є область для завантаження картинки, яка буде відображатися біля назви програми, заповнимо і її:
На вкладці Splash&Lock зробимо ті ж дії із зображеннями:
Зберігаємо зміни та переходимо до наступного кроку.
Налаштування програми для публікації у Windows Store
Розберемо які дані вимагає від нас «Publish info» для підготовки публікації програми в Windows Store, крім зрозумілих App title, App description та Language:
Одна з умов публікації програми в Windows Store - щоб назва програми (App Name) перед її публікацією була зарезервована в магазині. Резервуємо ім'я програми в Центрі розробки. Кожному зарезервованому (зареєстрованому) імені магазин надасть свій «Package Identity». Користувачеві App Studio необхідно знати цю інформацію, ім'я та ID.
Для того, щоб App Studio згенерувало спеціальний пакет програми для публікації, необхідно заповнити «Application manifest» - маніфест програми. Для цього в Publish Info передбачено наступне налаштування Associate App with the Store:
Заключний етап роботи із додатком
Додаток готовий – натискаємо «Finish»:Отримуємо можливість перегляду програми для будь-якого пристрою.
Функція «Generate» пропонує вибрати для якої платформи необхідно згенерувати програму, виберемо Windows Phone 8.1 та Windows 8.1, що дозволить створити новий тип програми – універсальне:
У полі «Generation type» зазначимо, що нам необхідний пакет програми для встановлення на пристрій та пакет для публікації. Вихідний код програми генерується за замовчуванням.
Отже, тепер ми можемо завантажити всі матеріали, надані App Studio для роботи зі створеною програмою.
Встановлення програми на пристрій
Програма, створена за допомогою App Studio, може бути встановлена на пристрій безпосередньо, поза Windows Store, завдяки згенерованому пакету «Installable packages».Що для цього потрібно:
- Встановити на пристрій сертифікат:
- Завантажити наданий в App Studio інсталяційний пакет для сертифіката залежно від пристрою (ПК, планшет, телефон);
- Запустити файл з розширенням.cer (при установці вибрати Local machine, Place all certificates in the following store: Trusted Root certification Authorities).
- Встановити на пристрій програму:
- Завантажити Installable packages;
- Знайти файл Add-AppDevPackage1.ps1, правою кнопкою миші запустити “Run with PowerShell”.
Доступ до даних програми у хмарі
Для додавання, видалення або редагування динамічних даних опублікованої програми необхідно в Центрі розробки звернутися до відповідної програми у списку Dashboard. Відкрити колекцію та зробити всі необхідні зміни. Програма оновиться автоматично.Можливості для розробників
App Studio може бути корисною для професійного розробника тим, що надає вихідний код програми.Розробнику також може бути зручно створити структуру своєї програми за допомогою цього інструменту, а далі використовуючи Visual Studio 2013 (Update 2) доопрацювати його, не витрачаючи часу на прописування базових елементів.
Висновок
Для того, щоб створити програму в App Studio не потрібно знань в області програмування, крім того, створення програми та отримання її вихідного кодуабсолютно безкоштовно.Розробникам так само буде цікаво скористатися новим інструментом, наприклад, для скорочення часу на розробку базової структури програми.
Створення віконної програми Visual Studio
Введення у створення віконних програм
Функції API для роботи з консоллю
Структура віконної програми
Елементи керування вікна
Графіка у віконних програмах
В операційній системі Windows можливі 3 типи структур програм:
- діалогова (основне вікно – діалогове),
- консольна, або безвіконна структура,
- класична (віконна, каркасна) структура
Діалогові програми Windows мають мінімальний інтерфейс зв'язку з користувачем і передають інформацію користувачеві за допомогою стандартних діалогових вікон (наприклад, вікно повідомлення MessageBox() ). Робота програми відбувається «наосліп».
Невіконні (консольні) програмиє програмою, що працює в текстовому режимі. Робота консольної програми нагадує роботу програми MS-DOS. Але це лише зовнішнє враження. Консольний додаток забезпечується спеціальними функціями Windows. Консольні додатки є системою засобів взаємодії користувача з комп'ютером, засновану на використанні текстового (літерно-цифрового) режиму дисплея або аналогічних (командний рядок MS-DOS, Far). Консольні програми дуже компактні не тільки у відкомпілюваному вигляді, але й у текстовому варіанті, і мають такі ж можливості звертатися до ресурсів Windows за допомогою API-функцій, як і віконні програми.
Віконні (каркасні) програмибудуються з урахуванням спеціального набору функцій API, складових графічний інтерфейс користувача (GUI, Graphic User Interface). Головним елементом такої програми є вікно. Вікно може містити елементи управління: кнопки, списки, вікна редагування та ін. Ці елементи, по суті, також є вікнами, але мають особливі властивості. Події, що відбуваються з цими елементами (і самим вікном), призводять до надходження повідомлень у процедуру вікна.
Різниця між віконними та консольними програмами Windows полягає в тому, з яким типом інформації вони працюють.
У діалозі New Project Visual Studio виберемо Visual C#, Silverlight for Windows Phone та простий шаблон програми Windows Phone Application і назвемо його ExploringXAMLFeatures.
У діалозі вибору цільової операційної системиоберемо Windows Phone OS 7.1
Після створення проекту, вікно Visual Studio набуде наступного вигляду
Розглянемо структуру проекту у вікні Solution Explorer:
Назва файлу | Призначення |
AppManifest.xml | Файл маніфесту, необхідний для генерації файлу XAP, в який упаковується програма для розгортання на телефоні. |
AssemblyInfo.cs | Ще один конфігураційний файл, в якому визначаються деякі метадані головного складання (Assembly) програми. |
WMAppManifest.xml | Файл метаданих, який містить різноманітні налаштування програми: заголовок, завдання першої сторінки, шляхи до іконок, визначення необхідних системних можливостейі т.д. |
App.xaml | Це файл ресурсів програми. Тут розташовуються глобальні ресурси (це буде розглянуто при використанні стилів) або глобальні події (при старті програми). Цей файл також є точкою входу програми. |
App.xaml.cs | Код файлу (code-behind) для App.xaml. Тут можна обробляти події та помилки рівня програми, у тому числі його здобуття. Цю концепцію буде розглянуто пізніше, коли розглядатиметься багатозадачність. |
ApplicationIcon.png | Картинка, яка буде піктограмою програми в телефоні. Це дійсно важливий файл, так як він є першим, що побачать користувачі під час роботи з програмою. |
Background.png | Ця картинка використовується, коли програма закріплена на стартовому екрані телефону (start screen). По суті, це велика іконка програми. Розумно зробити її візуально схожою на ApplicationIcon.png. |
MainPage.xaml | Це частина вибраного шаблону програми. Назва MainPaige не дуже вдала, але саме вона використовується шаблоном проекту за умовчанням. Ця сторінка представляє інтерфейс, який бачить користувач під час старту програми. |
MainPage.xaml.cs | Файл коду MainPage.xaml. |
SplashScreenImage.jpg | Ця картинка відображається під час завантаження програми. Можна встановити зображення з анімацією, щоб поінформувати, що програма завантажується. Є техніка створення дуже динамічних сторінок завантаження на XNA, але вона виходить далеко за межі цього циклу статей. |
Файли XAML визначають інтерфейс програми. Насправді це просто XML файлиіз мовою розмітки XAML.
Незважаючи, що це найпростіший проект, він містить усі ключові елементи, які містять усі інші шаблони та типи проектів.
Зверніть увагу, що частина налаштувань, представлених у вигляді конфігураційних файлів, можуть редагуватися у візуальному інтерфейсі редагування налаштувань програми.
Додавання елементів керування на сторінку XAML
Зверніть увагу, що Visual Studio за промовчанням відображає і дизайн, і XAML код сторінки.
Якщо ви переходили до перегляду інших файлів рішення, подвійним клацанням перейдіть на файл MainPage.xaml.
У XAML код файлу MainPage.xaml всередину елеметна Grid з ім'ям ContentPanel вставте елемент керування Button:
У вікні дизайну кнопка з'явиться приблизно в центрі інтерфейсу. Звернули увагу на атрибут Name? Це унікальний ідентифікатор елемента, який допомагає посилатися на нього код. Вважайте це ID атрибутом елемента керування. Давайте тепер додамо якісь дії при натисканні на цю кнопку. Є два способи прив'язати подію до кнопки Button (або будь-якого іншого елемента керування). У XAML, прямо у визначенні Button, можна додати атрибут Click і система InteliSense автоматично запитає, чи хочемо ми згенерувати новий обробник подій:
Можна пов'язати обробник подій безпосередньо в коді сторінки Home.xaml.cs, не вказуючи його в XAML файлі:
Public MainPage() ( InitializeComponent(); MyButton.Click +=new RoutedEventHandler(MyButton_Click); )
Обидва способи працюють. Можете використовувати будь-який із них. Для спрощення тут буде використовуватися визначення методу XAML. Тепер у функції MyButton_Click можна написати керований код, який змінюватиме інтерфейс або викликати інші функції. Завершимо наш приклад програми, додавши код, який змінюватиме текст у TextBlock PageTitle (PageTitle – це Name, так що можна посилатися на неї безпосередньо в коді) на «привіт wp7». Щоб зробити це допишемо наступний код у функцію:
Private void MyButton_Click(object sender, RoutedEventArgs e) ( PageTitle.Text = "привіт wp7"; )
Виберемо в налаштуваннях проекту Windows Device Emulator
І запустимо програму, натиснувши на зелений трикутник або копію F5. Після запуску програми та натискання на кнопку «Натисніть мене», вигляд екрана повинен бути аналогічним знімку екрана нижче:
Додавання нових сторінок до проекту
Тільки найпростіший додаток складається з однієї сторінки. Ми хочемо навчитися писати складні багатосторінкові програми. Ми можемо використовувати шаблони Pivot, Panorama, можемо використовувати патерн проектування MVVM (Model-View-ViewModel), а спочатку навчимося додавати нові сторінки в проект і переходити між ними.
У вікні Solution Explorer клацніть правою кнопкою миші по назві проекту, і в меню виберемо, Add, далі New Item, у діалоговому вікні виберемо Windows Phone Portrait Page і назвемо її SecondPage.xaml:
Тепер у нас є порожня сторінка XAML, точна копія сторінки MainPage.xaml до того, як ми її відредагували.
Щоб краще розрізняти сторінки, перейдемо до XAML коду сторінки SecondPage і в елементі TextBlock з Name PageTitle відредагуємо властивість Text, як показано нижче:
Навігація між сторінками програми
Отже, у проекті є дві сторінки, при запуску програми відображається сторінка MainPage.xaml. Як перейти зі сторінки MainPage.xaml на SecondPage.xaml?
Спробуємо два простих способу, як це зробити.
У XAML код файлу MainPage.xaml після доданого раніше коду Button, додамо код HyperlinkButton, як показано нижче:
Елемент управління HyperlinkButton має спеціальну властивість NavigateUri, яка дозволяє вказати Uri для переходу. Додамо цю властивість зі значенням /SecondPage.xaml, як показано нижче:
Запустимо програму (F5).
Коли з'явиться інтерфейс програми, якщо ми натиснемо посилання Друга сторінка, то станеться перехід на другу, раніше створену сторінку SecondPage.xaml. Якщо після цього натиснути на апаратну кнопку Back, ми повернемося на основну (попередню) сторінку – за замовчуванням ця кнопка дозволяє перейти на попередню активну сторінку.
Тепер скористаємось можливістю програмного переходу. Спочатку додамо до секції using наступний код:
Private void MyButton_Click(object sender, RoutedEventArgs e) ( NavigationService.Navigate(new Uri("/SecondPage.xaml", UriKind.Relative)); )
Запустіть програму (F5) і переконайтеся, що кнопка працює так само, як і посилання.
Додамо на другу сторінку (SecondPage.xaml) елементи керування та код, який дозволяв би повернутися на попередню сторінку.
У XAML код файлу SecondPage.xaml всередину елеметна Grid з ім'ям ContentPanel вставте елементи керування Button та HyperlinkButton, як показано нижче:
Для створення оброблювача події Clickкнопки MyButton на сторінці SecondPage клацніть правою кнопкою миші за текстом MyButton_Click у XAML редакторі та виберіть Navigae to Event Handler.
Запустіть програму (F5) і переконайтеся, що посилання «Перша сторінка» на другій сторінці повертає програму на MainPage.
Тепер скористаємось можливістю програмного переходу. У коді сторінки SecondPage.xaml.cs додамо до секції using наступний код:
Using System.Windows.Navigation;
А потім замінимо код обробника MyButton_Click на наступний:
Private void MyButton_Click(object sender, RoutedEventArgs e) ( NavigationService.GoBack(); )
Запустіть програму (F5) і переконайтеся, що кнопка Назад на другій сторінці повертає програму на MainPage.
Зверніть увагу, що в коді, який запускається після натискання кнопки ми не використовували назву сторінки, на яку нам необхідно перейти, а попросили сервіс навігації, представлений класом NavigationService, перейти на сторінку, яка була в стеку переходів перед поточною.
Події переходу з сторінки можуть бути оброблені програмно, наприклад, щоб уточнити у користувача, чи дійсно він хоче піти з поточної сторінки.
Додайте наступний код у файл SecondPage.xaml.cs відразу після обробки MyButton_Click:
Protected override void OnNavigatingFrom(NavigatingCancelEventArgs e) (base.OnNavigatingFrom(e); // Якщо можна скасувати перехід, уточнимо у користувача, чи хоче він залишитися на поточній сторінці if (e.IsCancelable) ( MessageBoxResult result = "MessBox"). бути залишитеся?", "Підтвердження переходу", MessageBoxButton.OKCancel); if (result == MessageBoxResult.OK) ( // Користувач вирішив залишитися e.Cancel = true; return; ) ) )
Код досить простий, щоб ви могли з ним розібратися самостійно.
Запустіть програму (F5) і зверніть увагу, що уточнюючий діалог відображається незалежно від того, чи збираємося ви повернутися на MainPage натисканням на кнопку або за посиланням.
Тепер лишилося навчитися передавати між сторінками параметри.
Подвійним клацанням MainPage.xaml перейдемо до редагування основної сторінки. У коді MainPage.xaml додамо елемент управління TextBox вище елемента Button, як показано нижче:
Подвійним клацанням SecondPage.xaml перейдемо до редагування основної сторінки. У коді SecondPage.xaml додамо елемент управління TextBox вище елемента Button, також як на сторінці MainPage:
Тепер, до обробника події MyButton_Click сторінки MainPage додамо параметри в Uri переходу на другу сторінку за кнопкою:
Private void MyButton_Click(object sender, RoutedEventArgs e) ( NavigationService.Navigate(new Uri("/SecondPage.xaml?text="+Uri.EscapeDataString(MyTextBox.Text), UriKind.Relative)); )
І, нарешті, в код сторінки SecondPage.xaml.cs, відразу ж після обробника OnNavigatedFrom, додамо обробник приходу на сторінку OnNavigatedTo і в ньому обробимо параметр, що приходить, і виведемо його в MyTextBox:
Protected override void OnNavigatedTo(NavigationEventArgs e) ( base.OnNavigatedTo(e); if (NavigationContext.QueryString.ContainsKey("text")) ( MyTextBox.Text = NavigationContext.QueryString["text"].ToString(); ) )
Запустіть програму (F5) і перевірте, як вона працює, наприклад, при переході за посиланням зі сторінки MainPage на SecondPage.
Підсумки та наступні кроки
Отже, ми розібралися з тим, що треба встановити для розробки під Windows Phone 7, познайомилися з доступними шаблонами і навчилися створювати новий додаток із шаблону. Також ми навчилися додавати елементи керування, прямо в XAML код, додавати в проект нові сторінки та організовувати між ними перехід за посиланням та в коді з можливістю передачі параметрів.
На наступному кроці ми познайомимося з деякими варіантами розмітки, доступними в Silverlight, розглянемо основні елементи керування, а також дізнаємося, що таке контекст для текстових полів.
Є думка, що в реальному житті смартфони з ОС від Microsoft зустрічаються так само часто, як люди з по батькові Артемович. Дивна (м'яко кажучи) політика «Корпорації зла» щодо сьомого та восьмого сімейств мобільної операційної системи відвернула безліч користувачів від експериментів з «віконцями» для смартфонів, і зараз корпорація всерйоз взялася за виправлення свого іміджу в цій ніші користувача. Як підпільний фанат Microsoft я сподіваюся, що у них все вийде – «десятка» крокує планетою, її головний козир – одне ядро для всіх платформ, і тому у неї є всі шанси перетягнути на себе хорошу частину мобільного ринку. А як програміст я із задоволенням зроблю тобі вступну статтю з розробки під цю мобільну вісь, щоб ти завжди був готовий до зростання її популярності:).
Огляд архітектури
Завдяки загальному ядру та системі виконання додатків UWP одного разу написаний додаток буде працювати на всіх девайсах під керуванням Windows 10. До цього діапазону входять:
- настільні комп'ютери;
- серверні системи - ОС Windows Server 2016;
- ноутбуки – MS Surface Book;
- планшети – MS Surface Pro;
- смартфони – Lumia;
- ігрові приставки – Xbox One;
- окуляри доповненої реальності – MS HoloLens;
- настінні планшети – MS Surface Hub;
- розумний годинник - MS Band 2.
Список значний. Крім того, UWP не обмежується виконанням прикладних програм, також вона на ядерному рівні підтримує роботу драйверів. Це дозволяє створювати драйвери, які функціонують на різних пристроях, за умови, що конкретний компонент, для якого призначений даний драйвер, один і той же.
UWP підтримує драйвери як рівня ядра, так і рівня користувача. Підсистема включає інтерфейси драйверів пристроїв (Device Driver Interface - DDI), серед яких драйвер для UWP може використовувати.
Але це все не позбавляє розробника від припасування інтерфейсу під певні платформи та дозволу екрану. У якихось особливих випадках, можливо, це не знадобиться.
Інструменти розробника
Для написання, налагодження, розгортання та тестування програм під Windows 10 Mobile тобі знадобиться Visual Studio 2015 (хто би сумнівався). Цього літа вийшов третій апдейт. Категорично рекомендую! Основний його багфікс - це зменшення споживання пам'яті в порівнянні з другим апдейтом.
Також тобі знадобиться Windows 10 Anniversary Update SDK: він включає всі необхідні інструменти для розробки програм під весь парк пристроїв, що працюють на Windows 10. Якщо ж використовується VS 2015 з третім оновленням, тоді до неї вже входить найновіший SDK.
Одне з головних новацій - це чорнило Windows (Windows Ink). За допомогою цього API можна двома рядками коду додати підтримку пера. Для цього існують два об'єкти управління: InkCanvas та InkToolbar.
Новий Cortana API полегшує реалізацію управління голосом. Компонент Cortana Actions у новому API дозволяє створювати нові фрази/вирази.
Біометрична автентифікація Windows Hello тепер стала доступною для веб-розробників у браузері Edge.
Засіб для моделювання інтерфейсів користувача Blend for Visual Studio 2015 надає розширені можливості побудови інтерфейсу в порівнянні з VS. З його допомогою на мові XAML можна створювати макети всіх програм, що підтримуються: прикладних, веб, універсальних, мобільних і так далі. Також він містить конструктори для додаткових завдань, Серед них створення анімації та управління поведінкою елементів.
Способи створення програм для Windows 10 Mobile
Основний спосіб створення програм для смартфонів з Windows 10 Mobile - це розробка універсальних (UWP) додатків(Суту Visual C# → Windows → Universal майстри створення проекту).
Однак він не єдиний. Як ти знаєш, у Visual Studio 2015 вбудований Xamarin, за його допомогою також можна створювати програми для Windows 10 Mobile, одночасно для Android та iOS, змінюючи інтерфейс та залишаючи програмну логіку на C# (Visual C# → Cross-Platform).
Крім мови Visual C#, рівнозначно можна вибрати Visual Basic або Visual C++. VS 2015 дозволяє створювати універсальні додатки з допомогою JavaScript(JavaScript → Windows → Універсальні програми). Їх також можна розгорнути на пристрої Windows 10 Mobile.
Інструменти для роботи з успадкованими проектами
За довгу історію операційної системи Windowsдля неї було створено колосальну кількість різних додатків. З виходом Windows 8 і WinRT (а пізніше Windows 10 і UWP) старі класичні програми залишилися в минулому, оскільки тільки в настільних Win 8 та Win 10 підтримуються класичні Win32-, COM-, .NET-програми. Від цього Microsoft стало сумно. Але хлопці збагнули, що можуть розробити конвертер, який перетворюватиме старі програми для нової просунутої UWP-підсистеми. З цього народився Desktop App Converter.
Перетворення Xcode-проекту виконується за два кроки. Спочатку треба додати підсвічування синтаксису мови Objective-C у Visual Studio: встановити розширення objc-syntax-highlighting.vsix із папки winobjc\bin. Потім за допомогою утиліти командного рядка vsimporter.exe треба перетворити проект на Xcode на проект на VS. Після цього отриманий sln файл можна відкрити в студії, де синтаксис Objective-C буде підсвічений. Можеш побудувати та запустити програму, вона буде виконуватися так само, як усі інші Windows-програми.
Побий мене грім, як це дивно - бачити в Visual Studio коректно підсвічений код Objective-C!
Для компіляції коду Obj-C використовується вільний компілятор Clang. Оскільки на виході виходить стандартний UWP-додаток, його можна запустити на мобільному пристроїв середовищі Windows 10 Mobile. В одній програмі може бути код C++ і на Obj-C.
Якщо у тебе є проект для минулого версії Windows Phone, тобто 8.1 (або 8.0), то коли ти його відкриєш в VS 2015, студія автоматично оновить проект, щоб він відповідав вимогам універсальної програми Windows (UWP). Буде перетворена не тільки розмітка інтерфейсу користувача на XAML, але і разом з нею програмна логіка на JS/C++/C#/VB. Якщо у коді були виклики підсистеми WinRT, вони будуть перетворені на виклики UWP.
Є ще поширений тип додатків – ігри. iOS та Android візуалізують за допомогою низькорівневого інтерфейсу OpenGL. З іншого боку, на Windows 10 Mobile для виведення зображення в іграх використовується DirectX 11. Виходить несумісність. Але є рішення - відкритий проект ANGLE. ANGLE (Almost Native Graphics Layer Engine) – движок майже нативного графічного шару – дозволяє користувачам Windowsбезшовно запускати OpenGL ES програми на апаратурі, що працює з DirectX 11. Це досягається шляхом перетворення викликів із OpenGL ES API на DirectX 11 API. ANGLE повністю підтримує такі три типи додатків:
- універсальні програми для Windows 10 (Universal Windows apps);
- програми для Windows 8.1 та Windows Phone 8.1;
- класичні програми для робітника столу Windows(Windows desktop applications).
Більш докладно питання розглядається в моїй книзі «Чарівність моменту обертання» (знову ти книгу свою піариш! Ну лаадно, заслужив. – Прим. ред.).
Продовження статті доступне лише передплатникам
Варіант 1. Оформи передплату на «Хакер», щоб читати всі статті на сайті
Підписка дозволить тобі протягом зазначеного терміну читати ВСІ платні матеріали сайту, включаючи цю статтю. Ми приймаємо оплату банківськими картками, електронними грошима та переказами з рахунків мобільних операторів.
дата публікації: 15.09.2015
Тим, хто сумнівається, ставити чи ні на кохану машину Windows 10, пропонуємо невеликий оглядматеріалів про платформу, інструменти розробки та нові можливості, доступні при розробці додатків.
Думаю, всі вже знають звідки і як взяти свою копію ОС Windows 10 - не затримуватимемося на цьому моменті. Установка проводиться аналогічно інсталяції Windows 8. Якщо збираєтеся оновити систему, настійно рекомендую зробити бекап файлів із системного диска.
Інструменти
Які інструменти для розробки можна використати? Вам знадобиться нова MS Visual Studio 2015. Наразі доступні безкоштовна редакція Visual Studio 2015 Community Edition та платні редакції Professional та Enterprise.
В курсі розказано основні особливості платформи, моделей та інструментів, доступних для створення додатків Windows. Розглядаються кілька основних сценаріїв, які реалізуються в додатку: робота при малому об'ємі пам'яті, фонове виконання завдань, комунікація між пристроями, керування файлами та даними та методи взаємодії з користувачем.
Ліцензія та розблокування пристрою
Як і під час розробки для Windows 8/8.1, потрібна ліцензія розробника. Вона виходить аналогічно ліцензії розробника Windows 8/8.1 при створенні першого проекту прямо в Visual Studio (це не те саме, що аккаунт для публікації в магазині). Для встановлення програм на пристрої не забудьте їх розблокувати:
Універсальні програми
Що нового чекає на розробника? Анонсовано, що універсальна програма можна запустити на будь-якій платформі Windows 10. Це реалізовано через систему різних API. Тобто є шар API, загальний всім платформ (Universal Windows Platform, UWP). Якщо програма використовує тільки її можливості, вона буде працювати на всіх платформах з UWP.
Якщо потрібно використовувати специфічні можливості платформи (наприклад, робота з апаратними кнопками на смартфоні), то ви можете використовувати відповідні API через платформні розширення. Ця функціональність працюватиме лише на платформах, де є ці API, тому в коді потрібно вбудовувати перевірки доступності відповідних методів та класів.
Шаблони
З коробки Visual Studio нам доступний лише один шаблон проекту Blank App.
Це проект для односторінкового універсального Windows-додатку, в якому немає певних елементів керування та структури.
Крім стандартного шаблону, можна знайти шаблони спільноти розробників .
Зараз у колекції представлені такі шаблони проектів:
- Blank App, основний проект XAML із однією сторінкою. Подібний до стандартного Blank App, включеного в 10 SDK Windows, але без Application Insights телеметрії.
- SplitView App, багатосторінковий проект програми з адаптивним SplitView-контролем.
- Composition App, проект, що не використовує стандартну бібліотеку та компонентів, замість неї використовується Windows.UI.Composition API,
- Composition XAML App, проект з використанням XAML та Windows.UI.Composition API.