Différence entre Kivy et PY4A
je suis nouveau au développement android, et j'ai eu une certaine expérience avec Java, C#, Python, etc. Python étant mon préféré, j'aimerais coder L'application Android avec.
Puis j'ai vu cette question:
y a-t-il un moyen de faire tourner Python sur Android?
Les réponses les plus votées mentionnaient Kivy
et ASE
(qui est maintenant SL4A
et inclut PY4A
).
Cependant, après quelques recherches sur Google, je n'ai pas pu trouver d'informations utiles sur la différence entre Kivy
et PY4A
. La recherche de la différence entre Kivy
et SL4A
fut également infructueuse.
donc, comme pour Kivy
et PY4A
,
quelqu'un peut-il expliquer, en termes simples:
- Quelle est la similitude et la différence entre eux?
- Quels sont leurs bons et mauvais pièces?
- Y a t il d'autres alternatives?
4 réponses
point de prêter à Confusion, il y a deux projets appelés "python pour android'.
SL4A vous permet d'exécuter des scripts python sur android. Leur PY4A est une étape dans leur chaîne d'outils, mais je ne sais pas grand chose à ce sujet. Je comprends qu'il y a une certaine intégration avec les API android (vous pouvez utiliser du matériel, etc.), mais des limites dans la façon d'exécuter les programmes (ce ne sont pas des applications complètes, pas d'interface graphique, etc.). Ce sont des choses que je infer de voir d'autres messages, Je ne l'ai pas essayé, ne pas prendre mon mot sur les détails. (Edit: en fait il semble qu'il y ait une certaine capacité à empaqueter apks et plusieurs façons de créer une interface graphique, Je ne connais pas les détails)
Kivy est un cadre graphique qui prend en charge de nombreux systèmes d'exploitation (linux, windows, osx, android, ios, peut-être plus déjà). Vous l'utilisez pour construire des interfaces graphiques python. Le projet kivy a également lancé son propre projet python-for-android qui fournit des moyens de compiler l'interpréteur python pour android et de l'empaqueter comme un application android actuelle (y compris l'intégration de l'api java avec pyjnius, etc.). Kivy est bien intégré avec cela afin que vous puissiez facilement compiler une application graphique python pour android, bien que je ne pense pas que ce python-pour-android est limité à kivy apps.
Donc, ils sont complètement différents projets qui ont un composant avec le même nom. SL4A est pour exécuter des scripts python sur android, Je ne sais pas beaucoup de ses limites ou détails. Kivy est un framework graphique python (pas limité à android) qui peut être compilé via ses différentes python-pour-android projet entièrement intégré gui applications android.
Vous pouvez le voir (par exemple) kivy vitrine pour des exemples de quelques simples kivy capacités, ou plat " bijoux pour un exemple d'un simple jeu fait en kivy. Ce sont juste des exemples, beaucoup plus est possible.
j'ai trouvé cela très utile (et récent):
Intégration de Python dans Android (Tutoriel de la série)
http://techventura.wordpress.com/2014/04/21/embedding-python-in-android-series /
il décrit comment intégrer Python dans une application Android, en utilisant Python-for-Android, mais pas Kivy lui-même (qui n'est pas vraiment décrit dans Kivy ni Python-for-Android la documentation, pour autant que j'ai trouvé), qui est utile dans divers scénarios (par exemple, application Java existante, en utilisant directement GUI natif, etc.)
depuis que Python-for-Android de Kivy est plus activement développé que le Py4A de SL4A(ASE), il me semble le chemin à suivre.
(je pense qu'il serait aussi très pertinent, et probablement plus approprié, de est-ce qu'il y a un moyen d'exécuter Python sur Android? , mais répondre demande plus de réputation que je ne le fais actuellement avoir.)
au point de la question originale: la différence la plus pertinente que je vois entre Python-for-Android de Kivy et Py4A de SL4A(ASE) est que ce dernier est encore aujourd'hui offert comme" qualité alpha", alors que le premier semble être beaucoup plus actif. Bien sûr, si vous prenez Kivy dans son ensemble, c'est une bibliothèque GUI multiplateformes.
aussi, les résultats de mes recherches sur les différentes solutions:
- Google Py4A + SL4A (ASE) : utilisé mais de qualité alpha, Non développé activement
- Kivy :
- offre Python-For-Android, pour appeler le code python de Java
- offre à Pyjnius, d'appeler du code Java de python
- semble être activement développé
- il y a le tutoriel que j'ai relié ci-dessus pour intégrer dans Java Android app
- si intéressé, the cross-platform GUI (Kivy itself)
- QPython :
- principalement un environnement interactif pour lancer des scripts python sur Android
- basé sur Py4A, mais Pyjnius (voir ci-dessus) est dit utilisable
- intégration dans une application Java est disponible, mais quelque peu limité: un travail Python doit être lancé avec une intention, et les résultats sont recueillis à partir du stdout; cela signifie que plus de séparation qui pourrait être souhaitable dans certains scénarios, je pense.
- python.org : aucune mention du tout D'Android
avez-vous essayé QPython ? C'est une nouvelle python pour android qui offre plus de fonctions.
en plus des réponses ici, j'ajouterais la fourche du Py4A original qui semble être activement développé: https://github.com/kuri65536/sl4a
je ne peux pas garantir la qualité ou la facilité d'utilisation. Il y a des .apk pour l'installer il semble donc assez simple.