Родные (C#, C++) UI плагины для Cordova Windows?
Для Cordova iOS и Cordova Android можно создавать плагины, которые создают собственный пользовательский интерфейс поверх вашего приложения - вы просто включаете библиотеки в свой плагин и запускаете их API. Пример для Android InAppBrowser.
Для Cordova Windows нативный код - это HTML и Javascript, поэтому плагин InAppBrowser также добавляет стандартный HTML-тег для веб-просмотра (или даже простого Iframe), чтобы получить тот же эффект.
Но вы также можете создавать плагины для Cordova Windows, которые используют собственный код C# или C++ через Windows Runtime Component. Публичным примером является плагин глобализации, который использует .winmd
файл, предлагающий API для кода Javascript ( исходный код для этого). Это прекрасно работает и довольно круто.
К сожалению, все плагины, которые я смог найти, используют этот механизм плагинов C#/C++ только для того, чтобы получать вызовы некоторых методов, что-то делать с параметрами и возвращать некоторые данные. Ни один из них не открывает никаких окон и не создает никакого другого графического интерфейса пользователя (который может, например, предлагаться внешним C# SDK).
Как можно создать плагин для Cordova Windows, который создает пользовательский интерфейс с собственным (C#, C++) кодом? Это вообще возможно?
1 ответ
Получил ответ в списке рассылки Apache Cordova, который я воспроизводю здесь:
К сожалению, код C#/C++ Portable Class Library ( PCL) не может отображаться поверх веб-компонента. Библиотеки, которые вы можете использовать, ограничены в PCL, и для проектов, нацеленных на Магазин Windows, визуализация пользовательского интерфейса невозможна.
Если бы вся платформа cordova-windows была перепроектирована как приложение на основе C# или C++ с собственным контейнером веб-просмотра для рендеринга, то все возможно. Это долгий рискованный путь, хотя... все из cordova.js и моста должно было измениться, и каждый плагин нужно было бы переписать.