Java ve Android Karşılaştırması
Java ve Android Karşılaştırması
Artık Java ME konusunda bir geçmişe sahip olduğunuza göre, Android ile nasıl karşılaştırıldığına bakın:
• Çoklu cihaz konfigürasyonları: Java ME, iki mikro cihaz sınıfına hitap eder ve her biri için standartlaştırılmış ve farklı çözümler sunar. Öte yandan Android, yalnızca bir model için geçerlidir. Bu cihazların yapılandırmaları iyileştirilmedikçe veya iyileştirilmedikçe, düşük kaliteli cihazlarda çalışmaz.
• Anlama kolaylığı: Android yalnızca bir cihaz modeline yönelik olduğundan, Java ME’den daha kolay anlaşılır. Java ME, aygıtın desteklediği özelliklere bağlı olarak her yapılandırma için birden çok UI modeline sahiptir: MIDlet’ler, Xlet’ler, AWT ve Swing. Her Java ME spesifikasyonu için JSR’leri takip etmek daha zordur; olgunlaşmaları daha uzun sürer; ve onlar için uygulama bulmak zor olabilir.
• Duyarlılık: Dalvik VM, benzer şekilde yapılandırılmış bir cihazda desteklenen standart JVM’ye kıyasla daha optimize edilmiş ve daha duyarlıdır. Dalvik VM’yi KVM ile karşılaştırabilirsiniz, ancak KVM çok daha az belleğe sahip daha düşük seviyeli bir cihazı ele alır.
• Java uyumluluğu: Dalvik sanal makinesi nedeniyle Android, Java bayt kodu yerine .dex bayt kodunu çalıştırır. Java standart Java sınıfı dosyalara göre derlendiği sürece bu önemli bir endişe olmamalıdır. Yalnızca Java bayt kodunun çalışma zamanı yorumu mümkün değildir.
• Benimseme: Çoğu cep telefonu desteklediği için mobil cihazlarda Java ME için yaygın bir destek vardır. Ancak Android’deki tekdüzelik, maliyet ve geliştirme kolaylığı, Java geliştiricilerinin bunun için programlama yapması için zorlayıcı nedenlerdir.
• Java SE desteği: CDC’deki Java SE desteğiyle karşılaştırıldığında, AWT ve Swing dışında Java SE için Android desteği biraz daha eksiksizdir. Daha önce de belirttiğimiz gibi, Android’in bunun yerine kendi kullanıcı arayüzü yaklaşımı vardır. Aslında, Android’in bildirime dayalı kullanıcı arayüzü JavaFX yaklaşımına benzer.
Android ve iOS uygulama GELİŞTİRME programları
Java tarih karşılaştırma
Java. Date kullanımı
Java Kotlin farkı
Java. tarihe gün ekleme
Java saat, dakika saniye
Java For Döngüsü
İos Developer mi Android developer mi
Android Yazılım Yığınını Anlamak
Şimdiye kadar Android’in geçmişini ve Dalvik VM dahil optimizasyon özelliklerini ele aldık ve mevcut Java programlama yığınını ima ettik. Bu bölümde, Android’in geliştirme yönünü ele almak istiyoruz. Şekil 1-6, bu tartışmaya başlamak için iyi bir yerdir.
Android Platformunun özünde, aygıt sürücülerinden, kaynak erişiminden, güç yönetiminden ve diğer işletim sistemi görevlerinden sorumlu olan Linux çekirdeği sürüm 2.6 bulunur. Sağlanan aygıt sürücüleri arasında Ekran, Kamera, Tuş Takımı, WiFi, Flash Bellek, Ses ve IPC (işlemler arası iletişim) bulunur. Çekirdeği Linux olsa da, T-Mobile G1 gibi bir Android cihazındaki uygulamaların tümü olmasa da çoğunluğu Java’da geliştirilir ve Dalvik VM üzerinden çalıştırılır.
Bir sonraki seviyede, çekirdeğin üzerinde OpenGL, WebKit, FreeType, Secure Sockets Layer (SSL), C çalışma zamanı kitaplığı (libc), SQLite ve Media gibi bir dizi C/C++ kitaplığı bulunur. Berkeley Software Distribution (BSD) tabanlı sistem C kitaplığı, yerleşik Linux tabanlı aygıtlar için ayarlanmıştır (orijinal boyutunun kabaca yarısına kadar).
Medya kitaplıkları, PacketVideo’nun OpenCORE’unu temel alır. Bu kütüphaneler, ses ve video formatlarının kaydedilmesinden ve oynatılmasından sorumludur. Surface Manager adlı bir kitaplık, görüntüleme sistemine erişimi kontrol eder ve 2B ve 3B’yi de destekler.
Tarayıcı desteğinden WebKit kitaplığı sorumludur; Google Chrome ve Apple Inc.’in Safari’sini destekleyen kitaplığın aynısıdır. Font desteğinden FreeType kitaplığı sorumludur. SQLite, cihazın kendisinde bulunan ilişkisel bir veritabanıdır. SQLite ayrıca ilişkisel veritabanları için bağımsız bir açık kaynak çalışmasıdır ve doğrudan Android’e bağlı değildir. Android için SQLite veritabanlarına yönelik araçları da edinebilir ve kullanabilirsiniz.
Uygulama çerçevesinin çoğu, Android Platformuna açılan ağ geçidi olan Dalvik VM aracılığıyla bu çekirdek kitaplıklara erişir. Önceki bölümlerde belirttiğimiz gibi, Dalvik VM’lerin birden çok örneğini çalıştırmak için optimize edilmiştir. Java uygulamaları bu çekirdek kitaplıklara eriştikçe, her uygulama kendi sanal makine örneğine de sahip olur.
Dalvik VM, Java SE Development Kit (JDK) 5.0 ile geriye dönük olarak uyumludur ancak Android Platformu için optimize edilmiştir. Ancak Java deneyiminin bazı özellikleri, Android’deki Java SE sürümü tam platformun bir alt kümesi olduğundan farklılık da gösterebilir.
Android Java API’nin ana kitaplıkları telefon, kaynaklar, konumlar, kullanıcı arabirimi, içerik sağlayıcılar (veriler) ve paket yöneticilerini (kurulum, güvenlik vb.) içerir. Programcılar, bu Java API üzerinde son kullanıcı uygulamaları geliştirir. Cihazdaki bazı son kullanıcı uygulamaları örnekleri arasında Ev, Kişiler, Telefon, Tarayıcı vb. yer alır.
Android ayrıca Skia adlı, C ve C++ ile yazılmış özel bir Google 2D grafik kitaplığını da destekler. Skia ayrıca Google Chrome tarayıcısının çekirdeğini oluşturur. Ancak Android’deki 3D API’ler, Khronos grubundan OpenGL ES uygulamasına dayalıdır. OpenGL ES, gömülü sistemlere yönelik OpenGL alt kümelerini de içerir.
Medya açısından, Android Platformu ses, video ve resimler için en yaygın formatları destekler. Kablosuz bir bakış açısıyla Android, donanıma bağlı olarak Bluetooth, EDGE, 3G, WiFi ve Küresel Mobil İletişim Sistemi (GSM) telefonunu destekleyen API’lere de sahiptir.
Bir sonraki yazımızda, size, bir Android avuçiçi için son kullanıcı uygulamaları geliştirmek için kullanacağınız üst düzey Android Java API’lerini tanıtacağız. Android telefon emülatörü ve temel bileşenleri, UI programlama, servisler, medya, telefon, animasyon ve OpenGL hakkında kısaca konuşacağız. Yararlı olduklarında size bazı kod parçacıkları da göstereceğiz.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)