Розробка програм для універсальної платформи windows. Універсальні програми для Windows та Windows Phone. Що це означає для користувача

Компанія Microsoft була піонером у багатьох індустріях. Варто зазначити, що поняття "смартфон" та "комунікатор" також прийшло до нас від дітища Білла Гейтса. Революція почалася далекого 1990 року. І почалася вона не з iPhone (якого навіть близько близько не було). У цій статті ми пройдемося по всіх версіях мобільних платформ Microsoft. Успішні чи провальні? Від Windows CE до . Від Casio Cassiopeia до Nokia Lumia 1520.

Вперше Microsoft звернула увагу на мобільний ринок у 1990 році. Саме тоді Білл Гейтс захотів розширити можливості своєї компанії та створити комп'ютер, який поміщатиметься в кишеню ваших штанів. Через два роки, 1992 року, почалася розробка першої мобільної ОС від Microsoft - Windows CE. Робота просувалася вкрай повільно та складно. Перша версія Windows CE з'явилася світ у 1996 році під версією 1.0. Фактично це була сильно урізана версія Windows 95, але на іншому ядрі. Щось на кшталт Windows RT. Цікаво, що першу версію Windows CE було оптимізовано для пристроїв з 32 Кб оперативної пам'яті.

До сьогоднішнього дня, Windows CE (зараз Windows Embedded) активно розвивається та просувається окремим від смартфонів шляхом. Але саме з Windows CE розпочалася історія портативних комунікаторів, які зараз відомі як смартфони.

Windows CE послужила чудовою основою для нової операційної системи мобільних пристроїв – Pocket PC. Ця платформа представляє справжнісіньку класику від Microsoft і, варто відзначити, у світі ще багато пристроїв, на корпусах яких горять вогнем два слова - Pocket PC.

Як платформа, Pocket PC канула в небуття в 2003 році, коли вийшла перша Windows Mobile 2003. Але Microsoft полюбила назву Pocket PC і використовували його як бренд у Windows Mobile пристроях. Остаточно про Pocket PC забули у 2007 році з виходом Windows Mobile 6.

Початок нового покоління мобільних комп'ютерів Microsoft. У системі з'явилися програми як розважального характеру (графічний редактор, Windows Media Player), так професійної роботи. Істотно доопрацьовано IE, в якому з'явилася підтримка JavaScript і більш оптимізована під "важкі" сторінки. Система також отримала підтримку бездротових стандартів Bluetooth, Wi-Fi, IPSec/L2TP, IPv6.

WM2003 виходила в чотирьох редакціях – Premium для топових пристроїв, Professional з більш урізаним набором додатків для доступніших пристроїв, версія Pocket PC Phone Edition (в ній була функція відповіді на дзвінок шляхом відправки смс) та Windows Mobile 2003 for Smartphone. У цій же WM2003 з'явилася перша гра Jawbreaker.

Це не окрема версія операційної системи, а оновлення, яке було орієнтоване на покращення роботи системи та оптимізацію під нові види пристроїв. Наприклад, WM2003SE отримала підтримку екранів 640х480, функцію зміни орієнтації екрану та систему захисту WiFi-мереж.

Вийшла 10 травня 2005 року. Абсолютно новий рівень Windows Mobile. Система отримала низку нових, ніде не виданих раніше можливостей. Інтерфейс користувача був оптимізований для зручнішої роботи з джойстиком. Смартфоном почало легко керувати однією рукою, а також з'явилася QWERTY-клавіатура. У цій версії Windows Mobile 5 починає поступово йти слово Pocket. Наприклад, офісний пакет було перейменовано з Pocket Office на Office Mobile.

У офісний пакет увійшов новий додаток – PowerPoint Mobile. Всі офісні програми тепер працюють з повнофункціональними класичними файлами з десктопної версії Office, а від Pocket-формату відмовилися. Комунікатори на Windows Mobile 5 вміли працювати у 3G-мережах, підтримували USB 2.0, Active Sync 4.0 та мали вбудований Windows Media Player 10.

