Android è una lingua o un framework / piattaforma?


13

So che Android utilizza il linguaggio Java con un SDK Java limitato e che Google afferma che non è Java. Ma è giusto dire che Android è un linguaggio di programmazione? O è più giusto dire che Android è un framework in Java? O è entrambi vero?


Risposte:


36

Android è un sistema operativo (e altro, guarda sotto) che fornisce il suo framework. Ma sicuramente non è una lingua.

Da developer.android.com

Android è uno stack software per dispositivi mobili che include un sistema operativo, middleware e applicazioni chiave. Android SDK fornisce gli strumenti e le API necessari per iniziare a sviluppare applicazioni sulla piattaforma Android utilizzando il linguaggio di programmazione Java.


5

Android non utilizza il linguaggio Java. Ha un processo di compilazione offline che traduce il bytecode JVM nel bytecode Dalvik che Android capisce, ma non c'è nulla che provenga da Android che capisca o funzioni direttamente con Java. Invece, usi altri strumenti esistenti per compilare Java (o qualsiasi altro linguaggio JVM) in bytecode, e poi consegnalo a Dalvik per fare il resto.


3

Java è semplicemente la lingua preferita supportata per lo sviluppo Android. Google ha scelto di creare un SDK per il linguaggio Java e un plug-in per il famoso IDE Java di Eclipse, quindi era disponibile un set di strumenti facilmente disponibili per creare app Android in un linguaggio popolare.
La parte confusa qui è che Java il linguaggio e Java la macchina virtuale sono due cose diverse. Quando un programma Java standard viene eseguito sul PC, è in esecuzione il codice che è stato compilato in codice byte destinato a funzionare nella Java Virtual Machine di Sun Microsystems. Fondamentalmente Android ha una propria macchina virtuale che esegue anche il codice byte. Quando esegui e un'app Android, il suo codice di esecuzione è stato compilato nel codice byte che la macchina virtuale Android comprende. Quindi, mentre Java è la lingua preferita, puoi tecnicamente scrivere app Android in qualsiasi lingua purché tu abbia i mezzi per compilarlo nel codice byte Android. (Anche se non credo che siano disponibili strumenti per altre lingue)


1
Mi sembra che dxpossa essere eseguito su qualsiasi bytecode JVM: Java, Jython, Scala, fai la tua scelta . L'automazione comporterebbe principalmente la modifica delle regole della formica.
Geekosaur,

2

Android è una piattaforma open source gratuita disponibile per chiunque. Il sistema operativo Android è un sistema Linux multiutente in cui ogni applicazione è un utente diverso. E Android si affida a Linux versione 2.6 per servizi di sistema di base come sicurezza, gestione della memoria, gestione dei processi, stack di rete e modello di driver.


1

Android è uno stack di software open source (uno stack di soluzioni è un insieme di sottosistemi o componenti software necessari per fornire una soluzione completamente funzionale, ad esempio un prodotto o un servizio) per dispositivi mobili che include un sistema operativo, middleware e applicazioni chiave. Quindi sei parzialmente corretto nel considerarlo come un framework.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.