Mobil Programlama

1. Bölüm Ders 5: 4. Mobil Uygulama Geliştirme Platformaları

Mobil endüstri, akıllı telefonlar ve tabletler gibi artan sayıda mobil cihazla hızla gelişmektedir. Günümüzde insanlar mobil cihazlardan her zamankinden daha fazla hizmet alıyor. Mobil çözümler işletmeleri, kuruluşları ve artan müşteri ve iş ortaklarını doğrudan etkiliyor. Artık çalışanlar bile mobil bir nehirde hizmetlere erişmeyi bekliyor.

Mobil uygulamalarda şu an için performans,  görünüm ve etkileşim (kullanıcı dostu ara yüzler), uygulama güvenliği, anlaşıla bilirlik, stabilite, geliştirme, test ve bakım süreçleri, yeni geliştirmelere destek, kullanılacak platform ve eklenti desteği en önemli ölçütlerdir.

Mobil Platformlar Programlama Dilleri  Uygulama mağazası
Apple IOS C, Objective C Apple Store
Google Android Java Google Play Store
Windows Mobile .NET, C# Windows Store
Window 7 Phone .NET, C# Windows Store
Symbian C, C++, Phyton, HTML/ CSS/JS Nokia Store, Ovi store
RIM BlackBerry Java (J2ME) BlackBerry App World
HP Palm WebOS HTML/CSS/JS HP store
Samsung Bada C, C++, HTML/CSS/JS Samsung Apps
MeeGo C++ Apps for MeeGo

Tablo 4. 1: Mobil Platforma Göre Bilmemiz Gereken Programlama Dilleri

Projenin yapısına göre uygulama geliştirme:

  • Mobil Web Uygulaması
  • Native (Yerel)
  • Hybrid (Melez)
  1. Mobil web Uygulaması Geliştirme:

Uygulamanın HTML5, CSS3, Javascript gibi web teknolojileri ile yazılarak tarayıcılarda çalışacak halde sunulması işlemidir. Mobil cihazların tarayıcıları ile siteye girdiğimiz zaman tarayıcı istemciye göre (user agent) mobil tarayıcı olduğunu anlayıp ona göre web sitesi olarak değil de web uygulaması olarak açılması sağlanır. Responsive web site tasarımı ’da tercih edilebilmesi hem daha pratik hem de daha az maliyetli olmaktadır. Farkı uygulama mağazalarından indirilemeyip tarayıcılar vasıtası ile erişilmesidir.

2.Native (Yerel) Uygulama Geliştirme:

Günümüzde var olan mobil aygıtları incelediğimizde Apple IOS, Google Android, RIM BlackBerry ve Windows Mobile gibi mobil işletim sistemlerinin kullanıldığını görmekteyiz. Bu sistemler için geliştirilen uygulamalar ayrı ayrı mağazalarından erişilebilmekte. Mobil uygulamaların farklı özellikteki bu cihazlar için ayrı ayrı yazılmasına, yazılımsal ve donanımsal olanaklarına doğrudan erişmesine yerel (Native) uygulama geliştirme yöntemi denmektedir. Native uygulamalar cihazın kendi ana platformu tarafından desteklenmiş bir dil ile yazılır. Örneğin Java ile geliştirilen Android uygulamaları Objective C veya Swift ile geliştirilen iOS uygulamaları gibi.

3.Hybrid (Melez) Uygulama Geliştirme:

Tek kod ile yazılan ve birden fazla platformda (IOS, Android, Windows) çalışabilen uygulamalara Hybrid uygulamalar denir. Bu uygulamalar HTML5, CSS3 ve JavaScript‘in gücü ve yaygınlığı üzerine kurularak mobil cihazlarda tercih edilmektedir. Native uygulamalar gibi sistem kaynaklarına doğrudan değil de bir ara katman sayesinde erişir. Çarpraz (cross-platform) uygulama geliştirme paltformu olarakta bilinen bu geliştirme yönteminde, tüm platformlar için tek dil kullanarak native uygulamalar oluşturulur ve aynı sonuç üretilir.

Hybrid uygulama bir kez kod yazıp tüm platformlar için (iOS, Android, Windows) native uygulama geliştirebilme isteğidir. Uygulama bir kez yazılacak ve tüm platformlar için uygulama çalışır hale gelecek. Uygulama ileride güncellenmek istenirse yine aynı kod üzerinden geliştirmeye devam edip, tek bir kod ile tüm platformlara native uygulama hazırlanmış olur. Geliştirilen bu uygulama App Store, Google Play gibi tüm uygulama mağazalarına sunulabilir.

Native Uygulamalar Hybrid Uygulamalar
Platforma bağlı geliştirme Platformlardan bağımsız geliştirme
Yüksek performans Sınırlı performans
Geliştirme ve bakım maliyetlidir Geliştirme ve bakım az maliyetlidir
Uygulama geliştirme karmaşık ve zaman alır Hızlı geliştirme ve bakım
Her platformun kendine özgü dilini ve araçlarını öğrenmek zorundasın HTML, CSS, JS bilmek yeterlidir
Geliştirmiş olduğu platformdaki API’lere ulaşır Cordova API ile cihaz özelliklerine erişme kullanma imkanı sağlar.

Tablo 4.2: Native ve Hybrid Mobil Uygulamaların Karşılaştırılması

Peki, hangisini öğrenmek ya da hangisi ile uygulamamızı geliştirmek daha doğrusu? Kime sorsak kendi bildiği teknolojiyi savunmakta ve daha avantajlı olduğunu anlatmaktadır.

Mobil Web siteleri tam olarak bir mobil uygulama sayılmazlar. Mobil cihazların tarayıcıları üzerinden erişilen mobil uygulamalara benzetilmiş web site yapılarıdır. Zaten uygulama gibi indirilip kurulamazlar. Sadece tarayıcılar üzerinden erişilip cihaz özelliklerinin (sensör, kamera, veri tabanı) tamamını da kullanamazlar. İnternet bağlantısı olmayınca (çevrimdışı) zaten erişim olamaz. Bu yüzden Mobil web siteleri biraz daha konu dışındadır ve Mobil Web uygulaması yazmayı düşünenler daha çok Responsive site tasarımı üzerinde durmalıdır. Responsive site tasarımları sayesinde hem daha az maliyetli hemde web sitesinin tüm içeriğini sunan bir amaç hedeflenmiş olunur.

Bu ve devam edecek anlatımların tamamı ve sınavlar

tez.hilmibilici.com 

alt domaininde yayındadır. Tezimi paylaşıma açıyorum. Alın teridir, lütfen paylaşırken kaynak belirtmeyi unutmayın. 

Bir cevap yazın

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