Система була представлена ​​12 лютого 2007 року у Барселоні. Саме на цій операційній системі працював перший сенсорний смартфон, який розпізнав натискання пальцем, а не пером. Він називався HTC Touch. Windows Mobile 6 могла похвалитися системою шифрування карт-пам'яті, системними звуками та системою Windows Update для оновлення системи в автоматичному режимі. Була також тісна інтеграція з Live-сервісами.

Вперше за історію Windows Mobile, в ОС з'явився Marketplace для розробників та побудови додатків ними. Офісний пакет було доповнено Office Exchange та One Note. Саме в Windows Mobile з'явилася підтримка роздільної здатності екрану 800х480, яка використовується в поточних Windows Phone.

Йшов 2008 рік. Microsoft випускає невелике оновлення Windows Mobile 6.1. Воно принесло Internet Explorer нові функції - масштаб та огляд сторінки. Файли на пристрої могли бути зашифровані та з'явився диспетчер завдань. Смс-листування набули нового вигляду. У редакції Windows Mobile 6.1 для смартфонів з'явилася можливість змінювати інтерфейс користувача на фірмовий "карусельний".

Остання ОС під назвою Windows Mobile. Система була анонсована на Mobile World Congress у Барселоні у 2009 році. Інтерфейс було значно перероблено. Екран блокування відображав невелику інформацію про події в системі. Елементи на екрані "Сегодня" повністю перероблені під управління пальцями.

Internet Explorer оновився до шостої версії, а користувачам став доступний Windows Marketplace for Mobile, звідки можна було завантажити програми для свого пристрою.

Переворот мобільної ОС від Microsoft. У момент випуску Windows Mobile 6.5 корпорація Microsoft усвідомила, що битва за мобільний ринок частково програно. Конкуренти Apple і Google почали швидко завойовувати ринок, а позиції WM падали. Треба було терміново щось змінювати і Microsoft вирішили створити все наново, випустивши принципово новий продукт, відомий зараз як Windows Phone. Windows Phone 7 було анонсовано на MWC.

Великим мінусом Windows Phone 7 була можливість оновлення з Windows Mobile 6.5.3 і це не дивно, адже все було почато заново. Система отримала радикально інший, ніде не бачений раніше інтерфейс, повноцінний магазин програм, закриту ФС, новий IE, новий Office, синхронізацію з Zune та інтеграцію з Xbox.

Через рік вийшло велике оновлення Windows Phone 7.5 Mango. Понад 500 змін та нововведень суттєво прискорили та покращили роботу системи. З'явилася російська мова, російська клавіатура та підтримка роботи з фронтальною камерою. Ще через рік, у тому ж лютому, вийшла Windows Phone 7.5 Tango, яка уможливила випуск бюджетних пристроїв з 800Мгц процесором і 256Мб оперативної пам'яті. Таким пристроєм стала Nokia Lumia 610.

Наприкінці 2012 року корпорація Microsoft оголосила про вихід Windows Phone 7.8 - наступне оновлення для Windows Phone 7.5. Оновлення було створено з метою продовжити життєвий цикл Windows Phone 7 пристроїв, оскільки до Windows Phone 8 вони не змогли оновитися.

7.8 розширило графічний інтерфейс, принесло три розміри плиток, нові акцентні теми оформлення та динамічні шпалери Bing. Для користувачів Nokia, з інсталяцією Windows Phone 7.8 стали доступні програми, що розширюють функціонал системи - встановлення рингтонів на борту екрана та передача файлів через Bluetooth.

Windows Phone 8

