LINUX.ORG.RU

Портирование отсюда втуда

 ,


1

1

Желаю портировать кучку своего кода из луникса на андроид. Чисто для себя, добавляться в гуглоплеи не нужно, значит можно положить на стандарты, если они там есть. Единственное показавшееся жизнеспособным решение - kivy. Но весь мой код в питоне 3, а у них в факе гордо красуется:

Does Kivy support Python 3.x?

- Yes! As of version 1.8.0 Kivy supports both Python >= 2.7 and Python >= 3.3 with the same codebase. However, be aware that while Kivy will run in Python 3.3+, packaging support is not yet complete. If you plan to create mobile apps for Android or iOS, you should use Python 2.7 for now.

I’ve already started with Python 3.x! Is there anything I can do?

- Be patient. We’re working on it. :)

Что они хотят этим сказать? Поддержка Питона 3 как бы есть, но ее как бы и нет? Кто занимался, как там на самом деле? Может есть варианты помимо kivy?

Под андроид раньше ничего не писал, и после этого порта скорее всего не буду. Из используемых сторонних библиотек только pygtk PyGObject. Все остальное стандартные батарейки. Гуй я так понимаю придется переписывать с нуля?

☆☆☆

Последнее исправление: entefeed (всего исправлений: 2)

Переходите на Python3, говорили они, он уже готов, говорили они

zolden ★★★★★
()
Ответ на: комментарий от waker

Гуй я так понимаю придется переписывать с нуля?

Я собственно готов переписать гуй, это не страшно.

entefeed ☆☆☆
() автор топика
Ответ на: комментарий от waker

Ахтыжблять, адово извиняюсь, s/pygtk/PyGObject/, конечно же. Очень уж у pygtk название удобное, так и въелось со времен второго питона. Отредактировал тему.

Хотя вопроса это не меняет. Мне как-то надо запихнуть кучу python3 кода в андроид.

entefeed ☆☆☆
() автор топика
Ответ на: комментарий от entefeed

ну для начала напиши hello world с гуем на бедоне, под андроед, и запусти. полученный опыт покажет, насколько [не]выполнима твоя задача, и дальше сам определишься. вероятнее всего, софт проще будет переписать на чем-то другом. не отрицаю возможности прикрутить к бедону webview, и сделать гуй на html+js. но даже так скорее всего проще будет все переписать.

waker ★★★★★
()

Значится так, докладываю для будущих поколений.

Под питон2 все прекрасно, kivy дает свой гуй на основе sdl1.2, который вполне кроссплатформенный. Умеет opengl и графон. Покодил хелловорлды, потыкал готовые примеры - внезапно не тормозит. Годно. Рикамендую.

А вот под питон3 все очень, оче плохо. Для андроида и ненужной iOS поддержки питона3 нет от слова совсем. Зато она есть для винды и линукса, уже хоть что-то. Тут нирикамендую.

Поговорил с разработчиками. Как минимум в ближайшие 6 месяцев питона 3 для мобилок не будет даже в гитовой версии, даже в самой глубокой альфе. У них длиннющая цепочка зависимостей, которую надо спортировать на py3, а часть допортировать на андроид, прежде чем хотя бы уши py3 появятся в самом андроиде. Настойчиво предлагают писать под питон2 или юзать 3to2.

Короче печаль, я теперь хз что делать со своим кодом, и во что его переписывать.

entefeed ☆☆☆
() автор топика
Ответ на: комментарий от Deleted

Родных тормозов ведроида уже нехватает?

А mono-программы на Android поверх виртуальной машины? Если ответ да - иди учи уроки, кури матчасть и т.д. ^_^

I-Love-Microsoft ★★★★★
()

Кстати, интересный момент. Ребята из kivy получили $5k от python foundation за запил поддержки питона 3 в свою поделку. А как видно из моего маленького расследования - по факту этой поддержки нет.

Все же как бы не оправдывался Гвидо, он знатно обосрался сломав совместимость между ветками. Язык сильно отбросило взад. Как мне кажется тот же Го быстрей придет на андроид, чем питон 3.

entefeed ☆☆☆
() автор топика

Гуй я такпонимаю придется переписывать с нуля?

Пиши с нуля. Там свой язык для описания интерфейса, наподобие Qt QML, и достаточное количество уродских стандартных виджетов, из которых то одно, то другое не работает на разных девайсах, поэтому придется писать свои; например, TextInput у меня в 1.8 вылетает на китаефоне.

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

Не много, ~3k. Но там еще PyGObject, который по любому выкидывать. И куски дохлого кода есть. Надо будет рефакторить. Думаю таки осилю перевести основную часть с помощью 3to2, остальное перепишу.

Что вообще про kivy скажешь? Подозрительно мало на нем проектов.

entefeed ☆☆☆
() автор топика
Ответ на: комментарий от Valkeru

У фенька просто классовая ненависть к уточкам. Все вы такие, хищники.

entefeed ☆☆☆
() автор топика
Ответ на: комментарий от entefeed

Не много. Тыкал ради интереса, особо ничего не писал, со сборкой не заморачивался — использовал или Kiwy Launcher, или QPython для тестирования на телефоне (работают, кстати, по-разному: иногда в одном запускается, в другой — gui). Как уже написал, нужно иметь в виду, что что-то может не завестись, на одном телефоне постоянно полноэкранный режим включен был, без строки состояния). А, да: сворачиваться и восстанавливаться приложения не умеют до сих пор.

Virtuos86 ★★★★★
()
Ответ на: комментарий от entefeed

Нет, просто python2 продлят ещё на n лет вперед

dvrts ★★★
()

А если ndk + python c api? Гуй можно на qt сделать, он же есть под андроид.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.