Yerel Mobil Uygulama Mimarisi – Eksiksiz Kılavuz
Yayınlanan: 2022-07-20Mobil uygulamalar, hızlı internetin kullanılabilirliği ve talebi artıran COVID pandemisi ile hızlanan kullanıcılar arasında sürekli talep ve popülerlik içindedir. Mobil uygulama trendleri 2021 tarafından hazırlanan bir rapora göre, uygulama yüklemeleri yıldan yıla %31 oranında artıyor ve oturumlarla ölçülen kullanıcı etkileşimi %4,5.
Şu anda Google Play Store'da yaklaşık 3,48 milyon uygulama ve Apple App Store'da 2,22 milyon uygulama var.
Yeni mobil uygulamalara olan talep hala artıyor ve 5G teknolojisinin ve cihazlarının ortaya çıkmasıyla birlikte yeni 5G destekli uygulamalara talep olacak. Pandemiden sonra, düzenli hizmetler için uygulamalara olan talep de çok arttı. Örneğin, alışveriş uygulamaları, bakkal teslimat uygulamaları, araba servisi uygulamaları, yemek dağıtım uygulamaları, OTT platformları, bilet rezervasyon uygulamaları vb. büyük talep görmektedir. Öte yandan, B2B ve B2C müşterileri de her türlü işletmeyle mobil öncelikli etkileşimler talep ediyor ve bu da birçok kuruluşu mobil uygulama geliştirmeye yöneltiyor.
Mobil uygulamaların küresel geliri 2020'de 581,9 milyar ABD dolarından fazlaydı ve 2023 yılına kadar 935 milyar ABD dolarına ulaşması bekleniyor.
Statista'nın raporuna göre
Bu nedenle, mobil uygulama geliştirmenin önemini göz ardı edemezsiniz. Mobil uygulamaların tasarlanma ve geliştirilme şekli, bir ticari kuruluşta çok önemli bir rol oynar. Basit bir deyişle, mobil uygulama mimarisini anlamak önemlidir. Bu kılavuzda, mobil uygulama mimarisinin tüm farklı yönlerini inceleyeceğiz.
Basit bir deyişle, uygulama mimarisi, bir mobil uygulama tasarlamak için gereken tüm farklı arayüzlerin, yönlerin ve tekniklerin geniş bir koleksiyonudur. Bilgi mimarisi, mobil uygulamanın çalışması gereken ilk yol haritası ve kapsamlı bir kılavuzla ilgilidir. Bu makale size mobil uygulama yapısı hakkında tam bir fikir verecektir. Mimari bir yol haritası veya vizyon tanımlamıyorsa uygulama başarısız olabilir.
İçindekiler
Mobil Uygulama Mimarisi Nedir?
Mobil uygulama mimarisi temel olarak bir mobil uygulamanın geliştirilmesine yardımcı olan kurallar, teknikler, kalıplar ve süreçler kümesini ifade eder. Bu kurallar dizisinin temel rolü, iş gereksinimlerinin yanı sıra endüstri standartlarını da karşılayarak geliştiricilerin uygulamayı geliştirmelerine yardımcı olmaktır. Mobil mimarinin olmaması, maliyetin artmasına, bakım zorluğuna, testlerde verimsizliğe veya hatalara daha yatkın olmasına neden olabilir.
İyi Bir Mobil Uygulama Mimarisi Ne Demektir?
Günümüzde geliştirilen pek çok uygulamanın ne mimarisi var ne de herhangi bir standart takip ediliyor. Bir mimarinin olmaması aşağıdakilere yol açar:
- Daha yüksek maliyetler ve geliştirmede daha fazla zaman
- Özellikle geliştirici değiştiğinde bakımı zor
- Büyütmek ve test etmek zor
- Hatalara daha yatkın
İyi bir mobil uygulama mimarisinde, daha hızlı geliştirme ve vizyoner bir veri akışı yolu için farklı geliştirme aşamalarında KISS, DRY ve SOLID gibi takip edilen belirli ilkeler vardır. Gelecekte uygulamanın nasıl ölçeklendirileceği veya genişletileceği konusunda netlik sağlayacaktır. Mimari, esnekliği ve çevik geliştirme yöntemlerini, verimli testleri, gelecekte kolay bakımı ve hatalara daha az yatkınlığı desteklemelidir. Açık ve iyi tanımlanmış bir mimari, kısa ve uzun vadede hem zamandan hem de paradan tasarruf sağlayacaktır.
Uygulama Mimarisinin Temel Katmanları

