Введение в UWP. Универсальные приложения для Windows и Windows Phone

Операционная система Windows Core OS – это будущая основа Windows и исторический шаг вперед к превращению Windows 10 в настоящую универсальную ОС.


Вкратце, Windows Core OS (сокращенно WCOS) является связующим кросс-платформным звеном для Windows, что позволяет использовать любые устройства или архитектуры, улучшаемые модульными расширениями, способными активировать на устройствах необходимые функции.

Проект «Andromeda OS» в кругах посвященных теперь называется «Windows Core OS»

Ее основная цель – сделать ОС Windows 10 намного более гибкой и совместимой с большим количеством устройств без привязки к определенным ранее разработанным вариантам продуктов. Вследствие этого Windows станет «меньше» (в зависимости от устройства), собственно ОС будет разрабатываться быстрее, а устройства не будут перенасыщены уже неактуальными компонентами и функциями. Общая производительность и скорость выполнения операций на меньших или более слабых устройствах возрастут.

Что это значит для пользователя?

Сегодняшняя Windows 10 выпускается в нескольких вариантах (например, есть версии для настольных ПК и для мобильных устройств), не являясь единственной ОС для всех девайсов. Однако эти версии имеют общие элементы, такие как OneCore и универсальная платформа Windows, поэтому WCOS призвана заменить эти вариации универсальной платформой.

WCOS открывает дверь множеству новых конфигураций Windows. Конечно, десктопные ОС Windows 10, например, Pro и Enterprise продолжат существовать, предоставляя полную функциональность и все возможности ОС для настольных ПК.

Первичное исполнение WCOS предположительно будет разработано в 2018 году и, скорее всего, будет ориентировано на мобильный сегмент.

Следующий шаг – подготовка WCOS для настольных компьютеров и устройств типа Xbox. WCOS и совместные разработки Microsoft и CShell помогают корпорации совершить большой прыжок в сторону концепции «One Windows» («Единый Windows»). Первыми универсальными компонентами Windows 10 были OneCore и универсальная платформа Windows. Сейчас же Microsoft двигается дальше в этом направлении благодаря WCOS и CShell.

Будущее Windows

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

Важно: WCOS не предназначается для прямой работы с потребителями и не будет открыто продаваться корпорацией Microsoft. Это внутренняя платформа, позволяющая создать такие версии Windows 10, которые ранее были нереальны. Но, как обычно, Microsoft может в любое время отказаться от своих планов относительно WCOS или отложить их.

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


«Очень важно не прерывать вопросов. Любопытство имеет свое право на существование»

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

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.

В Win32s большинство функций 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. Развитые функции этой библиотеки требуются в том случае, когда необходима визуализация крупных проектов и данных. Типичные задачи, требующие ее использования, - это САПР, системы механического и промышленного дизайна, программы статистического и научного анализа.

Компания 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, откуда можно было скачать приложения для своего устройства.Обновление Windows Mobile 6.5.3 принесло поддержку емкостных экранов, мультитач и оптимизацию интерфейса под новые типы сенсоров.

Переворот мобильной операционной системы от 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.

О руководстве

С помощью этого учебного пособия вы научитесь программированию с использованием инструментария wxWidgets. В конце каждой главы вы найдёте ссылки на остальные материалы руководства.

wxWidgets

wxWidgets это набор инструментов для создания графического пользовательского интерфейса (GUI) в C++ приложениях. Это кросс-платформенный инструментарий с открытым исходным кодом. wxWidgets приложения работают на всех основных платформах: Windows, Unix and Mac. Проект был основан Юлианом Смартом (Julian Smart) в 1992 году. Это больше чем просто набор инструментов. Он предоставляет большое разнообразие классов для работы с потоками, базами данных, командными последовательностями, интерактивной помощью и настройками приложения. wxWidgets содержит большую группу виджетов. Познакомиться с сообществом wxWidgets можно на сайте http://www.wxwidgets.org/ .

Язык программирования C++

C++ один из наиболее широко используемых языков программирования на этой планете. На нем написано большинство известных программных пакетов таких как MS Office, Macromedia Flash, Firefox, Photoshop и 3D Max. C++ доминирует в мире игр для PC. Это один из самых сложных языков программирования. С другой стороны, программирование на C++ в 2007 году отличается от программирования в 1997. Многое стало проще в наши дни.

Индекс сообщества программистов TIOBE отображает примерную долю использования языков программирования (информация ниже по состоянию на 2010 год - прим. Sl-Alex). Java рулит. C++ свергнут с престола. Но C++ служит их основой и в ближайшие десятилетия для него нет серьёзных угроз. Мы можем ясно видеть специализацию среди языков программирования. Java в основном используется в корпоративных проектах и портируемых программах, C - король в системном программировании (ОС, драйверы устройств, небольшие программы), PHP прочно закрепился на небольших и средних веб-сайтах, Javascript используется для реализации клиентской части веб-приложения.

C/C++ наиболее часто используемые языки для создания классических ГУИ (Графический Пользовательский Интерфейс (GUI)) приложений для настольных систем. Вот прекрасная , поясняющая почему Java не уничтожит C++ в ближайшие годы.

Мультиплатформенное программирование

Сегодня, мультиплатформенное программирование - это модное слово. Многие языки и библиотеки хотят стать мультиплатформенными. wxWidgets изначально создавался как мультиплатфоменный инструмент. Большинство разработчиков выбирают такие возможности. Если это возможно, используют web. Или же выбирают между Qt, wxWidgets, Swing или SWT. Так же существует такая вещь как FLTK, но он не так популярен и это не лучший выбор. В моей стране есть большая железнодорожная компания. Эта компания использует ПО написанное на Java и Swing. Этот выбор обусловлен тем, что дешевле купить новое оборудование и написать ПО на Java. Используя Java, скорость разработки возрастает и количество багов уменьшается. Конечно, такой выбор правильный. Но когда мы пишем текстовый редактор на Java мы не можем сказать нашим заказчикам, эй ребята, вам нужно будет докупить ещё 1 Гб памяти. В такой ситуации Java нам мало чем может помочь. Что касается Qt, то эта библиотека главный конкурент wxWidgets. Поэтому для каждой задачи нужно использовать правильный инструмент - это самое важное решение любого программиста и менеджера.

Г Л АВ А 1

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

Сейчас перед нами, как разработчиками приложений для мобильных платформ, открываются потрясающие возможности. Еще пару лет назад казалось невероятным, что обычный разработчик сможет продавать свои приложения миллионам пользователей по всему миру с помощью магазинов приложений (Marketplace), а пользователи будут эти приложения покупать. По разным оценкам объем мирового рынка мобильных приложений в 2011 году составил от 9 до 12 млрд долларов США, и в ближайшие пять лет этот показатель вырастет в 4 раза. Одной из причин является то, что конкуренция между основными производителями операционных систем для смартфонов, такими как Microsoft с платформой Windows Phone, Apple c iPhone и Google c 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



Есть вопросы?

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

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