Абсолютно нове ядро ​​Windows Phone 8 прирекло користувачів Windows Phone 7 на відсутність можливості оновитися до останньої версії ОС та встановлення програм, які створені виключно для Windows Phone 8. У порівнянні з Windows Phone 7 восьма версія стала значно кращою. У системі з'явилися функція "Дитяча", передача по Bluetooth, підтримка FullHD (GDR3-оновлення) та 720p-екранів, багатоядерних процесорів, 2Гб оперативної пам'яті, NFC-чіпів, тісну інтеграцію з SkyDrive, новий IE10, блокування орієнтації екрану, режим " автомобілі" та багато інших оновлень. Істотним нововведенням є наявність функції оновлення "по повітрю" і відсутність необхідності додаткового ПЗ для синхронізації. Користувачі Zune були вкрай незадоволені програмою. Наразі Windows Phone 8 GDR3 є актуальною версією ОС.

Windows Phone 8.1

Версія операційної системи, яка знаходиться у стадії розробки та має бути анонсована на початку 2014 року. Згідно з чутками, в ній з'явиться центр сповіщень, а також злиття з Windows RT.

Останнє оновлення: 12.04.2017

UWP (Universal Windows Platform)являє собою уніфіковану платформу для створення та запуску програм у Windows 10 та Windows 10 Mobile.

UWP стала результатом фолюції більш ранніх технологій. Так, з виходом Windows 8 було впроваджено нову архітектурну платформу для додатків – Windows Runtime (WinRT), яка дозволяла запускати додатки у так званому режимі Modern (Metro) на десктопах, планшетах. Потім з виходом Windows 8.1 і Windows Phone 8.1 ця технологія набула розвитку - з'явилися "універсальні додатки", які можна було запускати відразу Windows 8.1 та WP8.1. І в липні 2015 року офіційно вийшла нова ОС Windows 10. Вона використовує платформу UWP, яка є розвиток Windows Runtime.

Як підказує назва платформи, вона є універсальною – універсальною для всіх пристроїв екосистеми Windows 10. А це звичайні дестопи, планшети, мобільні пристрої, пристрої IoT (інтернет речей), Xbox, пристрої Surface Hub. І програма UWP може однаково працювати на всіх цих платформах, якщо на них встановлена ​​Windows 10.

Чому UWP?

Програмування під UWP несе низку переваг:

    Широта поширення. На даний момент (квітень 2017) Windows 10 встановлена ​​вже більш ніж на 400 мільйонів пристроїв. На робочих столах Windows 10 вже випередила Windows 8/8.1.

    Підтримка широкого кола пристроїв. Десктопи, планшети, смартфони, великі планшети Surface Hub, різні IoT-пристрої, у перспективі пристрою віртуальної реальності HoloLens – коло пристроїв, на яких може працювати Windows 10 справді широке.

    Підтримка різних мов та технологій програмування. UWP-програми можна створювати за допомогою таких мов, як Visual C++, C#, Visual Basic, JavaScript. Як технологію створення графічного інтерфейсу Visual C++, C# і Visual Basic використовують XAML, JavaScript застосовує HTML. Крім того, C++ може замість XAML використовувати DirectX. Тобто досить поширені та й знайомі багатьом технології.

    Магазин додатків та зручність розповсюдження. Windows Store є чудовим місцем для поширення UWP-додатків, як платних, так і безкоштовних. Самі можливості платформи та магазину Windows Store дозволяють використовувати різні способи монетизації. Наприклад, можна інтегрувати до програм блоки для показу реклами через різні SDK. Можна розповсюджувати за певну плату, причому оплату можна гнучко налаштовувати. При необхідності можна вбудувати надання ознайомлювальної версії, після якої користувач може вирішити, купувати програму чи ні. І також можна монетизувати за моделлю freemium, за якої додаток умовно безкоштовний, а окремі послуги всередині програми надаються за певну плату. Причому всі ці можливості монетизації знесічуються вбудованим інструментом SDK.

    Багаті можливості платформи. UWP багато успадковує від Windows Runtime з Windows 8.1 і в той же час надає багато нових функціональностей, як, більш багаті можливості по інтеграції з хмарою, використання Cortana, системи повідомлень у Win10 та багато іншого.

Що необхідно для розробки під UWP

Для програмування під UWP потрібна ОС Windows 10. Всі інші операційні системи, як Windows 8.1/8/7, не кажучи вже про Windows XP, не підходять!