Mobil uygulama mimarisinin en basit temsili üç katmanla temsil edilir. Bunlar:
- Sunum Katmanı
- İş Mantığı Katmanı
- Veri Katmanı
Bu katmanların her birini daha ayrıntılı olarak tartışacağız.
1. Sunum Katmanı
Sunum katmanında, uygulamayı kullanıcıya ulaştırmak için gerekli tüm süreç ve bileşenler bulunmaktadır. Sunum katmanını geliştirirken, kullanıcıların uygulamayı kullanırken ne göreceği ve nasıl etkileşimde bulunduğuna odaklanılır. Basit bir deyişle, bu katman kullanıcı arayüzü ve kullanıcı deneyimi üzerine kurulmuştur. Bu nedenle doğrudan kullanıcılarla ilgilidir.
- Kullanıcı Arayüzü: UI, renkler, yazı tipleri, yerleşim ve genel tasarım gibi tasarım öğelerini ifade eder. Daha iyi bir kullanıcı arayüzüne sahip olmak için hedef kitleyi ve farklı kullanıcı karakterlerini anlamak önemlidir.
- Kullanıcı Deneyimi: UX, bir müşterinin bağlantılar, düğmeler, kaydırıcılar, video vb. gibi uygulamayla nasıl etkileşime girdiğini ifade eder. Bu içgörü, mobil uygulama mimarisindeki sunum katmanı stratejisine rehberlik eder. Tüm unsurlar buna göre belirlenir.
Bu katmanın tasarımı sırasında geliştiriciler, uygun standartları takip etmesi için doğru platformu ve cihaz türünü seçmelidir.
2. İş Mantığı Katmanı
Bu katman, veri alışverişi, işlemler ve iş akışı düzenlemesinden sorumlu mantık ve kuralları ifade eder. Temel iş akışlarını, iş mantığını, varlıkları ve diğer önemli bileşenleri içerir. Ayrıca güvenlik, veri önbelleğe alma ve doğrulama, günlüğe kaydetme ve istisna yönetiminden sorumludur. Uygulamanın işlemlerine bağlı olarak kullanıcı cihazında veya sunucuda olabilir.
İş mantığı katmanı, aşağıdaki gibi soruların yanıtlarını verir:
- Uygulamanızın çözdüğü sorun nedir?
- Çözüm bu uygulama ile kullanıcılara nasıl ulaştırılacak?
- Piyasadaki mevcut rakiplerden farkı nedir?
3. Veri Katmanı
Adından da anlaşılacağı gibi, bu katman, veri işlemlerini desteklemek için tüm veri yardımcı programlarını, hizmet aracılarını ve veri erişim bileşenlerini içerir. Bu katmanın iki ana bölümü vardır:
- Kalıcılık: API aracılığıyla veri kaynaklarıyla veri erişimi
- Ağ: Ağ iletişimi, yönlendirme, hata raporlama
Mobil Uygulama Mimarisinin Önemli Unsurları

