Можно ли запустить интерпретатор Python в приложении Flutter?

Я новичок во Flutter и пробую его впервые (я также не являюсь опытным мобильным разработчиком), и мне было интересно, как запустить интерпретатор Python в моем приложении.

На самом деле я хотел бы создать приложение с катами или задачами Python, чтобы, когда пользователь решает задачу, он сообщал им, прошел ли он какие-то тесты (я предполагаю, что напишу их как модульные тесты).

Не уверен, с чего начать со всем этим, хотя... Я даже не уверен, что Flutter - лучший выбор, но поскольку он звучит многообещающе, и я могу скомпилировать свое приложение как для Android, так и для iOS, я решил дать ему идти. Так что любое руководство о том, как начать создавать это приложение, будет очень кстати.

Если мой ответ отвечает на ваш вопрос, я был бы признателен, если бы отметил его и проголосовал за него.

LabGecko 17.06.2019 15:29

Я исследую это. Использование Kivy buildozer для создания некоторых библиотек .so для Android и ios и включение этих файлов .so в файловые структуры флаттера кажется простым путем, хотя я еще не пробовал. Для доступа к этим библиотекам .so можно использовать новую функцию FFI для флаттера.

LeoXJ 16.07.2020 20:21
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
5
2
5 391
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий
TL;DR: Yes, it is possible.  

Поскольку в Магазин игр есть несколько приложений, связанных с Python, включая полный порт Python 3, я считаю, что вполне возможно запустить Python в приложении для Android. Сложность в том, чтобы это произошло.

На самом деле создание этой интеграции — это то, чем я также занимаюсь. Ресурсы, с которыми я столкнулся до сих пор:

  • Флаттер-пакеты - это маршрут, который я сейчас пытаюсь использовать, так что я не могу помочь больше, чем этот список
  • VSCode — Интеграция здесь требует обучения (так же, как Android Studio), но разработка кажется немного более гладкой, чем AS
  • QPython — запускает Python на Android-устройствах; личного опыта в этом пока нет
  • BeeWare - опять же, личного опыта с этим нет
  • Киви - непростая интеграция из моего опыта; создание графики требует гораздо больше усилий, чем нативная разработка для Android
  • Чакопи — по словам разработчика, это все еще поддерживается. Поддерживает Java и Python на Android. У него есть поддерживаемый плагин чакопия, который проще использовать при интеграции с приложением flutter.

Разработчик Chaquopy здесь: он определенно все еще поддерживается, и мне было бы интересно узнать, почему вы думали, что это не так. Я не знаю, насколько легко будет использовать Flutter, и он доступен только для Android, а не для iOS.

mhsmith 15.06.2019 19:07

Когда я пытался установить его (уже почти год назад), я столкнулся с проблемами, которые не могли быть решены для Python 3, но я не помню, что это было конкретно. Приятно видеть, что вы все еще развиваете его.

LabGecko 16.06.2019 12:50

@Floella, я создал плагин чакопия, с помощью этого плагина вы можете использовать chaquopy sdk в своем приложении для Android на флаттере. Это видео, который я сделал, чтобы продемонстрировать плагин chaquopy в действии.

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