Mobil uygulama geliştirme nedir?
Mobil uygulamalar geliştirmek için kullanılan işlemleri ve yazılımları keşfedin
Mobil cihazlar için yazılım oluşturma
Mobil uygulama geliştirmenin tanımı, mobil uygulama oluşturma ve bunu piyasaya sürme ile ilgili tüm işlemleri kapsayan geniş bir tanım veya uygulamanın kodlaması ile dağıtımını kasteden belirli bir tanım olabilir. Bu makale, mobil uygulama geliştirmenin her iki tanımını da kapsar ve özellikle yazılımın kendisinin nasıl geliştirildiği ile ilgili kararlar alan veya bundan sorumlu kişiler için mobil uygulama geliştirmeyi tanımlamaya odaklanır.
Mobil uygulama geliştirmeyi tanımlamak için işe mobil sözcüğünü tanımlayarak başlamalıyız. Bu durumda mobil; akıllı telefonlar, tabletler, dizüstü bilgisayarlar, akıllı saatler, e-okuyucular ve el oyun konsolları gibi taşınabilir elektronik cihazları ifade eder. Uygulama ise yalnızca bu cihazlara özel yazılım değil, aynı zamanda bu cihazların desteklediği ortak işletim sistemleri, platformlar ve diller anlamına gelir. Mobil uygulama geliştirmeye yaklaşmanın birçok farklı yolu ve alınacak çok sayıda karar olduğunu öğreneceksiniz.
Mobil uygulama geliştirme süreci
Mobil uygulamalar oluşturma ve bunları piyasaya sürme süreci genellikle bir dizi adım veya aşamada anlaşılır. Mobil uygulama geliştirme sürecinin bu aşamaları, bir kuruluş içinde birçok farklı kişi ve işletme, pazarlama, tasarım ve mühendislik gibi uzmanlık alanı içerir. Mobil uygulama geliştirme sürecinin aşamaları:
- Strateji
- Planlama
- Tasarım
- Geliştirme
- Test
- Sürüm
Mobil uygulama oluşturma süreci ne kadar sürer?
Kuruluşlar, mobil uygulamalar geliştirirken üç ay ile dokuz ay arasında (veya gerektiğinde daha uzun) bir zaman harcar. Bir uygulamanın kapsamı ve özellikleri, mobil uygulama geliştirme sürecinin zaman çizelgesini etkiler.
Strateji
Mobil uygulama geliştirme süreci, mobil uygulamanın neden bir soruna veya fırsata yaklaşmak için iyi bir çözüm olduğunu anlamak ve sonra nelerin nasıl oluşturulacağına karar vermekle başlar. Strateji aşamasında kuruluşlar, uygulamanın hedeflerini ve başarı ölçümlerini saptar, pazarı ve rekabeti analiz eder, müşterilerinin gereksinimlerini araştırır ve uygulamanın hangi kullanıcılara ve kullanım örneklerine hizmet vereceğini belirler. Strateji aşamasında, kuruluşlar ayrıca hangi mobil uygulama geliştirme platformlarının hedefleri ve gereksinimleriyle en iyi şekilde çalışacağını keşfetmeye de başlayabilir. Kuruluşlar işte bu aşamada uygulamanın piyasaya sürümüyle ilgili pazarlamayı da dikkate almaya başlar.
Planlama
Planlama aşamasında kuruluşlar, mobil uygulama geliştirme sürecinin dört önemli ayrıntısı üzerinde anlaşır: ekipler, araçlar, teknolojiler ve zaman çizelgeleri. Şimdiye kadar ne tür bir mobil uygulama oluşturmaları gerektiği, uygulamayı kimin oluşturacağı ve hangi platform veya platformları kullanacakları hakkında bir fikir edinmişlerdir. Bu aşamada kuruluşlar, bir ürün yol haritası planlar, hangi özelliklerin hangi sırada ve ne zamana kadar oluşturulacağına karar verir, kilometre taşları belirler ve amaçlanan sürüm tarihini karşılamalarını sağlayacak bir proje planı tasarlar. Hangi kaynakların ve uzmanlığın kullanılabilir olduğunu bilmenin yanı sıra süreç için seçilen teknolojinin nasıl uygulanacağını anlamak, bu tarihi belirleme ve piyasaya sürmeyi başarma konusunda çok önemlidir.
Tasarım
Mobil uygulamanın görünümü, özellikleri ve işlevi, tasarım aşaması sırasında şekil almaya başlar. Mobil uygulama geliştirme sürecinin bu aşamasında, ekipler kullanıcı deneyiminin grafiğini oluşturur ve kullanıcı arabirimleri ile uygulamanın durumlarını çeşitli uygunluklarda oluşturur. Ekipler, kavram kanıtı sağlamak veya müşteri geri bildirimlerini erken bir aşamada toplamak için düşük uygunluk örnekleriyle başlayabilir. Geliştiriciler ve mühendisler, bu aşamada kullanıcı deneyimi ve arabirimi kararlarında prototip veya danışmanlık oluşturmaya yardımcı olabilir. Böylece ekipler, kuruluşun kullanmak için seçtiği platform gereksinimlerinin ve teknik belirtimlerinin farkında olur. Bu şekilde, kuruluşlar tam uygunluğa sahip ekranlara geçtiğinde gerçekten oluşturulabilecek bir uygulama tasarlamış olur.
Geliştirme
Bu bağlamda sözcük geliştirme bazen mobil uygulama oluşturma ve bunu piyasaya sürmeyle ilgili tam yazılım geliştirme yaşam döngüsünü kasteder. Ancak geliştirme daha çok, mobil uygulama geliştirmenin bu yazılım geliştirme aşaması anlamına gelir. Bu aşamayı daha sonra makalede daha ayrıntılı olarak tanımlayacağız. Bu aşama şimdilik en iyi şekilde ekiplerin ön uç, arka uç ve API'ler dahil olmak üzere teknik mimariyi ve teknolojik yığını oluşturduğu, geliştirme kilometre taşlarını belirlediği, uygulamanın geliştirme yaşam döngüsünü saptadığı ve uygulamayı kodladığı adım olarak açıklanır.
Test
Test, mobil uygulama geliştirme sürecinin önemli bir aşamasıdır. Test olmadan kuruluşlar, uygulamalarının güvenli olacağından, kullanıcıların ihtiyaç duyduğu ve beklediği şekilde işleyeceğinden ve kuruluşların dağıttığı yerde çalışacağından emin olamaz. Bu aşamada ekipler, uygulamanın üzerinde çalışması amaçlanan tüm cihazlarda uygulamanın kullanılabilirliğini, performansını, kararlılığını ve güvenliğini değerlendirmek için test çalışmaları oluşturarak kalite denetimi sağlar. Kuruluşlar, genellikle uygulama mimarisinin ani yoğun talebi karşılayacak şekilde ölçeklendirilebileceğinden emin olmak için uygulamada stres testi gerçekleştirir.
Sürüm
Mobil uygulama geliştirme sürecindeki son aşama piyasaya sürümdür. Uygulama dağıtıldığında kuruluş, uygulamayı kullanan müşterilere destek ve uygulamanın kullanılabilir olduğundan ve olması gereken şekilde bir performansa sahip olduğundan emin olmak için sürekli izleme ve bakım sağlar. Uygulamanın benimsenmesini teşvik etmeye yönelik pazarlama kampanyaları ve teklifleri genellikle bu aşamayla örtüşür. Kuruluş, uygulamada geliştirme yaşam döngüsünün altından kalkabileceği değişiklik kapsamını aşan geliştirmeler veya değişiklikler yapma kararı alırsa, mobil uygulama geliştirme sürecini baştan almaya karar verebilir.
Mobil uygulama geliştirme sürecindeki yazılım geliştirme
Geliştirme aşamasının ilk görevi mobil uygulamanın teknik mimarisini oluşturmaktır. Genellikle ön uç, arka uç ve API'leri içeren teknik yığınla karıştırılan teknik mimari, mobil uygulamanın geliştirilmesini yöneten kurallar ve desenlerdir.
Teknik mimari
Teknik mimari genellikle üç katmanda meydana gelir:
Sunu katmanı
Bu, müşterinin gördüğü ve etkileşime girdiği uygulama katmanıdır. Sunu katmanı, kullanıcı arabirimini ve uygulamanın kullanıcı deneyimini oluşturan tüm öğelerini içerir.
İşletme katmanı
İş akışlarını, veri değişimini ve işlemleri yöneten mantık, iş katmanında yer alır. Mobil uygulamanın güvenlik, önbelleğe alma, günlüğe kaydetme ve özel durum işleme gibi temel özellikleri bu katmanda halledilir.
Veri katmanı
Veri katmanı, uygulamanın kendi gereksinimlerine hizmet ederek veri yardımcı programları, veri erişimi bileşenleri ve yardımcılar ya da hizmet aracıları sağlar. Ayrıca verileri doğrulayıp koruyan ve veri işlemlerini destekleyen katmandır.
Teknoloji yığını
Benzer şekilde, teknoloji yığını da belirtildiği gibi üç kısımdan oluşur. Ancak bu kısımlar, uygulamanın oluşturulmasına yönelik yönergeler yerine uygulamayı geliştirmek ve desteklemek için kullanılan belirli seçimleri temsil eder.
Ön uç
Sunu katmanı ile yakından ilgili olarak, mobil uygulamanın ön ucunu kodlamak için kullanılan araçlar ve diller, uygulamanın dağıtılacağı cihazlara ciddi ölçüde bağımlıdır. Birçok seçenek vardır ve çoğu mobil cihazda bunlara özgü olan belirli diller vardır.
Arka uç
Arka uç, uygulamanın bir sunucuda bulunan ve mobil uygulamanın işlevlerini destekleyen veritabanını ve diğer benzer nesneleri içeren bölümüdür. Ekipler, mobil arka uç teknolojilerini seçme sırası geldiğinde cihazlara daha az bağımlıdır ve genellikle önceden oluşturulmuş arka uç çözümleri bulabilir.
API
Uygulama, API aracılığıyla arka uç ile ön uç arasında iletişim kurar, bu da uygulamanın diğer uygulama ve hizmetlerle tümleştirilip etkileşim kurmasını sağlar.
Ancak ekiplerin teknik yığınlarını seçmeden veya hatta teknik mimarilerini oluşturmadan önce ne tür bir mobil uygulama oluşturduğuna karar vermesi gerekir.
Mobil uygulama türleri
Mobil cihazlar için uygulama oluşturma söz konusu olduğunda, kuruluşlar birkaç farklı mobil uygulama türü arasından seçim yapabilir. Bu durumda mobil uygulama türü, uygulamanın kullanıcılarının neleri yapmasını sağladığı yerine nasıl oluşturulacağını ifade eder.
Yerel uygulamalar
Android veya iOS gibi belirli bir cihaza veya platforma özgü uygulamalara yerel uygulamalar adı verilir. Bu uygulamalar doğrudan cihazın işletim sisteminde çalışır, platformun sağladığı dillerle çerçeveleri kullanır ve işletim sistemine özgü mağaza veya market üzerinden dağıtılır. Yerel uygulamalar genellikle üzerinde çalıştıkları cihazların tüm özelliklerine ve donanımına tam erişime sahiptir.
Çoklu platform uygulamaları
Ekipler, uygulama içinde tercih ettikleri dillerde ve çerçevelerde kodlayabilir ve ardından uygulamanın Xamarin gibi platformlar kullanarak üzerinde çalıştırılması amaçlandığı her işletim sistemi için kodu derler. Çoklu platform uygulamaları olarak da bilinen bu uygulamalar, ekiplerin birçok farklı cihazda çalışmasına ve kodun büyük bir bölümünü yeniden kullanmasına olanak tanır. Ancak kodda köprü oluşturmak, yalnızca bir platform için geliştirmekten daha fazla iş gerektirir.
Aşamalı web uygulamaları
Web uygulamaları gibi, aşamalı web uygulamaları mobil tarayıcılarda çalışır ve genellikle JavaScript, CSS ve HTML5 kullanılarak oluşturulur. Web uygulamalarını aşamalı yapan şey, gelişmiş tarayıcı özelliklerini kullanarak anında iletme bildirimleri, daha iyi dokunma hareketleri ve donanım etkileşimi sağlama olanaklarıdır. Aşamalı web uygulamaları oluşturmaya yardımcı olacak bir SDK yoktur, ancak bir marketten geçmeden dağıtılabilirler.
Hibrit uygulamalar
Yerel uygulamalar ile aşamalı web uygulamaların karışımı olan hibrit uygulamalar aslında web uygulamalarını çalıştıran yerel olarak kodlanmış kapsayıcılardır. Bu bileşim, uygulamanın cihazların özelliklerine ve donanımına daha fazla erişim elde etmesini ve daha fazla cihaz türünde çalışmasını, tüm bunları yaparken de tek bir kod temelini korumasını sağlar. Tüm avantajlarına rağmen hibrit uygulamalar genellikle diğer mobil uygulama türlerinin performansına ulaşmaz.
Oluşturulacak mobil uygulama türü
Bir kuruluşun oluşturmayı seçtiği mobil uygulama türünün, ekipleri tarafından kullanılabilen araçlar, platformlar, çerçeveler, diller, uygulamanın dağıtımı, korunacak kod temeli sayısı, uygulamanın hangi cihazlarda çalışacağı ve hatta uygulamanın neler yapabileceği üzerinde ciddi etkileri vardır.
Oluşturulacak mobil uygulama türüne karar verirken, kullanıcılarınızın kimler olacağını ve uygulamadan ne istediğini değerlendirmek faydalıdır. Örneğin, genellikle tek bir tür cihaz veya işletim sistemi kullanırlarsa, yerel bir uygulama en iyi seçenek olabilir. Donanım algılayıcılarına veya GPS'e bağımlı olmayan uygulamalar, aşamalı web uygulamaları veya hibrit uygulamalar kadar uygun olabilir, ancak kullanıcılarınız iyi bir bağlantıya sahip değilse bu doğru olmayabilir. Kullanıcılarınız işletmenizin veya kuruluşunuzun üyeleriyse, farklı bir mobil stratejisi düşünmek isteyebilirsiniz. Ve tabii ki, her şey kuruluşunuzda veya bir iş ortağı aracılığıyla sahip olduğunuz uzmanlığa kalıyor.
Bu grafik, hangi türü oluşturmanız gerektiğini değerlendirmenize yardımcı olmak için farklı mobil uygulama türleri arasındaki daha fazla farkı ve benzerliği ana hatlarıyla özetler.
Mobil uygulama türlerini karşılaştırma
|Yerel uygulamalar||Çoklu platform uygulamaları||Aşamalı web uygulamaları||Hibrit uygulamalar|
|Kod temeli sayısı||Platform başına bir||Bir, ancak her platform için derlenir||Toplam bir||Biri uygulama için, diğeri kapsayıcı için|
|Diller ve çerçeveler||Yalnızca yerel||Ekibin seçimi||Yalnızca web||Web ve yerel|
|SDK'lara ve API'lere erişim||Evet||Evet||Hayır||Sınırlı|
|Performans||En Yüksek||Yüksek||En düşük||Düşük|
|Cihaz donanımına erişim||Tamamla||En çok||Çok az||Bazı|
|Kullanıcı girişine yanıt hızı||İyi||İyi||En Kötü||Kötü|
|Etkileşim||Yüksek||Yüksek||En düşük||Düşük|
|Cihaz kaynağı kullanımı||Yüksek||Yüksek||Düşük||Orta|
|Bağlantı gerektirir||Hayır||Hayır||Evet||Evet|
|Derleme ve bakım maliyeti||En Yüksek||Yüksek||En düşük||Küçük harf|
|Uygulamanın depolandığı konum||Cihaz||Cihaz||Sunucu||Cihaz ve sunucu|
|Şu yöntemle dağıtıldı:||Market||Market||Tarayıcı||Market|
|Dış onay gerektirir||Evet||Evet||Hayır||Evet|
Mobil uygulama geliştirme platformları ve yazılımları
Ne tür bir mobil uygulama oluşturacağınıza karar verdikten sonra veya hangi tür mobil uygulamayı oluşturacağınızı düşünürken mobil uygulama geliştirme platformlarını değerlendirmek istersiniz. Bunlar; mobil uygulamaları için yaşam döngüleri boyunca derleme, test etme, hata ayıklama, yönetme ve hatta bazı durumlarda dağıtma işlemleri yapmak için kullanacağınız platformlardır. Çoğu uygulama geliştirme yazılımı; arabirimi oluşturmak için ön uç araçlarını, verileri işlemek için arka uç araçlarını, API araçlarını, test araçlarını ve işbirliği ile kod analizi araçlarını içerir.
Çoğu mobil uygulama platformu, bir geliştiricinin mobil uygulama oluşturmak için ihtiyaç duyduğu her şeyi sağlamayı hedefler. Bu, geliştiricilerin farklı mobil geliştirme yazılımı parçaları arasında geçiş yapma sorunlarını önlemesine ve bunlar arasında ortaya çıkan kod bütünlüğü, uyumsuzluklar ve veri kaybı gibi sorunlarla ilgilenmesine olanak sağlar. Mobil uygulama geliştirme platformları ayrıca bir kuruluşun mobil uygulama oluşturması için gereken maliyeti, zamanı, kaynakları ve uzmanlığı da azaltır. Birkaç kuruluş kendi platformlarını oluşturmayı seçse de, birçoğu çeşitli uygulama geliştirme alternatiflerinden birini tercih eder.
Bir kuruluşun kullanması için en iyi mobil uygulama geliştirme alternatifleri, hangi mobil uygulama türlerini oluşturmayı amaçladıklarına, hangi dillerde kodlayabileceklerine ve hangi cihazlara hizmet vermek istediklerine bağlı olarak değişir. Bazı mobil uygulama geliştirme alternatifleri şunlardır:
- Geliştiricilerin .NET ve C# kullanarak Android ve iOS uygulamaları oluşturmasını sağlayan Xamarin gibi çoklu platform araçları.
- Android, iOS ve Windows mobil uygulamaları için tek bir paylaşılan kod temeli kullanan Xamarin için Visual Studio Araçları.
- Power Apps gibi düşük kodlu veya kodsuz araçlar. Düşük kod, teknik eğitim veya uzmanlık olmadan profesyonel sınıf uygulamalar oluşturmanın basit bir yoludur. Daha fazla bilgi edinin.
Mobil uygulama geliştirme kaynakları
Mobil geliştirici için Azure belgelerini keşfedin
Azure'da mobil uygulamalar geliştirmek için ihtiyacınız olan bilgileri bulun. Anında iletme bildirimleri, kimlik doğrulaması, analiz ve SDK’lar hakkında bilgi edinin.Belgelere bakın
Şimdi mobil uygulama oluşturmayı deneyin
Android uygulamaları için bir sürekli tümleştirme ve teslim işlem hattı ayarlayın. Herhangi bir Git deposuna bağlanın ve ekibinizin dakikalar içinde çalışır duruma gelmesini sağlayın.Kullanmaya başlayın
Mobil uygulama geliştirme hakkında sık sorulan sorular
-
Mobil uygulama geliştirmenin tanımı, mobil uygulama oluşturma ve bunu piyasaya sürme ile ilgili tüm işlemleri kapsayan geniş bir tanım veya uygulamanın kodlaması ile dağıtımını kasteden belirli bir tanım olabilir.
-
Mobil uygulama geliştirme sürecinin aşamaları strateji, planlama, tasarım, geliştirme, test ve sürümdür.
-
Oluşturulacak mobil uygulama türüne karar verirken, kullanıcılarınızın kimler olacağını ve uygulamadan ne isteyeceklerini değerlendirmek de faydalıdır.
-
Bir kuruluşun kullanması için en iyi mobil uygulama geliştirme alternatifleri, hangi mobil uygulama türlerini oluşturmayı amaçladıklarına, hangi dillerde kodlayabileceklerine ve hangi cihazlara hizmet vermek istediklerine bağlı olarak değişir.
-
Kuruluşlar, mobil uygulamalar geliştirirken üç ay ile dokuz ay arasında (veya gerektiğinde daha uzun) bir zaman harcar.