안드로이드는 언어 또는 프레임 워크 / 플랫폼입니까?


13

Android는 Java SDK가 제한된 Java 언어를 사용하며 Google은 Java가 아니라고 주장합니다. 그러나 안드로이드가 프로그래밍 언어라고 말하는 것이 옳은가? 아니면 Android가 Java의 프레임 워크라고 말하는 것이 더 옳습니까? 아니면 둘 다 맞습니까?


답변:


36

Android는 자체 프레임 워크를 제공하는 OS입니다 (아래 참조). 그러나 그것은 분명히 언어가 아닙니다.

에서 developer.android.com

Android는 운영 체제, 미들웨어 및 주요 애플리케이션이 포함 된 모바일 장치 용 소프트웨어 스택입니다. Android SDK는 Java 프로그래밍 언어를 사용하여 Android 플랫폼에서 애플리케이션 개발을 시작하는 데 필요한 도구 및 API를 제공합니다.


5

Android는 Java 언어를 사용하지 않습니다. JVM 바이트 코드를 Android가 이해하는 Dalvik 바이트 코드로 변환하는 오프라인 컴파일 프로세스가 있지만 Java를 직접 이해하거나 작동하는 Android에는 아무것도 없습니다. 대신 다른 기존 도구를 사용하여 Java (또는 다른 JVM 언어)를 바이트 코드로 컴파일 한 다음 Dalvik에 전달하여 나머지 작업을 진행합니다.


3

Java는 Android 개발에 지원되는 언어입니다. Google은 Java 언어 용 SDK와 널리 사용되는 Eclipse Java IDE 용 플러그인을 작성하기로 선택했기 때문에 인기있는 언어로 Android 앱을 작성하기위한 도구 세트를 쉽게 사용할 수있었습니다.
여기서 혼란스러운 부분은 Java 언어와 가상 머신 Java가 서로 다른 것입니다. 표준 Java 프로그램이 PC에서 실행될 때 Sun Microsystems Java Virtual Machine에서 실행되도록 바이트 코드로 컴파일 된 코드를 실행하는 것입니다. 기본적으로 Android에는 바이트 코드를 실행하는 자체 가상 머신이 있습니다. Android 앱을 실행하면 Android 가상 머신이 이해하는 바이트 코드로 컴파일 된 실행 코드입니다. 따라서 Java가 선택되는 언어이지만, 안드로이드 바이트 코드로 컴파일 할 수있는 수단이 있다면 어떤 언어로든 안드로이드 앱을 기술적으로 작성할 수 있습니다. (다른 언어로는 사용할 수있는 도구가 없다고 생각합니다)


1
나에게 외모처럼 dx어떤 JVM 바이트 코드를 실행할 수 있습니다 : 자바, 자이 썬, 스칼라, 한 곳입니다 . 이를 자동화하려면 주로 Ant 규칙을 수정해야합니다.
geekosaur

2

Android는 누구나 사용할 수있는 무료 오픈 소스 플랫폼입니다. Android 운영 체제는 각 애플리케이션이 다른 사용자 인 다중 사용자 Linux 시스템입니다. 또한 Android는 보안, 메모리 관리, 프로세스 관리, 네트워크 스택 및 드라이버 모델과 같은 핵심 시스템 서비스를 위해 Linux 버전 2.6을 사용합니다.


1

Android는 운영 체제, 미들웨어 및 주요 응용 프로그램이 포함 된 모바일 장치를위한 오픈 소스 소프트웨어 스택 (솔루션 스택은 제품 또는 서비스와 같은 완전한 기능 솔루션을 제공하는 데 필요한 일련의 소프트웨어 하위 시스템 또는 구성 요소)입니다. 따라서 프레임 워크로 간주하면 부분적으로 정확합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.