Android İle İlgili Herşey

 Mobil Uygulamalar ve Android’e Giriş Ders 1

 Uygulama Kavramı  Kullanıcıların ihtiyaçları doğrultusunda istedikleri işlemleri yapmalarına imkan veren yazılımlara uygulama adı verilir. Uygulamaların geliştirilmesi için çeşitli programlama dilleri ve geliştirme araçları kullanılır.  Uygulamalar; işletim sistemleri, internet siteleri (Facebook gibi), başka bilgisayar programları (Firefox, Chrome vb.), cep telefonları (Android, iPhone vb.) ya da tablet bilgisayarlar altında çalıştırılmak üzere hazırlanır. Daha fazla kullanıcıya ulaşabilmek için günümüzde geliştirilen uygulamalardan bir çoğu birden fazla platformda çalışacak şekilde tasarlanmaktadır.

Mobil Uygulamalar ve Türleri  Akıllı telefon ve tabletler için tasarlanmış ve kodlanmış yazılımlara mobil uygulama denir. Temelde 3 tip mobil uygulama vardır; Native (Yerli) Uygulama: Platforma özel API’ler ile belli bir dilde programlanan uygulamadır. Tipik olarak platforma özel merkezi bir uygulama marketinden satın alınır, indirilir ve güncellenir. Native uygulamalar, diğer uygulamalara kıyasla genellikle en iyi performansı, en derin entegrasyonu ve en iyi genel kullanıcı deneyimini sunar. Web Uygulaması: Bir web tabanlı uygulama HTML5, JavaScript ve CSS bazlıdır ve herhangi bir uygulama marketine bağlı değildir. Native bir uygulamanın görünümünü ve davranışlarını kopyalamaya çalışan bir web sitesidir.  Karma Uygulama: Bir uygulamada, daha iyi performans ve platform ile uygulamanın daha iyi uyum sağlaması için native kod kullanılırken, uygulamanın diğer unsurları için HTML5 temelli içerikle beraber bir webview kullanılabilir. Ortaya çıkan uygulamanın bazı kısımları bir native uygulama gibi iş görürken diğer parçalar web teknolojileri ile desteklenmektedir.

 Native vs. Web  Web uygulamaları masaüstü cihazlarınızdan görüntülediğiniz web sitelerinden farklı olarak akıllı telefon ve tablet boyutlarında tekrar oluşturulur ve kullanıcılar bu cihazlardan web sitelerine giriş yaptıklarında karşılarına bu ekran boyutlarında hazırlanmış web siteleri çıkar.  Native uygulamalarda ise durum farklıdır. Aynı şekilde burada da uygulamanın çalışacağı platforma göre tasarım ve kodlama yapılır fakat burada yalnızca ekran boyu değil kullanılan programlama dili de değişmektedir.

 Mobil Platformlar İşletim Sistemleri  

Cihazlar Uygulama Mağazaları

Apple IO S iPhone ve Apple Tabletler  Apple App Store  AndroidBaşlıcaları; Samsung, HTC, Simens, Sony, Asus, LG Google Play Store Windows MobileBaşlıcaları; Nokia Lumia, Windows Phone, Huawei Windows Phone Store Blackberry BlackBerry App World

