Je souhaite développer une application Android (assez simple) à distribuer via Play Store. Je voudrais le faire complètement en python. Cependant, la recherche en ligne ne m'a pas tout à fait éclairé: la plupart des commentaires sont soit obsolètes (> 1 an, et je pense qu'il pourrait y avoir une meilleure intégration de python depuis lors) ou ils parlent de l' exécution de python dans Android (par exemple ici ).
Par conséquent, je recherche des informations concernant les questions:
- est-il possible de développer une application entièrement en python - et quels sont les outils pour le faire? (Par exemple, Kivy est-il recommandé?)
- si oui: quels sont les meilleurs environnements logiciels pour l'implémenter? (J'ai essayé sans succès d'utiliser Android Studio mais je n'ai pas pu trouver un moyen d'exécuter du code Python là-bas.)
Je suis assez nouveau dans le développement d'applications et j'apprécierais beaucoup toute possibilité de le faire en python plutôt qu'en Jave, etc., ce que je ne sais pas encore.
Merci beaucoup pour votre aide à l'avance.
Réponses:
Pour répondre à votre première question: oui il est possible de développer une application android en pur python , pour y parvenir je vous propose d'utiliser BeeWare , qui n'est qu'une suite d'outils python , qui fonctionnent très bien ensemble et qui vous permettent de développer applications natives de la plateforme en python.
consultez cette vidéo du créateur de BeeWare qui explique et démontre parfaitement son application
Comment ça fonctionne
Le langage d'implémentation préféré d'Android est Java - donc si vous souhaitez écrire une application Android en Python, vous devez disposer d'un moyen d'exécuter votre code Python sur une machine virtuelle Java. C'est ce que fait VOC . VOC est un transpilateur - il prend le code source Python, le compile en CPython Bytecode, puis transpile ce bytecode en bytecode compatible Java. Le résultat final est que vos fichiers de code source Python sont compilés directement dans un fichier Java .class, qui peut être intégré dans une application Android.
VOC vous permet également d'accéder aux objets Java natifs comme s'il s'agissait d'objets Python, d'implémenter des interfaces Java avec des classes Python et de sous-classer des classes Java avec des classes Python. Grâce à cela, vous pouvez écrire une application Android directement sur les API Android natives.
Une fois que vous avez écrit votre application Android native, vous pouvez utiliser Briefcase pour empaqueter votre code Python en tant qu'application Android.
Le porte - documents est un outil permettant de convertir un projet Python en une application native autonome. Vous pouvez regrouper des projets pour:
Vous pouvez vérifier cette application native Android Tic Tac Toe écrite en Python, à l'aide de la suite BeeWare. sur GitHub
en plus des outils BeeWare, vous aurez besoin d'un JDK et d'un SDK Android pour tester l'exécution de votre application.
et pour répondre à votre deuxième question: un bon environnement peut être tout ce qui vous convient, que ce soit un éditeur de texte et une ligne de commande, ou un IDE, si vous recherchez un bon IDE python, je vous suggère d'essayer Pycharm , il a une édition communautaire qui est gratuite et qui a un environnement similaire à celui d'Android Studio, en raison du fait qu'ils ont été fabriqués par la même société.
J'espère que cela a été utile
la source
Vous pouvez essayer BeeWare - comme décrit sur leur site Web:
Donne que vous voulez que vous vouliez maintenant écrire des applications Android en Python, et présente l'avantage que vous n'aurez pas besoin d'apprendre un autre cadre à l'avenir si vous finissez par vouloir faire quelque chose sur l'une des autres plates-formes répertoriées.
Voici le didacticiel pour les applications Android .
la source
Il existe deux principaux prétendants aux applications python sur Android
Chaquopy
https://chaquo.com/chaquopy/
Cela s'intègre au système de construction Android, il fournit une API Python pour toutes les fonctionnalités Android. Pour citer le site "L'API Android complète et le toolkit d'interface utilisateur sont directement à votre disposition."
Beeware (boîte à outils du widget Toga)
https://pybee.org/
Cela fournit un transpilateur multi-cible, prend en charge de nombreuses cibles telles qu'Android et iOS. Il utilise une boîte à outils de widget générique (toga) qui correspond aux appels de l'interface hôte.
Laquelle?
Les deux sont des projets actifs et leurs comptes github montrent une bonne partie de l'activité récente.
Beeware Toga, comme toutes les bibliothèques de widgets, est idéal pour diffuser les bases sur plusieurs plates-formes. Si vous avez des conceptions de base et que vous souhaitez vous étendre à d'autres plates-formes, cela devrait bien fonctionner pour vous.
En revanche, Chaquopy est beaucoup plus précis dans sa cartographie de l'API python vers Android. Il vous permet également de mélanger en Java, utile si vous souhaitez utiliser du code existant à partir d'autres ressources. Si vous avez des objectifs de conception stricts et que vous souhaitez principalement cibler Android, c'est une bien meilleure ressource.
la source
Android, Python!
Quand j'ai vu ces deux mots-clés ensemble dans votre question, Kivy est celui qui m'est venu à l'esprit en premier.
Avant d'arriver au développement natif d'Android en Java avec Android Studio, j'avais essayé Kivy . C'est tout simplement génial. Voici quelques avantages que j'ai pu découvrir.
Utilisation simple
Avec les bases de Python, vous n'aurez aucun mal à l'apprendre.
Bonne communauté
Il est bien documenté et possède une communauté formidable et active.
Plateforme croisée.
Vous pouvez développer quelque chose pour Android, iOS, Windows, Linux et même Raspberry Pi avec ce cadre unique. Open source.
C'est un logiciel libre
Au moins quelques-uns de ses concurrents (multiplateformes) veulent que vous payiez des frais si vous souhaitez une licence commerciale.
Prise en charge graphique accélérée
Le moteur graphique de Kivy construit sur OpenGL ES 2 le rend approprié pour les logiciels qui nécessitent un rendu graphique rapide comme les jeux.
Passant maintenant à la partie suivante de la question, vous ne pouvez pas utiliser Android Studio IDE pour Kivy. Voici un guide détaillé pour la configuration de l'environnement de développement.
la source