web-dev-qa-db-fra.com

Le développement d'une application pour Android avec Lua est-il uniquement possible?

J'ai donc lu cet article sur Mobile Orchard et, comme je compte faire mes premiers pas dans le développement d'Android, cela m'a fait réfléchir: est-il possible de développer pour Android uniquement à Lua? J'ai googlé le sujet mais n'ai trouvé aucune réponse définitive. Je sais que Java est le "style de base" pour Android, mais pour le débutant en codage que je suis (Python élémentaire, C++ de base), Lua semble en quelque sorte plus clair et plus convivial. Alors voici ma question: peut-on développer une application Android en utilisant uniquement Lua? Si oui, pourriez-vous s'il vous plaît me montrer quelques directions pour aller d'ici?

19
Straightfw

La question est quel type d'application voulez-vous construire et quelles sont vos compétences? Si vous connaissez déjà JavaScript, Phonegap/Cordova existe déjà. Si vous construisez des jeux, il existe un certain nombre de cadres pour 2D et 3D qui utilisent Lua. Certains sont gratuits, d’autres ont des droits de licence, mais ils en valent la peine s’ils offrent une solution à votre problème. Tous ont des avantages et des inconvénients. Par exemple, je ne suis pas sûr de vouloir créer un lecteur RSS dans un cadre de jeu. Java est juste un autre langage, je recommanderais juste d’apprendre à démarrer Java et le framework Android et de savoir ce qu’il y a avant d’ajouter une autre couche de framework spécifique à une application.

5
Morrison Chang

J'ai développé une application mobile à Lua pour contrôler des robots à distance à partir de téléphones iOS et Android. L'application est en pure Lua et s'exécute sur Plate-forme Mosync using MobileLua . Il reste encore de la plomberie, mais ce n’est pas trop complexe. 

J'ai également un debugger et un Lua IDE ( ZeroBraneStudio ) qui prennent en charge le débogage des scripts Lua s'exécutant à distance (y compris les scripts MobileLua s'exécutant sur des appareils Android ou iOS). Je fournis une application de démonstration que vous pouvez utiliser en tant que client pour exécuter des scripts simples et vérifier le débogage distant en action.

[Mise à jour] Si vous êtes intéressé par davantage d'options orientées jeu, vous en trouverez plusieurs: (1) déjà mentionné Corona SDK , (2) Moai et (3) Gideros Mobile . Il existe également des liaisons Marmalade Quick et Cocos2d-x Lua (par exemple, quick-cocos2d-x ). Tous ces outils/cadres permettent de se développer à Lua.

Voici une comparaison détaillée de Moai vs. Corona

15
Paul Kulchenko

Je sais que c’est une question plus ancienne, mais pour corriger certaines informations erronées (dans les commentaires) des personnes qui viendront plus tard, Corona SDK (à compter du printemps 2013) propose une Starter Edition gratuite - aucun écran de démarrage ni rien. La principale différence entre cette version et la version "Pro" est que vous ne pouvez pas effectuer d'achats intégrés dans l'application Starter Edition. Mais vous pouvez l’utiliser pour créer des applications destinées à la vente, etc. Aucune date d’expiration ou autre.

Et pour répondre à la question initiale, l’apprentissage de Java peut vous permettre d’écrire des applications Android, mais si vous souhaitez également cibler iOS, vous ne disposez pas d’excellentes options. En choisissant quelque chose qui est multi-plateforme depuis le début, vous pouvez cibler Android ou iOS ou les deux. Lua (dans toutes les saveurs déjà mentionnées) est un excellent langage de base à apprendre pour le développement mobile.

7
J. A. Whye

Vous pouvez essayer http://scormpool.com/luastudio Développer et exécuter du code sur votre appareil, y compris iOS, Android, Mac, Win.

L'exportateur peut vous aider à créer une application autonome sur les plateformes énumérées ci-dessus.

2
mobiler.a

Corona SDK vous permet d’écrire des applications iOS et Android dans Lua. C'est très facile à apprendre, mais ce n'est pas gratuit . Edit: Je t'ai vu poster que tu avais trouvé Corona juste après que j'ai envoyé mon message ...

2
amirfl

Si seulement Lua pur alors la réponse est non .. à moins que vous vouliez utiliser beaucoup de bibliothèques

Si vous voulez créer de petites applications/jeux Android, utilisez un moteur de jeu. L’apprentissage se fait étape par étape. Ne vous lancez pas dans la partie la plus difficile.

0
James Penner

Cela ne sera peut-être pas utile pour le PO, mais je souhaiterais partager mon point de vue pour les personnes intéressées à utiliser Lua pour écrire leurs applications. Donc, pour répondre à la question:

Oui, vous pouvez utiliser uniquement Lua pour écrire des applications pour Android à l'aide de LuaJava à partir du projet kepler (même si je ne crois pas que sa maintenance soit maintenue). Vous pouvez créer et manipuler des objets Java sans effort, et interagir avec les API Android via lua. Vous pouvez même créer des éléments d'interface utilisateur de manière dynamique en utilisant uniquement lua. Toutefois, une petite quantité de code d'amorçage Java est nécessaire pour démarrer la lua VM à partir de votre application. Le projet AndroLua est un excellent point de départ pour Android. Le créateur a beaucoup travaillé pour que lua fonctionne avec Android et intègre tout cela dans une application. Par expérience, je peux dire que cela fonctionne très bien! Cependant, je ne recommanderais en aucun cas ceci à un débutant, car cela nécessite beaucoup de connaissances sur Java et lua pour que les choses fonctionnent, ce qui signifie davantage de travail, pas moins. 

Pour AndroLua, il suffit de cloner le référentiel et de l’utiliser comme base pour votre propre application. La dernière fois que je l'ai utilisé, je l'ai simplement importé dans Android-studio et, après avoir corrigé quelques problèmes liés à ma propre configuration, je l'ai compilé et exécuté sur mon appareil.

0
o080o