Також знадобиться середовище розробки Visual Studio 2017 Community. Це повнофункціональне безкоштовне середовище розробки, яке можна завантажити з офіційного сайту за адресою https://www.visualstudio.com/downloads/download-visual-studio-vs.

Також можна використовувати версію VS 2015, а решту попередніх версій Visual Studio - 2013, 2012, 2010 і т.д. з UWP не працюють.

Під час інсталяції Visual Studio 2017 у програмі інсталятора необхідно зазначити відповідний пункт:

Перш ніж розпочати створення програм, переконайтеся, що в центрі оновлення в Windows 10 встановлено відповідну опцію для розробників:

І маючи Windows 10 та встановлену Visual Studio 2017, можна приступати до розробки програм.

Windows 10 стала єдиною програмною платформою Microsoft, що керує різними пристроями: від мікроконтролерів і великих серверних систем. Тільки вдумайся: одне ядро ​​для ПК, для мініатюрних девайсів (Internet of Things), консолі (Xbox One), моноблоку (Surface Hub), пристроїв доповненої реальності HoloLens! Між ядром та прикладними програмами розташована система виконання UWP. Вона служить підсистемою, яка надає програмним забезпеченням апаратну функціональність, керовану ядром за допомогою драйверів пристроїв. Програмістам, відповідно, запропоновано високорівневі засоби для взаємодії із системою. У цій статті ми в деталях розберемося на платформі UWP та її можливостях управління комп'ютером.

Коротко про головні фічі UWP

Universal Windows Platform включає всі ті передові можливості та сервіси, які зарекомендували себе ще у Metro та Windows RunTime. Це живі плитки, інформація на екрані блокування, що відповідає поточному часу та зоні перебування пристрою, спливаючі повідомлення, в необхідний момент нагадують користувачеві про різні події в системі, Action Center, що дозволяє налаштовувати спливаючі повідомлення та інший контент, з яким користувачеві треба взаємодіяти; виконання програми у фоновому потоцізвідки його можна завжди викликати або відновити за допомогою тригерів, що відбуваються за певних умов, зручних для користувача. Твоя програма може взаємодіяти з іншими процесами за допомогою контрактів; програма може взаємодіяти також з усім навколишнім світом: ним можна керувати голосовими командами, воно може спілкуватися з іншими пристроями через Bluetooth та багато іншого.

Взаємодія з апаратними платформами

Крім хороших новин, з якими я познайомив тебе у вступі, є одна погана. Насправді вона радше середня:). Справа в тому, що програми для UWP не «успадковані», їх доведеться писати з нуля. Тобто заради доброї справи виконання одного бінарника на всіх пристроях доведеться піднапружитися. До речі, коли я говорю про «один бінарник», я трохи лукавлю. Коли розробник заливає свою програму в загальний для всіх платформ Store, компілятор .NET Native (докладніше див. у попередній статті) компілює програму під всі підтримувані Windows 10 мікропроцесори.

Між апаратними платформами додаток зберігає не тільки загальний функціональний код, а й спільний інтерфейс користувача. Однак різні пристрої пропонують наявність певних хардварних розширень: смартфон у порівнянні з PC - це акселерометр, Touch-screen (є на PC, але далеко не на всіх), GPS, компас, апаратна кнопка BACK та інше. У той же час у смартфона відсутній жорсткий диск, CD/DVD/Blue-ray. З такими апаратними можливостями дозволяють працювати спеціально заточені під певний вид девайсу розширення - SKU: Desktop SKU, Mobile SKU, IoT SKU, Xbox SKUі так далі.

Якщо абстрактно уявити пристрій операційної системи Windows 10, ми побачимо розширення SKU під ядром, які є ядерними компонентами. Звідси випливає, що ці розширення подібні драйверів пристроїв. З іншого боку, над ядром знаходиться Universal Windows Platform - універсальна платформа для виконання спеціальних додатків.

