Главная » C#, Windows Runtime, XAML, Разработка для Windows 8 » Windows 8 для разработчиков

0

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

Начнём  наш  обзор  с  того,  что  представляет  собой  сегодняшний  Windows- разработчик и какие знания ему необходимы, чтобы  приступить к созданию приложений Windows 8.

Итак, если говорить о большинстве современных разработчиков на  Windows- платформе, то можно выделить в основном  .NET-разработчиков, владеющих такими технологиями, как Windows  Presentation Foundation, ASP.NET, Silverlight и др. Одно из преимуществ данных технологий состоит в том, что разработка приложений происходит по некоторым унифицированным схемам. Так, владея библиотеками по взаимодействию с данными в ASP.NET,  разработчик  может применить  эти  знания  в  приложениях  Windows   Form,  а  владея  основами построения  интерфейсов  в  Windows   Presentation  Foundation,  можно  легко применить эти знания в  приложениях Silverlight. При этом управление всеми приложениями   осуществляется   с   помощью   платформы   .NET   Framework, предоставляющей общую библиотеку классов и набор механизмов для запуска и управления приложением. А переходя от технологии к технологии, можно не просто использовать унифицированные подходы и общую библиотеку классов, но и единый язык программирования. Тут выбор достаточно велик, начиная от C++ и заканчивая языком программирования C# или VB.NET.

Иными   словами,  сегодняшний  Windows-разработчик  —   это   разработчик, который владеет технологиями .NET Framework и одним из управляемых языков программирования, например C#.

Нужно помнить, что платформа .NET Framework является всего лишь прослойкой между  приложением  и  программным  интерфейсом  операционной  системы (Win API), который был разработан для  создания приложений на Си, еще до повсеместного внедрения  объектно-ориентированного подхода. Создаваемые приложения  обладали интерфейсом, базирующимся на стандартных, хорошо известных элементах управления, и подразумевали механизмы взаимодействия с приложением в виде клавиатуры и мыши.

Но технологии развиваются. Так, последняя модель телефона Nokia,  на базе платформы  Windows  Phone,  оснащена  процессором  с  частотой  1,4  ГГц,  о наличии которого на стандартном ПК, не говоря уже о телефоне, еще двенадцать лет назад нельзя было и мечтать. При  этом меняется способ взаимодействия с устройствами. Сегодня  простой телефон тяжело представить без сенсорного экрана,  а  планшетные  ПК  быстро  входят  в  нашу  жизнь.  Именно  поэтому разработчикам   требуются   новые   программные   интерфейсы   и   элементы управления.

Проблему создания естественных интерфейсов, то есть интерфейсов, с которыми пользователь может  взаимодействовать естественным  образом (с  помощью прикосновений и жестов), частично удалось решить путем внедрения технологий Windows  Presentation  Foundation.   WPF  базируется  на  DirectX  и  позволяет

«рисовать»  любые  элементы  управления,  которые  могут  прийти  в   голову разработчика. Но даже Windows Presentation Foundation не  является частью API, а лишь представляет прослойку между  приложением, DirectX и старым программным интерфейсом системы.

Вторая    проблема,    которая    возникала    перед    Windows-разработчиками, это  получение  прибыли  от  продажи   своих  приложений.  Пока  речь  шла о  корпоративном  рынке,  то   все  было  хорошо.  Разработчики  создавали специальные приложения для отдельных компаний и получали свои дивиденды. Но  если разработчик хотел создать коробочное решение, то  тут  возникало сразу несколько проблем: отсутствие хорошего канала по продаже приложений и вероятность воровства (как публикации на пиратских сайтах, так и создания дубликатов).

Наконец, стало появляться множество «легковесных» устройств на  базе ARM- процессоров с невысокой производительностью, которые завоевали достаточно большую долю рынка, но были недоступны для Windows-разработчиков из-за своей несовместимости с операционными системами Windows (x86, x64).

Именно поэтому новая операционная система стала не просто еще одной версией Windows, а чем-то абсолютно новым. Изменения настолько колоссальны, что их можно сравнить с появлением первых версий Windows во время золотого века операционной системы MS-DOS.

Об изменениях, коснувшихся разработчика, можно говорить долго, но попробуем выделить три основных нововведения, о которых и пойдет речь в этой книге.

Интерфейс системы и типы устройств

Операционная   система   Windows   8   разработана   таким   образом,    чтобы удовлетворять нужды и корпоративных клиентов, и обычных  пользователей. Windows  8  подойдет  как  для  запуска  сложных   приложений,  работающих в домене предприятия, так и позволит использовать возможности домашних ПК и планшетов, включая устройства на базе ARM-процессоров. Иными словами, Windows 8  является логическим продолжением Windows 7, поддерживая все возможности последней и дополняя их функционалом,  ориентированным на новые требования рынка.

При этом новый интерфейс позволяет работать как с помощью  стандартных устройств (клавиатуры и мыши), так и с помощью прикосновений и жестов. Тут появляется такое понятие, как интерфейс Metro, которое было введено во время

анонса платформы Windows Phone и которое определяет новый инновационный тип  интерфейса,  разработанный  Microsoft.  Этот   тип   интерфейса  является основным в новой операционной системе  и позволяет вызывать привычный рабочий стол как одну из подсистем Windows 8. Старый рабочий стол запускается и тогда, когда пользователь вызывает приложение «старого» типа, разработанное в стандартном стиле.

Скажем пару слов о новом интерфейсе, так как его понимание лежит в основе всех приложений, описанных в этой книге. Так, если  запустить  Windows 8, то на основном экране Вы сможете увидеть  набор анимированных плиток (tiles) вместо статического рабочего стола. Плитки располагаются в несколько рядов вдоль всего экрана, поддерживающего горизонтальный скроллинг.