Yukarıda belirtilen katmanların dışında, istenen sonucu elde etmek için aynı anda çalışan birçok kritik bileşen vardır.
Bu görüntü, veri erişimi ve hizmetlerden oluşan uzak altyapı gibi mobil uygulama mimarisindeki bu öğeler hakkında size kaba bir fikir verir.
Uygulamayı indirip yükledikten sonra, kullanıcı mobil cihazda uygulamanızla etkileşime geçmeye başlayacaktır. Uygulamanın indirildiği platforma bağlı olarak, mimarinin kendine özgü kuralları ve bağımlılıkları olacaktır.
Bundan sonra iş mantığı gelir ve uygulamanın ana hedefi olan tüm iş akışlarını ve süreçleri uygulayacaktır.
Veri depolama, güvenlik, erişim izinleri vb. gibi diğer bileşenler de uygulamanın mimarisinin ayrılmaz bir parçasıdır.
Mobil Uygulama Mimarisi Türleri
Dört ana mobil uygulama mimarisi türü, işletim platformlarına göre kategorize edilir. Bunlar:
- Android Uygulama Mimarisi
- iOS Mobil Uygulama Mimarisi
- Hibrit Mobil Uygulama Mimarisi
- Platformlar Arası Uygulama Mimarisi
1. Android Uygulama Mimarisi (Yerel Uygulamalar)

Yerel uygulamalar, yalnızca Android akıllı telefonlar için oluşturulmuş, yani belirli bir mobil platform için geliştirilmiş uygulamaları ifade eder. Native uygulamalar Google, Samsung, Xiaomi, OnePlus, Sony vb. gibi birçok farklı şirketin cihazları için Android dillerini (Kotlin ve Java) destekleyebilir. Android için tek bir mimari olmasa da en yaygın kullanılanı Clean Architecture'dır.
Bu mimari, katmanlar ilkesi ve kontrolün tersine çevrilmesi üzerine inşa edilmiştir. Katmanlar, yukarıda bahsedilen üç katmanla aynıdır ve iş katmanlarına çoğunlukla etki alanı katmanı denir. Temiz mimaride, etki alanı katmanının başka herhangi bir katmana bağımlılığı yoktur, ancak arayüzlerden yararlanır. Anlaşılması zor görünüyor, ancak bir süre sonra uygulama eklemeyi ve büyütmeyi kolaylaştırıyor.
2. iOS Mobil Uygulama Mimarisi
iOS uygulamalarına Yerel olarak da atıfta bulunulur (yalnızca iOS için oluşturulmuşsa). Bunlar, Objective-C ve Swift gibi iOS uyumlu diller kullanılarak geliştirilmiştir. Apple, mobil uygulama mimarisinde net standartlara ve uygulamalara sahiptir ve MVC modelini (Model View Controller) takip eder. Bu model şunlardan yapılmıştır:
- Model: Veri katmanıdır ve kalıcılık, ayrıştırıcılar, model nesneleri, yöneticiler ve ağ kodundan oluşur.
- Görünüm: Tıpkı sunum katmanı gibi, bu yeniden kullanılabilir katmanlar da uygulamayı kullanıcılara gösterir.
- Denetleyici: Bu katman bir aracı görevi görür ve bir protokol aracılığıyla bir soyutlama ile iletişim kurar.
3. Hibrit Mobil Uygulama Mimarisi
Adından da anlaşılacağı gibi, hem yerel hem de web çözümlerinden yararlanır. Arka uç, yerel bir uygulama olarak oluşturulurken, ön uç için platformdan bağımsız JS, HTML ve CSS kullanılır. Bu uygulamalar, yerel platform özelliklerine erişmek için Apache Cordova veya Ionic Capacitor gibi eklentileri kullanır.
Şu anda, hibrit mobil uygulamalar, çeşitli platformlarda kullanılabildikleri ve güncellenmeleri kolay olduğu için sektöre öncülük ediyor.
4. Platformlar Arası Uygulama Mimarisi

