Всем привет! Вы, наверняка, уже слышали новости про то, что за первые 4 недели Windows 10 установили уже более 75 миллионов человек. В таком контексте мы особенно рады поделиться с вами вводной статьей от Арсения Печенкина из компании DataArt о том, как начать разрабатывать приложения под десятку.




Тем, кто сомневается, ставить или нет на любимую машину Windows 10, предлагаем небольшой обзор материалов о платформе, инструментах разработки и новых возможностях, доступных при разработке приложений.

Думаю, все уже знают откуда и как взять свою копию ОС Windows 10, — не станем задерживаться на этом моменте. Установка производится аналогично установке Windows 8. Если собираетесь обновить систему, настоятельно рекомендую сделать бэкап файлов с системного диска.

Инструменты


Какие инструменты для разработки можно использовать? Вам понадобится новая MS Visual Studio 2015. Сейчас доступны бесплатная редакция Visual Studio 2015 Community Edition и платные редакции Professional и Enterprise.



Еще потребуются Windows 10 SDK и эмулятор Windows 10 Mobile. Эти пакеты можно поставить вместе с Visual Studio 2015 (если выбрать custom-установку и выбрать для установки эти пакеты, пока только в RC) или скачать отдельно.

Документация


Кроме инструментов разработки, необходимо иметь документацию по платформе. Основная информация собрана на официальном портале для разработчиков. Тем, кто только знакомится с разработкой под Windows 10, рекомендую обратить внимание на следующие разделы:


Какое-то время назад почти все разделы по разработке под Windows 10 вели на разделы про разработку под Windows 8.1, но после релиза документацию постепенно обновляют (с учетом того, что UWP-платформа для Windows 10 является развитием WinRT).

Online-курс в Microsoft Virtual Academy


Для тех, кто предпочитает аудио-визуальный формат знакомства с платформой, есть вводный курс: A Developer's Guide to Windows 10.

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

Лицензия и разблокировка устройства


Как и при разработке для Windows 8/8.1, потребуется лицензия разработчика. Она получается аналогично лицензии разработчика Windows 8/8.1 при создании первого проекта прямо в Visual Studio (это не то же самое, что аккаунт для публикации в магазине). Для установки приложений на устройства не забудьте их разблокировать:



Универсальные приложения


Что нового ждет разработчика? Анонсировано, что универсальное приложение можно запустить на любой платформе Windows 10. Это реализовано через систему различных API. То есть существует слой API, общий для всех платформ (Universal Windows Platform, UWP). Если приложение использует только его возможности, оно будет работать на всех платформах c UWP.



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

Шаблоны


Из коробки в Visual Studio нам доступен только один шаблон проекта Blank App.



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



Сейчас в коллекции представлены следующие шаблоны проектов:
  • Blank App, основной проект XAML с одной страницей. Подобен стандартному Blank App, включенному в 10 SDK Windows, но без Application Insights телеметрии.
  • SplitView App, многостраничный проект приложения с адаптивным SplitView-контролом.
  • Composition App, проект, не использующий стандартную библиотекуи компонентов, вместо нее используется Windows.UI.Composition API,
  • Composition XAML App, проект с использованием XAML и Windows.UI.Composition API.


Примеры


Для облегчения входа в платформу UWP Microsoft подготовил пополняемую коллекцию примеров:


Портирование приложений


Приятный момент для разработчиков — возможность переноса приложений Windows 8.1 на Windows 10 (инструкция, видео). Если у вас было приложение под Windows Phone Silverlight, есть отдельная инструкция по портированию приложения на UWP.

Итоги


Windows 10 уже доступна всем желающим, к услугам разработчиков — SDK и инструменты разработки. При наличии опыта создания приложений под Windows 8, освоение новой платформы будет легким и не потребует много времени.

Об авторе


Арсений Печенкин, .NET-разработчик в компании DataArt. Участник и победитель конкурсов и хакатонов: Hackaphone KASPESRKY lab, Hackaphone Tour Voronezh 2013, хакатон Apps4all и Imagine Cup 2014. Аспирант ВГТУ по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей». Участник и докладчик на технологических конференциях (Droidcon Moscow 2014, GDG DevFest Voronezh 2014, Microsoft Developer Tour 2015 Voronezh).

