Mobil Programlama
Mobil uygulama türleri nelerdir?
Mobil uygulama geliştirmenin dört farklı yaklaşımı vardır.
*Yerel Mobil Uygulamalar
*Platformlar arası Yerel Mobil Uygulamalar
*Hibrit (Karma) Mobil Uygulamalar
*Aşamalı Web Uygulamaları
Bu yaklaşımlar arası seçim yaparken, her yaklaşımın avantaj ve dezavantajları olduğunu hesaba katmak gerekir.
Geliştiriciler; Projeler için doğru geliştirme yaklaşımlarını seçerken, kullanıcı deneyimini, uygulama için gerekli bilgi işlem kaynaklarını, bütçeyi, zaman kriterlerini ve uygulamayı korumak için mevcut kaynakları göz önünde bulundururlar.
1-Yerel Mobil Uygulamalar
Android ve IOS gibi cihazın işletim sisteminde doğrudan çalışabilir. Platform sahibinin sağladığı programlama dilinde ve normlarında yazılır.
Avantajları;
En iyi çalışma zamanı performansı verir.
Cihaz API’lerine doğrudan erişim sağlanır.
Dezavantajları;
Maliyeti Yüksek
Her platform için birden fazla kod tabanı gerekir.
2-Platformlar Arası Uygulamalar
Cihazın işletim sisteminde çalışan yerel bir uygulamada derlenir. Farklı norm ve programlama dillerinde yazılabilir.
Avantajları;
Birden çok platform için tek kod tabanı yeterlidir.
Uygulamayı oluşturmak ve korumak kolaydır.
Dezavantajları;
Yerel cihaz özellikleri için köprülere ve kütüphanelere ihtiyaç duyar.
Köprüleme ihtiyacından dolayı performansı sınırlar.
3-Karma Mobil Uygulamalar
JavaScript, CSS ve HTML5 gibi standart web teknolojileriyle oluşturulur ve uygulama yükleme paketleri olarak yazılır. Yerel uygulamaların aksine, Apache Cordova aracılığıyla yerel cihaz API’leri için bir tarayıcı ve köprü sağlayan bir web kapsayıcısı üzerine çalışır.
Avantajları;
Web ve mobil uygulamalar arasında kod tabanı paylaşılabilir.
Web geliştirme setleri kullanımını destekler.
Dezavantajları;
Yerel uygulamalara göre daha düşük performans gösterir.
Yerel cihaz özellikleri için sınırlı desteğe sahiptir.
4-Aşamalı Web Uygulamaları
Geleneksel mobil uygulama geliştirmeye alternatif bir yaklaşım sunar. PWA’lar (ileri web uygulaması) uygulama benzeri bir kullanıcı deneyimi sağlamak için çevrimdışı çalışabilir. Arka plan işlemleri, cihaz ana ekranına bağlantı ekleme ve tarayıcı özelliğini kullanan web uygulamalarıdır.
Avantajları;
Uygulama hem web hem mobil cihazda kullanılabilir.
URL ile erişim imkanına sahiptir, kurulum gerektirmez.
Dezavantajları;
Yerel cihaz özellikleri için sınırlı desteğe sahiptir.
Uygulama özellikleri kullanılan tarayıcıya bağlıdır.
Mobil uygulama geliştirme için hangi programlama dili kullanılır?
Son yıllarda inanılmaz bir artış gösteren mobil uygulama geliştirme endüstrisi, dünya çapında bir ilgi ve büyümeye imza attı. Hangi mobil uygulama geliştirme yaklaşımını seçmek gerektiği ve stratejiler göz önünde bulundurulduğunda, bir programlama dili seçme zamanı da gelmiştir. Bu programlama dilini seçerken bazı kriterleri de göz önünde bulundurmak gerekir.
En sık kullanılan programlama dilleri ve hangi işleve göre seçmek gerektiğinden biraz bahsedelim.
HTML5: Mobil cihaz için Web tabanlı bir uygulama geliştirmek için idealdir.
Birçok farklı tarayıcı tarafından farklı şekillerde desteklenir ve uygun maliyetlidir.
Objective-C: Apple tarafından seçilen Objective-C, sağlam ve ölçeklenebilir uygulamalar için idealdir. Kullanımı kolay ve C++ ile birlikte kullanılabilir. IOS uygulamaları için birincil programlama dilidir ve bu yüzden tüm IOS ve MacOS çerçeveleri ile entegre edilmiştir.
Swift: Apple Inc. Tarafından IOS ve Linux için, Apple ekosistemine giren en yeni programlama dilidir. Objective-C ile birlikte çalışabilir, basitleştirilmiş bir sürümü gibidir. IOS geliştirme için kullanılan birincil dildir.
C++: Android ve Windows için en uygun ve sağlam programlama dilidir. Temel olarak düşük seviyeli programlama da tercih edilir. Finans, üretim ve bankacılığa kadar sektörlerde kullanılan her zaman talebi olan bir dildir. Tarihi akıllı telefonların öncesine dayanan ve güçlü bir programlama dili olan C++; mobil uygulamaların mevcut her platformlarında her amaç için geliştirilmesine olanak tanır. Platformlar arası mobil uygulama geliştirmede iyi performans göstermektedir.
C#: C Sharp olarak bilinen bu dil Windows Phone uygulama geliştirmeleri için sevilen ve bu uygulamalar için mükemmel bir programlama dilidir. Microsoft tarafından geliştirilmiştir ve genel amaçlı kullanılabilir. Güvenli ve basit bir dildir ve .NET çerçevesine erişim sağlayabilir. Visual Studio, AutoCad, Office 365 vb. C# dili ile oluşturulmuş yazılımlardan bazılarıdır.
Java: Android uygulama geliştirme söz konusu olduğunda en çok tercih edilen dillerden biridir çünkü, Android İşletim Sistemi Java ile yazılmıştır. Sun Microsystems’de geliştirilmiş olan nesne tabanlı bir programlama dilidir. Java, tarayıcı penceresi veya sanal bir makinede olmak üzere iki farklı şekilde çalıştırılabilir.
Bu esneklik, kodun yeniden yazılması veya güncellenmesi söz konusu olduğunda avantajlar yaratır. Özellikle platformlar arası mobil uygulama geliştirme söz konusu olduğunda tercih edilir. Entegrasyonu kolaylaştıran API’leri destekler ve yüzlerce açık kaynak kütüphanesi bulunur.
Python: Web ve uygulama geliştirme, sayısal verileri analiz ve hesaplama, masaüstü GUI oluşturma ve yazılım geliştirme için yaygın kullanılan üst düzey ve popüler programlama dilidir. Windows, Mac, Unix ve Linux da çalışan, etkileşimli ve öğrenmesi kolay olan Python dilinde geliştirilen uygulama örneklerinden bazıları; Instagram, Spotify, Youtube, BitTorrent vb.
BuildFire.js: Yaygın ticari kullanımların %70’inin kapsayan eklentilere sahip olan bu dil, BuildFire SDK ve JavaScript’ten yararlanarak hızlı mobil uygulama geliştirmeye olanak tanır.
Her şeyi sıfırdan oluşturmak yerine, müşterinin istekleri üzerine belirli işlevleri geliştirme gerektirir.
PHP: (Hypertext Preprocessor) Web tabanlı, genel ve çok geniş kullanımlı, içerisine HTML gömülebilen betik ve programlama dilidir. Öncelikli olarak dinamik web siteleri oluşturmak için kullanılır. Sunucu uyumlu ve platformdan bağımsızdır.
Yazar: Başak Akbaş