Можно ли преобразовать настольное приложение Java Swing в столетнее приложение UWP (AppX)?
Я читал о столетии проекта ( https://msdn.microsoft.com/windows/uwp/porting/desktop-to-uwp-root) и мне приходит в голову, что существует много унаследованных бизнес-приложений, написанных на Java (не говоря уже о Python/Tkinter, вставьте сюда инструментарий языка / графического интерфейса и т. д.).
Я вижу выгоду в возможности продавать / распространять их через магазин Windows (либо внутри предприятия, либо для широкой публики).
Мне было интересно, можно ли превратить приложение Java в пакет AppX (возможно, используя что-то вроде launch4j в качестве промежуточного шага)?
4 ответа
Это возможно, используя Project Centennial. Просто выполните процесс преобразования с помощью Desktop App Converter, используя программу установки в режиме без вывода сообщений, и все.
Вы также можете использовать режим без установки, просто поместите все (ваше приложение и jre) в папку, создайте исполняемый файл, который будет вызывать вашу java-программу, создайте свой манифест и вызовите makepappx. Все есть в документации. И процесс очень похож на развертывание Java-приложений в Mac Store.
ОБНОВИТЬ
Из-за отсутствия информации об упаковке Java-приложений для Магазина Windows я создал простой скелет, используя демонстрационное приложение из JDK под названием SwingSet, чтобы значительно облегчить процесс. Пожалуйста, проверьте это: https://github.com/crramirez/uwp_bridge_java и внесите свой вклад, чтобы иметь хорошую отправную точку.
Я также опубликовал приложение Java в магазине, поэтому эта процедура работает.
С уважением
Нет, ты не можешь.
Часть установки была бы простой, но это всего лишь обертки вокруг JRE. Проблема в том, что JRE (фактическая виртуальная машина) слишком сложна для UWP и использует множество низкоуровневых API, которые просто не могут быть перенесены.
Единственный способ получения Java-приложений в UWP - это Codename One, проект с открытым исходным кодом и коммерческая организация (и мой работодатель). Обратите внимание, что вам нужно будет адаптировать свой код для использования API Codename One, который вдохновлен Swing, но совершенно другой (и лучше).
Дополнительным преимуществом будет портативность для всех мобильных устройств (iOS, Android и т. Д.).
Вы всегда можете использовать Install4J для создания многоплатформенного установщика Java-приложения и распространения своего приложения.
Если у вас уже есть установщик для вашего приложения, вы можете использовать средство упаковки MSIX , чтобы переупаковать его в формат MSIX. С помощью этого инструмента вы можете запускать установщики настольных приложений и получать пакет MSIX, который можно установить на свой компьютер или загрузить в Microsoft Store.