Czy Android jest językiem czy platformą / platformą?

13

Wiem, że Android używa języka Java z ograniczonym pakietem Java SDK i że Google twierdzi, że nie jest to Java. Ale czy można powiedzieć, że Android jest językiem programowania? Czy może lepiej powiedzieć, że Android jest strukturą Java? Czy oba są prawdziwe?


źródło

Odpowiedzi:

36

Android to system operacyjny (i więcej, patrz poniżej), który ma własną platformę. Ale to zdecydowanie nie jest język.

Od developer.android.com

Android to pakiet oprogramowania dla urządzeń mobilnych, który obejmuje system operacyjny, oprogramowanie pośrednie i kluczowe aplikacje. Zestaw Android SDK zapewnia narzędzia i interfejsy API niezbędne do rozpoczęcia tworzenia aplikacji na platformie Android przy użyciu języka programowania Java.

lfx
źródło
5

Android nie używa języka Java. Ma proces kompilacji offline, który tłumaczy kod bajtowy JVM na kod bajtowy Dalvik, który Android rozumie, ale nie ma nic, co pochodzi z Androidem, który bezpośrednio rozumie lub współpracuje z Javą. Zamiast tego używasz innych istniejących narzędzi do kompilacji Javy (lub innego języka JVM) do kodu bajtowego, a następnie przekazujesz to Dalvik, aby przejść resztę.

hojny
źródło
3

Java jest po prostu obsługiwanym językiem wyboru dla rozwoju Androida. Google zdecydowało się stworzyć i SDK dla języka Java oraz wtyczkę do popularnego środowiska IDE Eclipse Java, dlatego był dostępny zestaw narzędzi do tworzenia aplikacji na Androida w popularnym języku.
Mylące jest tutaj to, że język Java i maszyna wirtualna Java to dwie różne rzeczy. Gdy na komputerze działa standardowy program Java, działa kod skompilowany w kod bajtowy przeznaczony do działania na maszynie wirtualnej Java firmy Sun Microsystems. Zasadniczo Android ma własną maszynę wirtualną, która również uruchamia kod bajtowy. Po uruchomieniu i aplikacji na Androida jej kod działający został wkompilowany w kod bajtowy zrozumiały dla maszyny wirtualnej z systemem Android. Tak więc, chociaż Java jest wybranym językiem, możesz technicznie pisać aplikacje na Androida w dowolnym języku, pod warunkiem, że masz środki na skompilowanie go w bajtowy kod Androida. (Chociaż nie sądzę, aby dostępne były inne narzędzia dla innych języków)

Kratz
źródło
1
Wygląda na to, że dxmożna go uruchomić na dowolnym kodzie bajtowym JVM: Java, Jython, Scala, wybierz . Automatyzacja wymagałaby głównie modyfikacji reguł Ant.
geekozaur
2

Android to darmowa platforma typu open source dostępna dla każdego. System operacyjny Android to system Linux dla wielu użytkowników, w którym każda aplikacja jest innym użytkownikiem. Android opiera się na Linuksie w wersji 2.6 w zakresie podstawowych usług systemowych, takich jak bezpieczeństwo, zarządzanie pamięcią, zarządzanie procesami, stos sieciowy i model sterownika.

Nikhil Dinesh
źródło
1

Android to stos oprogramowania typu open source (stos rozwiązań to zestaw podsystemów oprogramowania lub komponentów potrzebnych do dostarczenia w pełni funkcjonalnego rozwiązania, np. Produktu lub usługi) dla urządzeń mobilnych, które obejmują system operacyjny, oprogramowanie pośrednie i kluczowe aplikacje. Więc częściowo masz rację, traktując to jako ramy.

Fawoniusz
źródło