Gezintiyi Atla

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

Kullanılamıyor 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.

    Daha fazla bilgi

  • Mobil uygulama geliştirme sürecinin aşamaları strateji, planlama, tasarım, geliştirme, test ve sürümdür.

    Daha fazla bilgi

  • 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.

    Daha fazla bilgi

  • 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.

    Daha fazla bilgi

  • Kuruluşlar, mobil uygulamalar geliştirirken üç ay ile dokuz ay arasında (veya gerektiğinde daha uzun) bir zaman harcar.

    Daha fazla bilgi