Android est-il un langage ou un framework / plateforme?

13

Je sais qu'Android utilise le langage Java avec un SDK Java limité et que Google prétend que ce n'est pas Java. Mais est-il juste de dire qu'Android est un langage de programmation? Ou est-il plus juste de dire qu'Android est un framework en Java? Ou est-ce vrai?


la source

Réponses:

36

Android est un système d'exploitation (et plus, regardez ci-dessous) qui fournit son propre cadre. Mais ce n'est certainement pas une langue.

De developer.android.com

Android est une pile logicielle pour les appareils mobiles qui comprend un système d'exploitation, un middleware et des applications clés. Le SDK Android fournit les outils et les API nécessaires pour commencer à développer des applications sur la plate-forme Android à l'aide du langage de programmation Java.

lfx
la source
5

Android n'utilise pas le langage Java. Il dispose d'un processus de compilation hors ligne qui traduit le bytecode JVM en bytecode Dalvik qu'Android comprend, mais rien qui vient avec Android ne comprend directement ou ne fonctionne avec Java. Au lieu de cela, vous utilisez d'autres outils existants pour compiler Java (ou tout autre langage JVM) en bytecode, puis remettez-le à Dalvik pour faire le reste du chemin.

munificent
la source
3

Java est simplement la langue de choix prise en charge pour le développement Android. Google a choisi de créer un SDK pour le langage Java et un plugin pour le populaire IDE Eclipse Java, il y avait donc un ensemble d'outils facilement disponibles pour créer des applications Android dans un langage populaire.
La partie déroutante ici est que Java le langage et Java la machine virtuelle sont deux choses différentes. Lorsqu'un programme Java standard s'exécute sur votre PC, il exécute du code qui a été compilé en code octet destiné à être exécuté dans la machine virtuelle Java de Sun Microsystems. Fondamentalement, Android a sa propre machine virtuelle qui exécute également du code octet. Lorsque vous exécutez et l'application Android, son code en cours d'exécution qui a été compilé dans le code d'octet que la machine virtuelle Android comprend. Ainsi, bien que Java soit la langue de choix, vous pouvez techniquement écrire des applications Android dans n'importe quelle langue à condition d'avoir les moyens de la compiler en code octet Android. (Bien que je ne pense pas qu'il existe d'outils pour d'autres langues)

Kratz
la source
1
Il me semble qu'il dxpeut être exécuté sur n'importe quel bytecode JVM: Java, Jython, Scala, faites votre choix . L'automatiser impliquerait principalement de modifier les règles Ant.
geekosaur
2

Android est une plate-forme open source gratuite accessible à tous. Le système d'exploitation Android est un système Linux multi-utilisateurs dans lequel chaque application est un utilisateur différent. Et Android s'appuie sur Linux version 2.6 pour les services système de base tels que la sécurité, la gestion de la mémoire, la gestion des processus, la pile réseau et le modèle de pilote.

Nikhil Dinesh
la source
1

Android est une pile logicielle open-source (une pile de solutions est un ensemble de sous-systèmes logiciels ou de composants nécessaires pour fournir une solution entièrement fonctionnelle, par exemple un produit ou un service) pour les appareils mobiles qui comprend un système d'exploitation, un middleware et des applications clés. Vous avez donc partiellement raison de le considérer comme un cadre.

Favonius
la source