Продовження доступне лише передплатникам

Варіант 1. Оформи передплату на «Хакер», щоб читати всі матеріали на сайті

Підписка дозволить тобі протягом зазначеного терміну читати ВСІ платні матеріали сайту. Ми приймаємо оплату банківськими картками, електронними грошима та переказами з рахунків мобільних операторів.

ГЛАВА 1

Платформа Windows Phone 7.5

Зараз перед нами, як розробниками додатків для мобільних платформ, відкриваються чудові можливості. Ще кілька років тому здавалося неймовірним, що звичайний розробник зможе продавати свої додатки мільйонам користувачів по всьому світу за допомогою магазинів додатків (Marketplace), а користувачі купуватимуть ці додатки. За різними оцінками, обсяг світового ринку мобільних додатків у 2011 році склав від 9 до 12 млрд доларів США, і в найближчі п'ять років цей показник зросте в 4 рази. Однією з причин є те, що конкуренція між основними виробниками операційних систем для смартфонів, такими як Microsoft із платформою Windows Phone, Apple з iPhone та Google з Android, безперервно посилюється. Це дозволяє припустити, що в майбутньому дані платформи продовжать розвиватися швидкими темпами, а значить, потреба в розробниках мобільних додатків буде лише зростати.

Microsoft вже багато років створює операційні системи для смартфонів. Про це говорить і цифра 7 у версії операційної системи Windows Phone. Однак ця цифра оманлива. Windows Phone 7 – це повне переосмислення платформи. Раніше мобільні операційні системи від Microsoft називалися

Windows Mobile (остання версія 6.5.3), а раніше Pocket PC (2000 і 2002). Одна-

Microsoft зіткнулася з тим, що старі підходи та принципи вже не задовольняють новим запитам користувачів. Тому Microsoft вирішила почати з нуля та створити операційну систему Windows Phone, яка не сумісна з Windows Mobile ні з погляду користувача, ні з погляду розробника. Єдине загальне у даних операційних систем те, що в їхній кістяку лежить ядро

Windows CE, але ні користувачі Windows Phone, ні розробники Windows CE

безпосередньо не взаємодіють та взаємодіяти не можуть. Програми для

Windows Mobile не працюють на Windows Phone 7 і навпаки. Windows Phone 7 про-

володіє новим інтерфейсом користувача, побудованим на принципах Metroдизайну, що вигідно відрізняє цю платформу від інших мобільних операційних систем (рис. 1.1). Операційна система Windows 8 також має інтерфейс користувача, заснований на Metro-дизайні, як і останні версії консолі Xbox 360. Таким чином, Microsoft прагне уніфікувати інтерфейс своїх продуктів.

Мал. 1.1. Стартовий екран телефону під керуванням Windows Phone 7

Пристрої під керуванням Windows Phone 7 мають стандартизовані мінімальні вимоги до апаратної частини телефонів, завдяки яким операційна система працює добре на всіх пристроях, що є у продажу. Крім того, всі пристрої під керуванням Windows Phone оновлюються централізовано, завдяки чому ви можете бути впевненими в тому, що на вашому апараті протягом кількох років після покупки працюватиме найсвіжіша версія операційної системи.