Tıpkı hibrit uygulamalar gibi, platformlar arası mobil uygulamalar da her yerel kabukta platforma özgü yeteneklere sahip ortak bir kod kullanır. Bu uygulamalar web dilini kullanmaz, bunun yerine React Native, Flutter ve Xamarin gibi çerçeveleri kullanır. Platformlar arası uygulamaların UX'i, yerel uygulamalara oldukça benzer ve bu da onu oldukça talepkar hale getirir. Platformlar arası uygulamaların avantajlarından bazıları şunlardır:

- Bulut Entegrasyonu
- Daha Az Teknik Engel
- Kod Yeniden Kullanılabilirliği
- Maliyet etkinliği
- UI bileşenlerinde tutarlılık
- Kolay Barındırma
- Pazara Daha Kısa Süre
Uygulama Fikrinizi Gerçeğe Dönüştürün
Birlikte Yeni Bir Uygulama Oluşturalım
Mobil Uygulama Mimarisi Seçerken Dikkat Edilmesi Gereken Faktörler
1. Cihaz Tipi

Mobil uygulama geliştirmeye başlamadan önce, iOS, Android, Windows, iPad OS veya Çapraz platform gibi uygulamayı hangi platform için geliştireceğinize karar vermelisiniz. O zaman kullanımda olan akıllı telefon modellerini düşünün ve çok var! Bu bilgi parçaları, geliştirme için doğru boyutları belirlemek için gereklidir.
Uygulamayı tasarlarken bu faktörler de önemlidir:
- Ekran Boyutu, Çözünürlük ve DPI
- CPU (İşlemci)
- RAM belleği)
- Ağ sürümü, yani 4G, 5G vb.
Buradaki amaç, farklı platformlar ve cihazlar arasında tutarlı bir UX sunmaktır, böylece cihaz seçiminden bağımsız olarak her kullanıcı benzer bir deneyim elde eder.
2. Geliştirme Çerçeveleri

Hedef cihazlara karar verdikten sonra geliştirme çerçeveleri üzerinde çalışmanız gerekiyor. Bunlar, mobil uygulama mimarisinde ve teknoloji yığınında çok önemli bir rol oynamaktadır. Ön ve arka uç için web uygulamaları geliştirmek için gereken şablonlar, kitaplıklar ve bileşenlerle birlikte gelirler.
Mobil uygulama için ortak ön uç çerçeveleri Bootstrap, Foundation, React, Angular, Vue ve Backbone'dur. Arka uç mobil uygulama geliştirme çerçeveleri, seçilen programlama diline ve hedef platformlara bağlıdır. Yaygın olanları Ruby on Rails, Flask, Django, Laravel, Swift, Xamarin, React Native, Flutter vb.'dir.
3. Bant genişliği
Kullanıcı araştırması, hedef kitlenizi anlamak için hayati önem taşır. Dünya genelinde, farklı bant genişliği sınırlamaları vardır. Bazı ülkeler 5G internet üzerinde faaliyet gösterirken, diğerleri hala sivilceli bağlantılarla mücadele ediyor. Örneğin, ağır, karmaşık ve daha iyi grafikli bir uygulama, kırsal kesimdeki kullanıcıları hedeflemek için uygun olmaz.
4. Kullanıcı Arayüzü ve Kullanıcı Deneyimi Tasarımı

Mobil uygulamalarda tasarım, kullanıcılar arasında ilk izlenimlerin yaratılmasında çok önemli bir rol oynamaktadır. Uygulama mimarisinin sağlam bir UI'si olmalı ve kullanıcıları güçlü bir UX ile etrafta tutabilmelidir. Başarıya ulaşmak için güçlü bir UX kritik öneme sahiptir; ancak kullanıcı beklentilerine, işletim sistemine ve cihaz türüne göre değişir. Tasarım aşamasında, UI ile UX arasında uygun bir denge olmalıdır.
5. Mobil Uygulamada Gezinme