Рис. 1.1.

Данные плитки легко перемещать в любое место экрана, просматривать на них динамическую информацию, а также менять их  размер (поддерживаются два режима отображения — стандартный и  расширенный, переключиться между которыми можно, щелкнув плитку правой кнопкой мыши). Подобный интерфейс действительно  похож на основной экран в Windows Phone, предполагающий активную работу с помощью жестов. Естественно, задача разработчика состоит в  том,  чтобы не  просто создать, но  и,  добавив анимацию  к  плитке своего приложения, придать ему некоторую уникальность.

После запуска одного из приложений пользователя ждет другой  сюрприз — полное  отсутствие  выделенного  окна  приложения.  Это  связано  с  тем,  что в Windows 8 основная ставка сделана на представление контента и возможность пользователя работать с этим контентом, не отвлекаясь на другие вещи. Поэтому все приложения в стиле Metro запускаются в полноэкранном режиме. И вот тут сюрприз, состоящий в разработке универсальных интерфейсов, подстерегает уже разработчика. Так, чтобы поддерживать работу приложения в  полноэкранном режиме на всех типах устройств (с учетом разных  разрешений, книжной или альбомной ориентации, работы с помощью жестов или клавиатуры), необходимо обладать  большим  запасом  знаний  и  реализовывать  дополнительный  код. Тут  могут  помочь   знания  XAML,  полученные  при  создании  приложений WPF или  Silverlight. Правда, в  последних разработчики часто устанавливали фиксированный размер окна.

Естественно,  приложение  может  иметь  меню  и  механизмы  для   установки настроек.  Именно  поэтому  в  Windows  8  появляются   панель  приложения (Application Bar) и системное меню. Если Вы работаете с клавиатурой, то панель приложения можно  вызвать  нажатием  правой  кнопки  мыши  (или  жестом), а системное меню —  перемещением курсора мыши в верхний правый угол экрана либо с помощью комбинации клавиш Win+C (или жеста). Ниже можно увидеть несколько команд в панели приложения в стандартном приложении по чтению лент новостей.

Рис. 1.2.

А вот так выглядит системное меню:

Системное меню является не только способом  взаимодействия с Windows 8, но и может включать  функционал, определяемый Вашим  приложением. Так,  с  помощью  пункта  Settings  можно задать  настройки   Вашего  приложения,  а  пункт  меню  Search позволит  подключить механизм поиска данных из приложения. Интеграция приложения и операционной системы является одной из важных тем и будет рассмотрена в отдельной главе.

Кроме  различного  типа  разрешений,  альбомной  и   книжной ориентации,   необходимо   также    поддерживать    возможность размещать приложение в прикрепленном режиме. Данный режим позволяет  держать активным сразу два приложения на экране, одно из которых отображается в виде полосы  фиксированного размера. Режим доступен только в альбомной ориентации и только для разрешений (по горизонтали) более 1366 пикселей.

Рис. 1.3.

Рис. 1.4.

Таким образом, необходимо учитывать не только ориентацию, но и то, как будет выглядеть «уменьшенная» версия приложения.

Программный интерфейс

Естественно,   чтобы   создавать   даже   элементарные   приложения   в   стиле Metro,   необходимо   использовать   специальный   программный   интерфейс, предоставляемый   Windows   8   в   распоряжение   разработчика.   Речь   идет о нативном API, а не об  очередном фреймворке. Новый API включает в себя такие  механизмы,  как: построение интерфейсов нового типа,  взаимодействие с  данными  и  интеграция  с  возможностями  новой  операционной  системы, интеграция с устройством и др. Нужно отметить, что предлагаемый API полностью объектно-ориентированный.

Для тех, кто переживает, что разработчикам необходимо будет освоить новые технологии, хочу  отметить, что  новый API  имеет  много общего с  Silverlight и  Windows Presentation Foundation.  Иными  словами,  если  разработчик уже владеет .NET-технологиями, то освоить новый API в Windows 8 не составит труда. При этом в Microsoft позаботились о том, чтобы сделать Windows 8 доступной более широкому кругу разработчиков. Так, новые типы приложений  можно создавать не только с помощью C# или VB.NET, но и с помощью C++ и даже JavaScript. При этом если приложение разрабатывается на C++ или C#, то языком описания интерфейса является XAML, а если на JavaScript, то используется HTML 5.

Сразу  отметим,  что  в  этой  книге  речь  пойдет  о  создании   приложений с использованием C#/XAML. Поэтому если Вы решили  использовать HTML 5/ JavaScript, то дальнейший материал вряд ли будет полезен.

Распространение приложений

Наконец, вернемся к вопросу о том, как же зарабатывать деньги с  помощью новых технологий. И вот тут разработчиков ждет хорошая  новость: как и для Windows Phone, все приложения для  Windows 8,  использующие новый API, будут распространяться исключительно  через магазин Windows (Marketplace), который  тесно   интегрирован   в   оболочку  операционной  системы.  Таким образом, для индивидуальных разработчиков и небольших компаний откроются новые перспективы. А учитывая количество пользователей Windows,  можно с  уверенностью  сказать,  что  разработчики  получат  хорошую  возможность заработать на своем продукте.

Немного разобравшись с  особенностями Windows 8,  перейдем к  описанию нового программного интерфейса для построения приложений Metro, о котором мы  только  что  говорили.  Этот  программный  интерфейс  получил  название Windows Runtime, или WinRT.

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

По теме:

  • Комментарии