Неожиданно Microsoft сделала раннюю версию Windows 10 SDK доступной для загрузки и тестирования. Теперь мы действительно выяснили, что такое новые «универсальные приложения».
Обычно предполагалось, что Microsoft отложит выпуск Windows 10 SDK до сборки в конце апреля, но вы можете скачать SDK прямо сейчас. Тот факт, что Microsoft недавно объявила, что у нас будет финальная версия Windows 10 летом этого года, может сыграть роль в том, что SDK не будет держаться до конца апреля.
Этот выпуск является очень ранним предварительным просмотром. Вы можете использовать его для разработки универсальных приложений, работающих на настольных компьютерах и планшетах Windows. Вы также можете разрабатывать для Windows Phone, но вы можете запускать программы только на симуляторе телефона. Это небезосновательно, поскольку устройств с Windows Phone 10 фактически не существует. Еще большее разочарование заключается в том, что вы не можете разрабатывать или тестировать на Xbox — но, поскольку это очень новая функция, снова имеет смысл, что ее можно не включить в предварительную версию.
Что особенного в новом SDK?
Ну, пожалуй, первое, что нужно сказать, это то, что настольные приложения Windows по-прежнему будут работать в Windows 10 без каких-либо изменений. Вы даже можете использовать новые API Windows 10 в приложении Win32, а в .NET 4.6 есть улучшения. Даже WPF получает некоторое внимание.
Ключевое значение имеет новое средство универсальных приложений, которое обещает, что мы можем написать единую программу, которая будет работать на всех устройствах и всех форм-факторах. Если вы думаете, что у вас уже есть универсальные приложения для Windows 8, важно понимать, что это лучше. Вам больше не нужно несколько проектов в рамках решения для поддержки каждого типа устройства. В настоящее время универсальные приложения для Windows 8 позволяют использовать некоторый код, в основном не связанный с пользовательским интерфейсом, между существенно разными реализациями приложения.
Приложения Windows 10 действительно пытаются позволить единой базе кода обслуживать не только все устройства, но и все форм-факторы.
Вы можете создавать новые универсальные приложения на C # или VB, но на данный момент вы не можете сделать это для приложений JavaScript, и нет информации о том, будет ли это исправлено позже. Возможно, Microsoft заметила, что приложения JavaScript WinRT не так привлекательны для программистов.
Звучит как магия, но на самом деле так должно было быть с момента появления WinRT и Windows Phone.
Почему Microsoft потребовалось так много времени, чтобы осознать, что иметь разные платформы для таргетинга — это плохо, остается загадкой, но, по крайней мере, в конечном итоге все идет в правильном направлении.
Теперь, когда вы открываете Visual Studio 2015 с инструментами для Windows 10 Technical Preview, вы можете создать приложение нового типа — UAP. Теперь вы можете написать код и развернуть его на локальном компьютере, подключенном столе, симуляторе телефона и вскоре на подключенном Xbox.
Проблема различий в размерах экрана связана с улучшенным ViewStateManager. Проблема различных методов ввода решена новым набором элементов управления, которые определяют, используется ли сенсор или мышь, и соответствующим образом изменяют их представление. Эти два упрощают работу с пользовательским интерфейсом, но вы не можете избежать того факта, что разные устройства имеют разные возможности. Чтобы справиться с этим, у нас есть контракты API. Это в основном тестирование функций, и вы просто пишете оператор if, чтобы узнать, доступен ли API. Конечно, вам решать, что делать, если API недоступен.
Похоже, что мы делаем успехи в создании универсального приложения, которое работает на настольных и мобильных устройствах без необходимости поддерживать отдельный код для каждого из них. Разработка единого пользовательского интерфейса для различных типов устройств никогда не бывает легкой задачей — спросите любого разработчика Android, но новые возможности, безусловно, делают это возможным. Адаптивные элементы управления — лучшее решение для различных методов ввода, и тестирование на наличие поддержки API — это единственный способ выполнить эту работу.
В настоящее время предварительный просмотр имеет множество ограничений, но этого достаточно, чтобы убедиться, что вы можете создать универсальное приложение с единой базой кода. В настоящее время отсутствует много документации, и большая часть документации вводит в заблуждение, потому что она относится к Windows и Phone 8, а не к 10. Образцы кода отправляются в новый репозиторий, размещенный на GitHub.
Вам понадобится Visual Studio 2015 CTP6 для запуска инструментов, и вам понадобится самая последняя версия Windows 10 Technical Preview. Все это отлично работает на виртуальной машине, и самый простой способ попробовать это — использовать Hyper-V.
Вероятно, что возможность создавать приложения WinRT, которые запускаются в окне на рабочем столе, на стартовом экране мобильного устройства и Windows Phone, сделает их более популярными.
Это может стоить того, чтобы стать ранним последователем.