Gezinme, bir kullanıcının bir uygulamayla etkileşime girmesinin ilk yollarından biridir. Hem ön ucu hem de arka ucu içerir. Standartlaştırılmış bir UX tasarımında, kullanıcılar uygulamada nasıl hareket edeceklerini ve diğer bölümleri nasıl keşfedeceklerini kolayca tespit edebilir. Aşinalık unsurları navigasyonun iyileştirilmesine yardımcı olur. En iyi navigasyonu oluşturan ve mobil uygulamanın kullanımını kolaylaştıran uygulamalardan bazıları şunlardır:
- Hamburger Menüsü: Bu üç satırlı menü, mobil uygulamalarda oldukça popülerdir ve kullanıcılar da buna aşinadır. Üzerine tıklamanın diğer bölümlere gidebilecekleri bir menü açacağını biliyorlar. Genellikle ekranın sol üst köşesinde bulunur.
- Arama: Arama, kullanıcıların bir çevrimiçi mağaza uygulamasıyla etkileşim kurmasının ilk yollarından biridir. İyi konumlandırılmış bir arama çubuğu, standart konum sağ üstte olacak şekilde kullanılabilirliği artırır.
- Çubuklar, raylar, çekmeceler veya sekmeler: Kullanıcıların uygulama içinde gezinmek için birden fazla seçeneği olmalıdır. Sabit düğme çubukları (üst ve/veya alt), raylar (dikey çubuk), çekmeceler ve sekmeler içerir.
- Tanıdık simgeler: Ev, arama, kişi, fotoğraflar vb. simgeler, uygulamada gezinmeyi kolaylaştırır.
- Sezgisel etiketleme: Düğmeler veya seçenekler üzerindeki etiketlemenin anlaşılması kolay olmalıdır.
- Site organizasyonu: Belirli bölümlerden kategoriler oluşturmak, gezinmeyi kolaylaştırır. Örneğin, bloglar, haberler, ürünler, videolar, fotoğraflar vb. kategoriler vardır.
- Hareketler: Harekete dayalı bir gezinme desteği, gezinmeyi kolaylaştırabilir
- Kaydırma: Uygulama, kaydırmaya karşı sabit öğeleri nasıl destekler?
- Başparmak bölgesi navigasyonu: Mobilde , kullanıcılar etkileşim için çoğunlukla başparmaklarını kullanır. Bu nedenle, gelişmiş kullanılabilirlik için başparmak bölgesini göz önünde bulundurarak tasarım yapın.
6. Anında Bildirimler ve Gerçek Zamanlı Güncellemeler