Перша версія Windows Phone 7 побачила світ у жовтні 2010 року. Наступне велике оновлення платформи, Windows Phone 7.5 (кодове ім'я Mango), вийшло менш як через рік у вересні 2011 року. Windows Phone 7.5 – це назва продукту. Сама операційна система має версію 7.1. Тому, коли говорять про Windows Phone 7.5 або 7.1 мають на увазі одну й ту саму ОС. Тут ситуація подібна до настільних версій Windows. Так, Windows 7 має версію 6.1. Нехай вас не бентежить плутанина між назвами продуктів та версіями операційної системи.

Windows Phone 7.5 є першою версією платформи, що має російську локалізацію. У Росії офіційні телефони на Windows Phone почали продаватися 16 вересня 2011 року, і на даний момент Росія є одним із провідних ринків для Windows Phone.

Наступна версія платформи Windows Phone, що має номер версії 7.1.1 (кодове ім'я Tango), на момент написання книги ще не побачила світ. Ця версія

призначена в першу чергу для телефонів з 256 Мбайт оперативної пам'яті (раніше випущені моделі на WP 7.5 мали 512 Мбайт оперативної пам'яті), що значно розширює ринок апаратів на Windows Phone та дає можливість виробникам створювати дешевші моделі.

У цій книзі ми орієнтуємося на Windows Phone 7.5, хоча всі приклади працюватимуть і на телефонах, керованих Tango-версією операційної системи. Про обмеження роботи програм на телефонах з 256 Мбайт оперативної пам'яті ми розповімо окремо.

Програми для Windows Phone 7 створюються керованими мовами, таких як C# і Visual Basic, за допомогою технології під назвою Silverlight. Графічний інтерфейс додатків описується декларативно мовою XAML (eXtensible Application Markup Language, мову розмітки додатків, що розширюється). Якщо ви не знайомі з Silverlight, але маєте досвід створення .NET-програм або сайтів, то вам буде приємно дізнатися, що в основі Silverlight лежить урізана версія .NET. Ігри для Windows Phone створюються за допомогою технології XNA (не є абревіатурою). Ви можете використовувати Silverlight та XNA спільно в одному додатку. Крім того, ніхто не забороняє створювати ігри за допомогою Silverlight або програми, які не є іграми, але потребують потужної 3D-графіки за допомогою XNA. На рис. 1.2 показано архітектуру платформи Windows Phone 7.

Мал. 1.2. Архітектура платформи Windows Phone

Платформа Windows Phone з погляду розробника програм не є чимось унікальним. Знаючи XAML і мову C# або Visual Basic, ви можете створювати додатки для телефонів, традиційні настільні програми за допомогою технології WPF (Windows Presentation Foundation), Silverlight-додатки, робо-

та в браузері та поза ним, а також програми в Metro-стилі для Windows 8.

Звичайно, кожна з цих платформ має свої особливості, і часто неможливо просто перенести код без змін з однієї платформи на іншу, але основа скрізь одна. Крім того, за допомогою XNA можна створювати ігри не тільки для телефону, а й для комп'ютера та консолі Xbox 360.

Windows Phone 7.5 включає браузер Internet Explorer 9 (IE 9). Це повно-

функціональна версія, яка використовує загальний код із настільною версією Internet Explorer. Однак, Internet Explorer на телефоні не підтримує плагіни, такі як Flash або браузерний Silverlight. Хорошою новиною є те, що IE 9 на Windows Phone має той же супершвидкий JavaScript-движок (за назвою Chakra), що і настільна версія. Це означає, що ви можете не тільки переглядати улюблені сайти на телефоні, але й створювати власні HTML5-програми, оптимізовані для Windows Phone. Такі програми працюватимуть у браузері і можуть використовувати теги

Якщо ви хочете створювати HTML5-програми, що працюють не тільки на Windows

Phone, але й на iPhone/iPad, Android та Bada, скористайтеся бібліотекою PhoneGap

за адресою: http://phonegap.com/.

Програми, що використовують PhoneGap, з точки зору користувача є звичайними програмами. Вони можуть звертатися до операційної системи API і, скажімо, отримувати знімки з камери або дані акселерометра. Такі програми розповсюджуються через Marketplace. Проте всі можливості телефонів не підтримуються, а для сумісності між мобільними операційними системами потрібно докласти значних зусиль.

Якщо ви переносите програму для iOS, Android або Symbian/Qt на Windows Phone, вам може допомогти документація, розміщена на сайті http://wp7mapping.interoperabilitybridges.com/.

Там ви знайдете посібники зі створення програм для Windows Phone для iOS-, Android- та Symbian-розробників, а також іншу інформацію щодо перенесення програм. У тому числі на сайті розміщено довідник відповідності API різних платформ. Наприклад, якщо на платформі Android ви використовуєте клас android.os.Vibrator , то ввівши назву даного класу в рядок пошуку, ви побачите, що на платформі Windows Phone відповідає клас VibrateController з простору імен Microsoft.Devices . Також на сайті наведено посилання на інструменти інтеграції Windows Phone із сторонніми рішеннями, наприклад

Windows Phone Toolkit для Amazon Web Services (S3, SimpleDB та SQS Cloud

Бібліотека програміста


«Дуже важливо не переривати запитань. Цікавість має право на існування»

Альберт Ейнштейн

37. Платформи сімейства Windows

У цьому розділі використані матеріали із книги: Джеффрі Ріхтер. Windows для професіоналів (програмування у Win32 API для Windows NT та Windows 95)/Пер. з англ. - М.: Видавничий відділ "Російська Редакція" ТОВ "Channel Traiding Ltd.", 1995. - 720с. (Оригінальне видання – 1995р.)

Інтерфейс Win32 API.Операційні системи Windows різних версій пропонують розробникам прикладних програм (програмістам) інтерфейс програмування додатків Win32 API (application programming interface). API є сукупністю функцій, до яких може звертатися додаток.

Інтерфейс Win32 API реалізований на трьох платформах: Win32s, Windows NT (Windows 2000) та Windows 95. Початкова мета компанії Microsoft полягала в тому, щоб реалізувати цей інтерфейс (тобто всі його функції) на всіх трьох платформах. У цьому випадку програма, розроблена для будь-якої платформи, можна було б перенести на іншу платформу досить просто: необхідно було б тільки знову компілювати його для іншої платформи. Насправді, однак, здійснити цю мрію не вдалося, внаслідок чого між трьома названими платформами є досить суттєві відмінності, які звужують можливості з перенесення додатків з однієї платформи на іншу.

Платформа Win32sбула найпершою платформою, здатною виконувати 32-бітові програми. Вона складається з набору бібліотек, що динамічно підключаються (dll-файли) і драйвера віртуального пристрою (virtual-device driver). Цей набір є доповненням до 16-бітових систем Windows 3.x. Таким чином, Win32s є лише надбудовою над Windows 3.x. Ця надбудова перетворює 32-бітові параметри функцій на 16-бітові і викликає відповідні функції Windows 3.x.

У Win32 більшість функцій Win32 реалізовано просто у вигляді "заглушок": при їх викликі відбувається повернення управління без виконання будь-яких дій. Наприклад, оскільки 16-бітна Windows не підтримує потоків, функція CreateThread поверне порожній покажчик. Водночас у Win32s були реалізовані деякі функції, що не підтримуються Windows 3.x. До них відносяться, наприклад, файли, що проектуються в пам'ять, і структурна обробка винятків.

Метою розробки Win32s було підштовхування програмістів до розробки 32-бітових додатків для того, щоб на момент випуску платформи Windows NT на ринку вже були присутні 32-бітові програми. Ця мета, на жаль, так і не була досягнута, оскільки Win32s не мала особливого успіху.

Платформа Windows NT- Це повноцінна операційна система, яка підтримує функції Win32 у найбільш повному обсязі. Вона є порівняно новою ОС і над нею не тяжить вантаж MS DOS. Корпорація Microsoft робить ставку саме на цю операційну систему. Щоправда, платформа Windows NT висуває високі вимоги до апаратного забезпечення комп'ютера, насамперед обсягу ОЗУ і вінчестера.

Платформа Windows NT має низку переваг у порівнянні з двома іншими платформами.

По-перше, 32-бітові програми є для неї "рідними" і можуть виконуватися найбільш ефективно завдяки інтерфейсу Win32 API. Тут необхідно відзначити і високу стійкість платформи стосовно неминучих збоїв у роботі додатків.

По-друге, Windows NT здатна виконувати (одночасно) кілька різнотипних програм, розроблених для MS DOS, OS/2, POSIX, Presentation Manager та Windows 3.x.

По-третє, Windows NT є ​​єдиною переносимою з платформ, тобто. вона здатна працювати на машинах із різними типами процесорів. Так як більша частина коду Windows NT написана мовами С і С++, то для її перенесення на комп'ютер з іншим (не Intel) типом процесора - MIPS R4000, DEC Alpha або Motorola PowerPC - достатньо перекомпілювати вихідні тексти за допомогою компілятора рідним" для процесора. Звичайно, насправді перехід на інший тип комп'ютера дещо складніший, оскільки вимагає переписування двох низькорівневих компонентів системи: ядра (Kernel) і так званого абстрагування шару від апаратної частини комп'ютера (Hardware Abstraction Level – HAL). Ці компоненти пишуться переважно на відповідній версії мови асемблер і дуже специфічні для конкретного процесора. Щоб програми, написані для Windows NT, могли працювати іншому комп'ютері, їх залишається лише перекомпілювати.

Таким чином, якщо передбачається використовувати додаток, що розробляється на комп'ютерах з різними типами процесорів, то його треба розробляти для платформи Windows NT.

І, нарешті, по-четверте, Windows NT є ​​єдиною з обговорюваних платформ, яка може працювати на багатопроцесорному комп'ютері і дійсно буде використовувати його унікальні можливості. Наприклад, якщо на комп'ютері встановлено 30 процесорів, то Windows NT забезпечить одночасне виконання до 30 потоків. (Фірма Sequent розробила комп'ютерну систему із 30 процесорами Intel.)

Платформа Windows 95- Це новітня операційна система, яка заповнює на ринку дуже об'ємну нішу комп'ютерів класу Intel 386 і вище з 4 і більше мегабайтами ОЗУ. Причиною випуску Windows 95 є надмірно високі вимоги Windows NT до характеристик комп'ютера.

Для того щоб Windows 95 могла працювати на машинах з 4 Мбайт пам'яті, MIcrosoft урізала деякі функції інтерфейсу Win32 API. Внаслідок цього Windows 95 не повністю підтримує деякі функції Win32 API, зокрема, асинхронного введення/виведення файлів, налагодження, реєстрації, захисту та ін. Ці функції реалізовані, але не повністю. Водночас Windows 95 підтримує більшість функцій Win32 API і є найпопулярнішою платформою.

Отже, з розглянутих трьох платформ нині слід серйозно розглядати лише платформи Windows NT і Windows 95, оскільки платформа Win32s насправді не підтримує більшість функцій Win32 API.

Слід зазначити ще одну відмінність у платформах Windows 95 та Windows NT. У Windows 95 до інтерфейсу Win32 API додано низку нових функцій підтримки модемів, більш точного відтворення кольорів та іншого сервісу. І це Windows NT (принаймні версії 3.5) цих функцій немає взагалі. Отже, при розробці програм треба мати на увазі, що деякі функції інтерфейсу Win32 API існують на одній платформі і відсутні на іншій. Це прикро, що платформа Windows NT повинна, за задумом компанії Microsoft, підтримувати всі функції інтерфейсу Win32 API.

Повний перелік відмінностей реалізації платформи Win32 у різних версіях Windows можна знайти у розділі "Platform Differences" довідкового файлу ProgTech.hlp.

В операційну систему Windows NT 3.5 вбудовано графічні можливості тривимірної графіки OpenGL API. OpenGL – це незалежна від операційної системи промислово-стандартна бібліотека графічних функцій, розроблена фірмою Silicon Graphics для своїх робочих станцій. В даний час OpenGL визнана Architecture Review Board, що включає такі фірми, як DEC, IBM, Intel, Microsoft та Silicon Graphics. Технологія OpenGL була ліцензована Microsoft для надання цього потужного 32-розрядного API користувачам Windows NT. Розвинені функції цієї бібліотеки потрібні в тому випадку, коли потрібна візуалізація великих проектів та даних. Типові завдання, які потребують її використання, - це САПР, системи механічного та промислового дизайну, програми статистичного та наукового аналізу.