Android bir dil veya çerçeve / platform mu?


13

Android'in Java dilini sınırlı bir Java SDK ile kullandığını ve Google'ın Java olmadığını iddia ettiğini biliyorum. Ancak Android'in bir Programlama dili olduğunu söylemek doğru mu? Yoksa Android'in Java'da bir çerçeve olduğunu söylemek daha doğru mu? Yoksa ikisi de doğru mu?


Yanıtlar:


36

Android, kendi çerçevesini sunan bir işletim sistemidir (ve daha fazlası, aşağıya bakın). Ama kesinlikle bir dil değil.

Gönderen developer.android.com

Android, bir işletim sistemi, ara katman yazılımı ve önemli uygulamalar içeren mobil cihazlar için bir yazılım yığınıdır. Android SDK, Java programlama dilini kullanarak Android platformunda uygulama geliştirmeye başlamak için gerekli araçları ve API'leri sağlar.


5

Android, Java dilini kullanmaz. JVM bayt kodunu Android'in anladığı Dalvik bayt koduna çeviren çevrimdışı bir derleme sürecine sahiptir, ancak Android ile birlikte gelen, Java'yı doğrudan anlayan veya Java ile çalışan hiçbir şey yoktur. Bunun yerine, bayt kodlamak üzere Java'yı (veya başka bir JVM dilini) derlemek için diğer mevcut araçları kullanın ve sonra geri kalanını gitmek için Dalvik'e verin.


3

Java sadece Android geliştirme için desteklenen bir dildir. Google, Java dili için ve SDK'yı ve popüler Eclipse Java IDE için bir Eklenti oluşturmayı seçti, bu nedenle popüler bir dilde Android uygulamaları oluşturmak için kolayca kullanılabilen bir araç seti vardı.
Burada kafa karıştırıcı olan bölüm, Java dili ve sanal makine Java iki farklı şeydir. PC'nizde standart bir Java programı çalıştığında, Sun Microsystems Java Sanal Makinesi'nde çalıştırılmak üzere bayt koduna derlenmiş kod çalıştırıyor. Temel olarak Android, bayt kodunu çalıştıran kendi sanal makinesine sahiptir. Android uygulamasını çalıştırdığınızda, Android sanal makinesinin anladığı bayt kodunda derlenen çalışan kodu. Bu nedenle, Java tercih edilen dil olsa da, Android bayt koduna derleme araçlarına sahip olmanız şartıyla teknik olarak herhangi bir dilde android uygulamaları yazabilirsiniz. (Diğer diller için herhangi bir araç bulunmadığını düşünmeme rağmen)


1
Bana dxherhangi bir JVM bayt kodunda çalıştırılabilir gibi görünüyor : Java, Jython, Scala, seçiminizi yapın . Otomatikleştirmek esas olarak Karınca kurallarını değiştirmeyi içerir.
geekosaur

2

Android, herkesin kullanabileceği ücretsiz bir açık kaynak platformudur. Android işletim sistemi, her uygulamanın farklı bir kullanıcı olduğu çok kullanıcılı bir Linux sistemidir. Android, güvenlik, bellek yönetimi, süreç yönetimi, ağ yığını ve sürücü modeli gibi temel sistem hizmetleri için Linux sürüm 2.6'ya güveniyor.


1

Android, bir işletim sistemi, ara katman yazılımı ve önemli uygulamalar içeren mobil cihazlar için açık kaynaklı bir yazılım yığınıdır (bir çözüm yığını, tamamen işlevsel bir çözüm, örneğin bir ürün veya hizmet sunmak için gerekli bir dizi yazılım alt sistemi veya bileşenidir). Yani bunu bir çerçeve olarak görmede kısmen haklısınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.