Anında iletme bildirimleri önemli bir pazarlama stratejisidir ve kullanıcıları uygulamaya bağlamak için de gereklidir. Ancak, kullanıcıları dürtmek ve onları çok fazla bildirimle sinirlendirmek arasında dikkatli bir denge olmalıdır. Bildirim sıklığı ayrıca cihazın pil ömrünü de etkiler ve çok fazlaysa, kullanıcıyı elde tutmada zayıflığa neden olabilir.
Anında iletme bildirimleri, kullanıcılara yeni bir şey hakkında bilgi veren, kullanıcılara sepetteki ürünlerini, teklifleri veya bildirimleri başka bir kullanıcıdan (mesaj gibi) hatırlatan mesajlardır. Android kullanıcıları varsayılan olarak push bildirimlerini etkinleştirirken, iOS kullanıcıları bir seçeneğe sahiptir. Bu nedenle düşük bir orana sahiptirler (iOS'ta %51 ve Android'de %81).
Pek çok kullanıcı onları son derece rahatsız edici bulsa da, anında iletme bildirimi, çevrimiçi bir işletme için en önemli pazarlama araçlarından biridir. Kişiselleştirilmiş pazarlama ve aciliyet duygusu yaratmak için oldukça etkilidirler.
Günümüzün mobil uygulamaları, planlanmış anında iletme bildirimlerini geride bırakarak, mobil uygulamalarda anında etkileşim sağlamak için gerçek zamanlı teknolojiyi kullanıyor. Örneğin, bir yemek dağıtım uygulaması, alınan sipariş, restoranın yemek yapması, teslim etmesi, teslim edilmesi vb. gibi yiyeceklerin durumu hakkında gerçek zamanlı güncellemeler sağlar. Diğer örnekler, taksi rezervasyon uygulamaları, sağlık uygulamaları, fitness uygulamaları ve güvenlik uyarıları gibi gerçek zamanlı uyarılar. Anlık bildirimler gibi, gerçek zamanlı güncellemeler de kullanıcıları bunaltmayacak şekilde kontrollü sıklığa sahip olmalıdır.
Mobil Uygulamanız İçin Doğru Uygulama Mimarisini Nasıl Seçersiniz?
Mobil uygulamanız için doğru mobil uygulama mimarisini seçerken göz önünde bulundurmanız gereken bazı faktörler şunlardır:
a. Bütçe
Her mobil uygulama geliştiricisi herhangi bir mimari seçimini takip edemez. Geliştiricinin beceri setine, pazar analizine ve geliştirme yaklaşımına bağlıdır. Çoğu durumda, hızlı, çevik geliştirme gereksinimleri, yerel ve platformlar arası geliştiriciler için mevcut olan BT becerilerini geride bırakır.
b. Hedef kitleyi analiz edin
Hedef kullanıcılarınızı, kullandıkları cihaz türünü, android kullanıcıları mı yoksa iOS kullanıcıları mı olduklarını, rekabet analizini, çevik kullanıcı hikayelerini, akışları, haritalama ve prototipleme testlerini analiz etmelisiniz.
c. Temel özellik gereksinimleri
Çevrimiçi işletmenizin gerektirdiği özellikleri listeleyin ve bu özelliklerin uygulanıp uygulanamayacağını ve Yerel, Karma veya Platformlar Arası geliştirme için uygun olup olmadığını belirleyin.
d. Platform Seçimi
Seçilen platform, UI ve UX ile ilgili en iyi uygulamalara karar verecektir.
e. Geliştirme Süresi
Geliştirme süresi her mobil uygulama mimarisinde aynı değildir. Karmaşık uygulamalarda kullanılan bazı mimarilerin, genel plana ve seçime dahil edilmesi gereken belirli öğeleri veya entegrasyonları geliştirmesi daha fazla zaman alır.
f. Bir Test Uygulaması Geliştirmeye Başlayın
Çevik metodolojiyi takip ederseniz, bunun yinelemeli geliştirmeye ve kullanıcılardan gelen sürekli geri bildirime odaklandığını ve yalnızca bir test uygulamasından gelebilecek müşteri merkezli girdilere odaklandığını bileceksiniz. Temel özelliklere ve işlevlere sahip olan ve mimarinin istenen sonuçları karşılayıp karşılamadığını bilmek için değerli geri bildirimler sağlayan bir prototip gibi olacaktır.
Toplama
Bir mobil uygulama geliştirmek ve başarısını elde etmek, mimari ve teknoloji yığınının dikkatli bir şekilde değerlendirilmesini gerektirir. İş gereksinimlerinizi anlayın ve uygulamanızda hangi özellikleri istediğinizi ve bu özelliklerin katmanlar aracılığıyla nasıl bağlanacağını belirleyin. Bunların dışında pek çok değerlendirme de var. En iyi mobil uygulama geliştirme şirketi EmizenTech'te, çeşitli özelliklere sahip karmaşık uygulamalar oluşturma ve uygun danışmanlığı sağlama konusunda uzmanlığa sahibiz. Gereksinimlerinizi bize bildirin.
Ayrıca okumak isteyebilirsin
- 11 Adımda Uygulama Nasıl Yapılır?
- Bir Uygulama Yapmak Ne Kadar Yaratıyor?
- Mobil Uygulama Arka Uç Geliştirme Kılavuzu
- Tam Yığın Mobil Uygulama Geliştirme
