Создавать приложения UWP с помощью ниндзя?

Можем ли мы использовать ниндзя для создания приложений UWP и, следовательно, создать пакет appx для того же самого? Я не чувствую, что есть статья онлайн для того же самого. Я знаю, как это сделать, используя VS и Make.

2 ответа

Теоретически: да

Примечательно одно: Ninja официально поддерживает C ++, я не могу найти никакого результата Ninja поддерживает другие языки программирования

С C ++ у нас есть 2 варианта:

  • C ++ / CX: вы должны активировать флаг /ZW для метаданных Windows
  • C ++ / WinRT: с WinRT вы просто компилируете без каких-либо ограничений, для этого больше не нужны метаданные Windows

C ++ / CX: у нас долгая история разработки среды выполнения Windows до того, как C++ 11/14 стал официальным, поэтому Microsoft добавляет свои собственные функции реализации в MSVC. Таким образом, с C ++ / CX вы можете скомпилировать очень старый SDK, такой как 10240, 10586, ... и теоретически он также работает с Windows 8.0 / 8.1 SDK, Windows Phone 8.0 / 8.1 SDK. Еще одна попытка скомпилировать UWP с C ++ / CX на FastBuild (сборка системы, такая как Ninja) успешна, вы можете прочитать здесь ссылку: https://github.com/fastbuild/fastbuild/issues/623

C ++ / WinRT - это попытка воссоединения среды выполнения Windows со стандартом C++ 17. C ++ / WinRT также может компилироваться с Clang / GCC. Основываясь на ответе Кенни Керра (создателя C ++ / WinRT): C ++ / WinRT не ограничивается старым SDK, но он рекомендовал использовать более новый SDK, например 17134. Свяжите его ответ /questions/10354785/mozhno-li-natselivatsya-na-windows-10014393-s-cwinrt/10354789#10354789.

Некоторые полезные ссылки для C++ UWP:

https://github.com/MicrosoftDocs/cpp-docs/blob/master/docs/porting/how-to-use-existing-cpp-code-in-a-universal-windows-platform-app.md

https://modernwindows.wordpress.com/2015/05/28/modern-c-and-clang/

Вы можете создавать приложения uwp следующими способами:

  1. C# и xaml

  2. веб-технологии, такие как HTML, CSS и JS. и вы можете использовать любые сторонние библиотеки js с ним. Вы даже можете использовать размещенные веб-приложения в качестве приложений UWP или новейшие технологии, такие как PWAS также могут быть поставлены в качестве приложений UWP. больше здесь: https://developer.microsoft.com/en-us/windows/pwa

  3. C++ и xaml: при таком подходе вы можете использовать библиотеки C++ (если они соответствуют платформе uwp), причина, по которой у вас не так много поддержки онлайн, заключается в том, что большинство разработчиков uwp используют подходы C# и xaml.

Для этого есть обходной путь, и одним из них является создание приложения Desktop, а затем его упаковка в пакет MSIX, который упаковывает приложение Windows Desktop в приложение uwp, и вы даже можете распространять его через магазин Microsoft.

CMake не может быть использован для генерации пакета UWP. Тем не менее, вы могли бы использовать make.exeили жеVisual Studioсоздать пакет UWP. Для более вы можете обратиться кCreate an app package with the MakeAppx.exe tool и упакуйте приложение UWP с помощью Visual Studio.

Другие вопросы по тегам