Pazar Payları

 Android nedir?  Google öncülüğünde bir organizasyon olan Open Handset Allience tarafından geliştirilen, Linux 2.6 çekirdeğine dayalı ve mobil cihazlarda kullanılan bir Linux dağıtımıdır.  İşlem, bellek yönetimi, dosya sistemi vb. temel sistem servisleri diğer Linux türevleri ile aynıdır.  Temel olarak dokunmatik ekranlar için tasarlanan Android, düşük maliyetli ve kişiselleştirilebilen işletim sistemi arayan yüksek teknolojiye sahip cihazlar arasında da popülerdir.  Başlarda bu sadece tablet ve akıllı telefonları kapsasa da, günümüzde televizyonlar, arabalar, oyun konsolları, dijital kameralar ve saatler gibi cihazlarda da kullanılmaya başlamıştır.

 Teknik Bilgiler  Bu platformda uygulamalar Android Yazılım Geliştirme Kiti (SDK) kullanılarak Java dilinde yazılır. Bu SDK yazılımcıya hata ayıklayıcı, yazılım kütüphaneleri ve emülatör gibi yardımcı araçlar sunar.  Android güç kullanımını en aza indirmek ve hafızayı yeterli kullanabilmek için çeşitli yöntemler kullanır. Kullanılmayan uygulamaların bekleme moduna alınması; yetersiz hafıza durumunda uzun süredir aktif olmayan uygulamaların kapatılması bu yöntemlerden bazılarıdır.  İşletim sisteminin donanım olarak içerdiği jiroskop, yakınlık algılayıcı, ivme ölçer gibi fonksiyonlar da uygulama geliştiriciler için fayda sağlar. Örneğin, telefon yan çevrildiği zaman görüntünün de dönmesi bu araçlar yardımıyla uygulanabilir.  Android öncelikli olarak 32-bit ARMv7 işlemcilerine yönelik geliştirilmektedir. Bunun yanında Android x-86 projesi x86 işlemciler için de destek sağlar. Android 5.x Lollipop sürümüyle birlikte x86, ARM ve MIPS platformları için 64 bit desteği de gelmiştir.  Android güvenlik açısından da güçlü olmak adına uygulamaların sistemin tüm alanlarına müdahale etmesini engeller. Her uygulamanın kullanmak istediği alanlar için kullanıcıdan izin alması gerekir ve uygulama güncelleştirmeleri sırasında bu izinler değişirse kendiliğinden güncelleştirme yapmaz ve bu değişikliği kullanıcının onayına sunar.

 Android Sürümleri

       Sürüm  Kod Adı Yayın tarihi

  • 1.1 Astro 9 Şubat 2009
  • 1.2 Bender 16 Mart 2009
  • 1.5 Cupcake 30 Nisan 2009
  • 1.6 Donut 15 Eylül 2009
  • 2.0 Eclair 26 Ekim 2009
  •  2.2 Froyo20 Mayıs 2010
  • 2.3 Gingerbread 6 Aralık 2010
  • 3.0 Honeycomb Şubat 2011
  • 4.0 Ice Cream Sandwich 19 Ekim 2011
  • 4.1 4.2 4.3 Jelly Bean 9 Temmuz 2012 29 Ekim 2012 24 Temmuz 2013
  • 4.4 KitKat 31 Ekim 2013
  • 5.0  5.0.1  5.0.2  5.1.0  5.1.1  Lollipop 12 Kasım 2014 2 Aralık 2014 19 Aralık 2014 10 Mart 2015
  • 6.0 Marshmallow 5 Ekim 2015
  • 7.0 Nougat 22 Ağustos 2016

 Android Sürümleri

 

Android Mimarisi

 

 

 Linux Çekirdeği  Android’in en alt katmanı olup, donanım ve üst seviyeler arasında soyutlama yapılmasını sağlar.  İşlem, bellek ve güç yönetimi gibi temel sistem fonksiyonlarını yerine getirir.  Ayrıca aygıt sürücülerini barındırarak işletim sisteminin cihaz bileşenleriyle bağlantısını sağlar.

Kütüphaneler  Bu katmanda C/C++ ile yazılmış sistem kütüphaneleri, internet tarayıcı motorlarının çalışması için Webkit, görüntüleme kontrolünü yapan Surface Manager, grafik işlemleri için OpenGL, ses ve video işlemleri için gereken Media Framework, veri tabanı kontrolü ve düzenlenmesi için SQLite gibi yapılar bulunur.

 Android Runtime  Bu bölüm Linux çekirdeğindeki kütüphanelerin Java ile birleştiği bölümdür. İki önemli bileşeni vardır;  Temel Java kütüphaneleri  ve Dalvik Sanal Makinesi.

 Dalvik Sanal Makinası  Uygulamalar Dalvik Sanal Makinesi tarafından çalıştırılır. Java ile yazılan uygulamalar alınır, Java kodları derlenerek bytecode dosyalarına çevrilir. Bu dosyalar dex dosyasına çevrilerek Dalvik Sanal Makinesi’nin çalıştıracağı şekle sokulur.  Dalvik VM, düşük işlemci gücü, az RAM ve sınırlı batarya koşullarına göre tasarlanmıştır.

Application Framework  Bu katman doğrudan android uygulamalarıyla ilgilidir. Uygulamaların oluşturulmasında kullanılan bileşenleri barındırır.

Application  Application katmanı android mimarisindeki en üst katmandır.  Kullanıcının doğrudan cihazla iletişime geçtiği uygulamaları barındırır.

 

 

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir