Объединение html front-end и python «back-end» в мобильном приложении

Мое приложение имеет внешний интерфейс на основе html и использует логику python на внутреннем сервере. Это приложение должно запускаться в автономном режиме, а не подключаться к Интернету, поэтому с помощью «back-end» здесь я не имею в виду сервер, работающий удаленно, а скорее логика python, работающая бок о бок в том же приложении, что и браузер / html двигатель. Для настольных приложений Windows или Mac я создаю приложение Chromium Embedded Framework, а затем запускаю подпроцесс, в котором выполняется приложение python CherryPy, построенное с использованием py2exe (или py2app). Затем клиент и сервер обмениваются данными с помощью обычного http.

Я бы хотел добиться того же, что и на iOS, и на Android. Я исследовал несколько альтернатив, но ничто, кажется, не делает то, что мне нужно.

Kivy близок, но, насколько я могу судить, он не предлагает интерфейс браузера / html, а предоставляет собственный механизм компоновки поверх OpenGL. У этого есть механизм расширения, но это, похоже, больше касается расширения стороны python, а не стороны внешнего интерфейса.

С другой стороны, я мог бы начать с PhoneGap, а затем добавить библиотеку python в качестве расширения (возможно, используя сборку мобильных библиотек Kivy для python). Или, если на то пошло, я мог бы просто написать обычное C ++-приложение, которое внедряет браузер и использует сборку библиотеки python.

С другой стороны, я играл с использованием различных конвертеров python-to-javascript, чтобы получить внутреннюю логику во что-то, что может работать с PhoneGap напрямую, но этот подход становится довольно сложным, учитывая всю имеющуюся у меня логику python – Некоторые из них просто не так легко конвертируются.

Знаете ли вы о приложениях, которые отображают html и запускают логику python в одном приложении?

Вы могли бы сделать очень простое приложение для kivy, которое запустило бы сервис (внутри которого вы делали бы свою «серверную» сторону, с небольшим двигателем, например, с флягой или бутылкой, но я думаю, что cherryPy тоже должен работать) и в main.py Приложения «kivy», не импортируйте kivy, просто импортируйте webbrowser и запустите окно браузера на localhost: ваш порт. Это будет использовать браузер Android.

Edit: oh, службы андроида только на данный момент, видимо, ios 7 поддерживает их тоже, но kivy-ios не обновляется, чтобы использовать их.