Комментарии (25)


  1. Zifix
    28.08.2015 15:33
    +19

    Вы уверены, что с таким невероятным количеством технических деталей статья будет интересна аудитории Хабра?


    1. ad1Dima
      28.08.2015 15:37
      -2

      Если она хоть на половину пересекается с аудиторией тостера, то вполне.


      1. Beltoev
        28.08.2015 16:47
        +3

        Уверен, что у половины аудитории тостера даже read-only здесь нет (судя по некоторым вопросам, они даже не знают о существовании Хабра)


  1. Encircled
    28.08.2015 16:22
    +9

    Иронично, но «с чего начать» так и не ясно (кроме установки VS с Blank App)


    1. prolis
      28.08.2015 16:53

      На dev.microsoft.com есть примеры создания простых приложений на платформе. Ссылка сходу не нашлась.


      1. Encircled
        28.08.2015 17:37
        +1

        Есть целый гитхаб :) github.com/Microsoft/Windows-universal-samples


  1. xtraroman
    28.08.2015 17:12
    +10

    Из того что «Windows 10 установили уже более 75 миллионов человек» вовсе не следует что стоит заниматься разработкой под UWP. Сколько из людей из 75 миллионов купили десятку? Большая часть из них — халявщики они и ваше произведение не купят. Под десяткой нормально работают «традиционные» приложения. Я бы не стал инвестировать в UWP пока у платформы не будет серьезных примеров использования вот даже Firefox не смогли запилить к релизу десятки напомню что RT версию firefox вообще не смогли доделать.


    1. raptor
      28.08.2015 17:49
      -4

      Ну не будет инвестировать вы — инвестируют другие. :)


      1. xtraroman
        28.08.2015 18:11
        +12

        Ага, уже проходили это. Два раза: Silverlight, WinRT. Только разница в том что, например, Silverligh были серезные внедрения, например вот .


        1. raptor
          28.08.2015 19:01

          Эм… Я все же веду речь о том, что кто-то не видит смысла вкладывать свои силы и ресурсы в платформу, а кто-то просто занимает свободную нишу и зарабатывает на этом, и это не только windows касается.


          1. xtraroman
            28.08.2015 21:24
            +7

            Если у вас есть аргументы почему третья попытка запуска XAML based платформы-песочницы должна оказаться удачной — выкладывайте.


            1. boblenin
              30.08.2015 16:46

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


    1. kichik
      28.08.2015 19:17
      -2

      По ссылке в статье на счет «халявщиков» написано так:

      Windows Store for Windows 10 has seen 6X more app downloads per device than Windows 8.


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


      1. xtraroman
        28.08.2015 21:29
        +1

        Windows Store for Windows 10 has seen 6X more app downloads per device than Windows 8 — этот аргумент больше похож на статистический трюк.


      1. Nagg
        29.08.2015 16:50

        «Windows Store for Windows 10 has seen 6X more app downloads per device than Windows 8.»
        К сожалению, это наверное единственная статистика, которой может похвастаться этот стор.
        Видел разные приватные статистики популярных приложений по платформам и доля «метро» там хоть на 6, хоть на 66 умножай — все равно погрешность.
        Мне нравится Windows 10. Очень жаль что MS сильно подпортили себе карму восьмеркой, которую они насильно пихали десктопным юзерам — мало того что приложения были full screen, так они еще и тормозили на запуске целую вечность на мощных пк. Открываешь приложение погоды на весь экран и ждешь секунд 10 сплешскрин (facepalm). Будем надеятся, что MS приложит все маркетологические и инженерные силы, чтобы UWP выстрелил, а то сейчас при разработке кроссплатформенных приложений заказчики берут только ios и android.


    1. SgtRiggs91
      29.08.2015 13:59

      Плохому танцору, как известно… Логика отсутствует. Приложение из магазина купят скорее, чем «традиционное», распространяемое «традиционными» способами. Догадайтесь, почему.


  1. PerlPower
    28.08.2015 19:22
    +4

    Кто-то уже пробовал запускать Delphi 7?


    1. alan008
      28.08.2015 20:16

      Не знаю как Delphi 7, а вот Delphi XE7 нормально запускается и работает ))) Хватит уже на легаси сидеть )))


  1. madegg
    28.08.2015 20:42
    +6

    панель задач справа это меганеудобно, так как в браузере ползунок задач очень тяжело уцепить неглядя


    1. Zuy
      29.08.2015 07:28

      Что же вы так категорично и сразу за всех решили.
      Два года уже работаю именно с панелью задач справа, как на картинке. О том, что могут быть какие-то проблемы узнал только что от вас.


    1. centur
      29.08.2015 15:52
      +2

      А зачем ее цеплять? Чтобы скроллить есть колесико на мышке. Это надо постараться чтобы найти мышку без колеса.

      PS: работаю так же, с Window 7


      1. madegg
        29.08.2015 19:15
        +2

        А если страница на 50 листов А4? тоже крутите колесиком? Или аккуратненько выцеливаете ползунок, отвлекаясь от работы? что бы не дай бог не попасть в иконки панели задач?


        1. centur
          29.08.2015 22:50
          +1

          Ммм, я нажимаю на колесико и пользуюсь fast scroll…
          А если 1000 страниц в документе, вы тоже пытаетесь попасть в этот узкий уже по вертикали ползунок?

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


  1. Garrett
    29.08.2015 13:13

    А для меня установка Visual Studio на 10 фейлит:
    Установщик запустил, логотип появился, повисел. пропал и всё,
    или запустился нормально, студия ставятся,
    установщик рапортует об успешной установке, а на диске ни папок ни файлов студии нету.

    На фиг знает какую перезагрузку и попытку установки студия таки встала, попытался поставить компоненты для IoT:
    Установщик не запускается,
    или запускается, ставит компоненты, фейлит,
    иногда не фейлит, рапортует об успешной установке, но на диске опять таки ничего не появляется.

    Через неделю муторства копмоненты для IoT встали,
    попытался создать IoT проект, ошибки и несовместимых или отсутствии компонентов.

    p.s. Диск 100% рабочий, всё остальное прекрасно работало и работает. (устанавливается, запускается, удаляется и т.д.)


  1. turone
    30.08.2015 16:29

    Единственный плюс десятки — это то что с Windows phone объединили, а особых отличий от 8,1 не вижу. Но как для разработки удобнее windows 10 сразу и для десктопов и мобильных устройств одна среда.