Разработка Windows 8.1 приложений. Введение

Эта статья является вводной в курс разработки приложений для операционной системы Windows 8.1 посредством XAML и C#. Перед прочтением это серии статей вы должны быть в курсе разработки приложений под Windows 8.

В данных уроках будут использоваться предварительные версии Windows 8.1 и Visual Studio 2013.

  1. Введение.
  2. Новые элементы управления.
  3. AppBar, темы и навигация.
  4. Windowing.
  5. Поиск, люди и контракты.
  6. Тайлы и система уведоления с Azure.
  7. Синтез речи, PDF и PlayTo.
  8. Магазин Windows и упаковка приложений.

Введение.

26 июня Стив Балмер объявил о выходе Windows 8.1, в которой появится много нового функционала как для пользователей так и разработчиков: новый стартовый экран, больше размеров для тайлов, более широкая возможность персонализации, кардинально измененный поиск, кнопка “Пуск” и много-много другого.

w81_intro_1

С точки зрения разработчика произошло более 5000 изменений в WinRT API. Вашему вниманию предоставляется небольшой перечень изменений:

  • Новые контролы
  • Улучшенный XAML binding
  • Новые возможности для работы с контактами
  • Работа с кард-ридером, сканер штрих-кодов, 3D печать и т.п.
  • Связь через WiFi и Bluetooth
  • Поддержка PDF …

На рисунке ниже показаны изменения в API:

  1. темно-зеленый — без изменений
  2. светло-зеленый — обновленные API интерфейсы
  3. синий — новые интерфейсы

w81_intro_2

В данной части я расскажу о наиболее важных из изменений в Windows 8.1

Шаблоны проектов (добавлено два новых):

  • Hub App. Шаблон основан на новом Hub контроле, который помогает создавать приложения на подобие Bing — разбивать главную страницу на различные подкатегории.
  • Coded UI Test Project. Используется для автоматизации тестирования пользовательского интерфейса в приложениях Windows Store. Можно вручную создать тест или редактировать их с помощью карты UI.

w81_intro_3

Другие шаблоны проектов не изменились.

Структура проекта — изменение папки Common.

На самом то деле структура проекта практически не изменилась, все те же папки Properties, References и Assets, файлы pfx и appxmanifest. Тем не менее состав папок немного подвергся изменениям. Напомню, что папка Common ранее содержала некоторые вспомогательные классы для навигации, binding, управления состояниями, некоторые XAML ресурсы….что-то поменялось, что-то удалили, что-то добавили…

 Удаленные файлы:

  • StandardStyles.xaml: этот файл содержал стили и шаблоны для базовой разработки. Большинство из них полностью интегрирована в структуру, чтобы не искать их по разным файлам.
  • LayoutAwarePage: ранее это был базовый класс для любой вашей страницы, который помогал управлять навигацией, состоянием и binding’ом.
  • BindableBase: окончательно удален.
  • BooleanNegationConverter: окончательно удален.
  • RichTextColumns: окончательно удален.

w81_intro_4

Добавленные файлы:

  • NavigationHelper:  новый класс, который служит в качестве замены LayoutAwarePage. Он содержит основную логику для обработки навигации и управления состояниями. LoadState и SaveState  — часть этого класса.
  • ObservableDictionary: этот класс раньше находился  в классе LayoutAwarePage.
  • RelayCommand: является базовой реализации интерфейса ICommand. Разработан для MVVM-приложений.

В связи с этими изменениями шаблон “Basic Page” теперь выглядит следующим образом:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
public sealed partial class BasicPage1 : Page
{
   private NavigationHelper navigationHelper;
   private ObservableDictionary defaultViewModel = new ObservableDictionary();
 
   public ObservableDictionary DefaultViewModel
   {
       get { return this.defaultViewModel; }
   }
 
   public NavigationHelper NavigationHelper
   {
       get { return this.navigationHelper; }
   }
 
   public BasicPage1()
   {
       this.InitializeComponent();
 
       this.navigationHelper = new NavigationHelper(this);
       this.navigationHelper.LoadState += navigationHelper_LoadState;
       this.navigationHelper.SaveState += navigationHelper_SaveState;
   }
 
   private void navigationHelper_LoadState(object sender, LoadStateEventArgs e)
   {   }
 
   private void navigationHelper_SaveState(object sender, SaveStateEventArgs e)
   {   }
 
   #region NavigationHelper registration
 
   protected override void OnNavigatedTo(NavigationEventArgs e)
   {
       navigationHelper.OnNavigatedTo(e);
   }
 
   protected override void OnNavigatedFrom(NavigationEventArgs e)
   {
       navigationHelper.OnNavigatedFrom(e);
   }
 
   #endregion
}

Package.appxmanifest

Манифест Windows Store было улучшено, давайте пройдемся по отдельным вкладкам

 Application UI

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

Добавлено новое свойство Minimum width, посредством которого можно задать, как вы догадались, минимальную ширину приложения. Эти изменения внесены в связи с тем, что в Windows 8.1 может поддерживать не только 2 приложения на экране, но более. В Windows 8 минимальная ширина приложения была 320px, называемая snapped view, в Windows 8.1 данное значение установлено в 500px, но, если вы считаете, что ваше приложение сможет поддерживать 320px — вы в любой момент сможете изменить данные параметры.

w81_intro_5

Раздел Tile Updater — новый раздел, в котором разработчик может указать Uri, посредством которого будет обновляться главная плитка приложения. Это действие можно будет выполнить с помощью метода StartPeriodicUpdate, в котором вы сможете указать через какой промежуток времени необходим отправлять запрос на Uri: полчаса, час, шесть часов, двенадцать и ежедневно.

w81_intro_6

Как известно в  Windows 8.1 добавили больше размеров для тайлов, теперь ваши приложения могут использовать до 4-х различных размеров тайлов:

  1. Маленькие: 70х70px (не может быть живым тайлом; представляет из себя уменьшенный логотип);
  2. Средний: 150х150px ;
  3. Широкий: 310х150px;
  4. Большой: 310x310px.

w81_intro_7

Capabilities

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

 w81_intro_8

Content URIs

 Новая вкладка в манифесте вашего приложения, которая должна включать в себя все uri, которые вы хотите использовать в своем приложение посредством WebView и ScriptNotify.

Обратите внимание на то, что:

  • Вы можете добавить столько Uri, сколько вам необходимо;
  • Вы можете включить или исключить Uri;
  • Вы можете использовать https Uri;
  • Uri может содержать символы поддомена.

Packaging

Никаких изменений.

Что дальше?

В этой части мы узнали о небольшой части изменений Windwos 8.1: новый вспомогательные классы, новые шаблоны  и новый функционал манифеста. Во второй части статей мы рассмотрим новые элементы управления XAML.

Ссылка на источник: Developing a Windows 8.1 application (1/8): introduction

Реклама
Tagged with: , , , , , , , , , , , , , ,
Опубликовано в Development, Windows 8
2 comments on “Разработка Windows 8.1 приложений. Введение

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

%d такие блоггеры, как: