Mobil cihazlar için yazılım geliştirme
Mobil uygulama geliştirmenin tanımı, bir mobil uygulamanın oluşturulmasına ve yayınlanmasına dahil olan tüm süreçleri kapsayacak şekilde geniş kapsamlı veya uygulamanın kodlaması ve dağıtımıyla ilgili olarak spesifik 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ğiyle ilgili kararlar alan veya bundan sorumlu olan kişiler için mobil uygulama geliştirmeyi tanımlamaya odaklanır.
Mobil uygulama geliştirmeyi tanımlamak için mobil cihazı tanımlayarak başlamalıyız. Mobil cihazlar bu durumda akıllı telefonlar, tabletler, dizüstü bilgisayarlar, akıllı saatler, e-okuyucular ve el oyun konsolları gibi taşınabilir elektronik cihazları ifade eder. Uygulamadan kastımız yalnızca bu cihazlara özel yazılımlar değil, aynı zamanda bu cihazların desteklediği ortak işletim sistemleri, platformlar ve dillerdir. Öğreneceğiniz üzere, mobil uygulama geliştirme yaklaşımının birçok farklı yolu ve alınması gereken birçok karar vardır.
Mobil uygulama geliştirme süreci
Mobil uygulama oluşturma ve yayınlama 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ş, pazarlama, tasarım ve mühendislik gibi uzmanlık alanı içerir. Mobil uygulama geliştirme sürecinin aşamaları:
- Strateji
- Planlama
- Tasarlayın
- Geliştirme
- Test Etme
- Yayınlayın
Mobil uygulama oluşturmak ne kadar sürer?
Kuruluşlar, mobil uygulama geliştirirken üç ay ile dokuz ay arasında veya gerektiğinde daha uzun bir süre boyunca harcama yapar. Bir uygulamanın kapsamı ve özelliklerinin tümü, mobil uygulama geliştirme sürecinin zaman çizelgesini etkiler.
Strateji
Mobil uygulama geliştirme süreci, mobil uygulamanın neden bir soruna iyi bir çözüm veya bir fırsata iyi bir yaklaşım olabileceğini anlamakla ve ardından nelerin nasıl oluşturulacağına karar vermekle başlar. Strateji aşamasında, kuruluşlar uygulamanın hedeflerini ve başarı ölçümlerini belirler, pazarı ve rekabet ortamını analiz eder, müşterilerinin ihtiyaçlarını araştırır ve uygulamanın hangi kullanıcılara ve kullanım örneklerine hizmet edeceğini belirler. Strateji aşamasında kuruluşlar, hedeflerine ve gereksinimlerine en uygun mobil uygulama geliştirme platformlarını da keşfetmeye başlayabilir. Bu aşamada kuruluşlar, uygulamanın piyasaya sürülmesiyle 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. Bu noktaya kadar ne tür bir mobil uygulama geliştirmeleri gerektiği, uygulamayı kimlerin geliştireceği ve hangi platformu ya da platformları kullanacakları hakkında bir fikirleri olur. Bu aşamada kuruluşlar, bir ürün yol haritası hazırlar, hangi özelliklerin hangi sırada ve ne zamana kadar geliştirileceğine karar verir, kilometre taşları belirler ve amaçlanan piyasaya sürülme tarihini karşılamalarına olanak sağlayan bir proje planı tasarlar. Süreç için seçilen teknolojiyi uygulamayı anlamanın yanı sıra hangi kaynakların ve uzmanlığın kullanılabilir olduğunu bilmek, bu tarihi belirleme ve piyasaya sürme aşamasına ulaşma açısından çok önemlidir.
Tasarlayın
Mobil uygulamanın görünüşü, özellikleri ve işlevi tasarım aşamasında şekil almaya başlar. Mobil uygulama geliştirme sürecinin bu aşamasında ekipler, kullanıcı deneyiminin grafiğini oluşturup kullanıcı arabirimlerini ve uygulamanın durumlarını çeşitli uygunluklarda oluşturacak. Kavram kanıtı sağlamak veya müşteri geri bildirimlerini erken bir aşamada toplamak için düşük kaliteli test modelleriyle başlayabilirler. Geliştiriciler ve mühendisler bu aşamada kullanıcı deneyimi ve kullanıcı arabiriminin prototipini oluşturmaya veya bunlarla ilgili kararlarda fikir alışverişinde bulunmaya yardımcı olarak ekiplerin, kuruluşun kullanmayı seçtiği platformların gereksinimlerinin ve teknik belirtimlerinin farkında olmasını sağlayabilir. Bu şekilde, kuruluşlar tam uygun ekranlara geçtiğinde gerçek anlamda geliştirilebilir bir uygulama tasarlar.
Geliştirme
Geliştirme sözcüğü bu bağlamda bazen bir mobil uygulama oluşturma ve yayınlama sürecine dahil olan yazılım geliştirme yaşam döngüsünün tamamını ifade eder. Ancak daha yaygın olarak geliştirme, mobil uygulama geliştirmenin bu yazılım geliştirme aşaması anlamına gelir. Bu aşamayı makalenin ilerleyen bölümlerinde daha kapsamlı olarak tanımlayacağız. Şimdilik bu aşama 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ü kararlaştırdığı ve uygulamayı kodladığı adım olarak açıklanmaktadır.
Test Etme
Test, mobil uygulama geliştirme sürecinin önemli bir aşamasıdır. Testler olmadan kuruluşlar, uygulamalarının güvenli olduğundan, kullanıcıların ihtiyaç duyduğu ve beklediği şekilde çalışacağından ve dağıttıkları yerlerde ç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 güvencesi sağlar. Kuruluşlar genellikle uygulama mimarisinin ani yoğun talebi karşılayacak şekilde ölçeklendirilebileceğinden emin olmak için uygulamaya stres testi uygular.
Yayınlayın
Mobil uygulama geliştirme sürecinin son aşaması piyasaya sürmektir. Uygulama dağıtıldıktan sonra kuruluş, uygulamayı kullanan müşterilere destek ve uygulamanın kullanılabilir olmasını ve gerektiği gibi performans göstermesini sağlamak için sürekli izleme ve bakım sağlar. Uygulamanın benimsenmesini teşvik etmek için yapılan pazarlama kampanyaları ve hareketleri genellikle bu aşamayla çakışır. Kuruluş, uygulamada geliştirme yaşam döngüsünün altından kalkabileceği değişikliklerin seviyesini aşan geliştirmeler veya değişiklikler yapmaya karar verirse, mobil uygulama geliştirme sürecine baştan başlamaya karar verebilir.
Mobil uygulama geliştirme sürecinde 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 düzenlerdir.
Teknik mimari
Teknik mimari genellikle üç katmandan oluşur:
Sunum katmanı
Bu, müşterinin gördüğü ve etkileşim kurduğu uygulama katmanıdır. Sunum 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şletme katmanında yer alır. Mobil uygulamanın güvenlik, önbelleğe alma, günlüğe kaydetme ve özel durum işleme gibi temel yönleri bu katmanda ele alınır.
Veri katmanı
Veri katmanı, uygulamanın gereksinimlerine hizmet ederek veri yardımcı programları, veri erişimi bileşenleri ve yardımcılar ya da hizmet aracıları sağlar. Bu ayrıca verileri doğrulayıp bakımını yapan ve veri işlemlerini destekleyen katmandır.
Teknoloji yığını
Benzer şekilde, teknoloji yığını da belirtildiği gibi üç parçadan oluşur. Ancak bu parçalar, uygulamanın oluşturulmasına dair yönergeler yerine uygulamayı geliştirmek ve desteklemek için kullanılan belirli seçimleri temsil eder.
Ön uç
Sunum katmanına yakından karşılık gelerek, mobil uygulamanın ön ucunu kodlamak için kullanılan araçlar ve diller, uygulamanın dağıtılacağı cihazlara büyük ölçüde bağımlıdır. Birçok seçenek vardır ve çoğu mobil cihazda yerel olan belirli diller bulunur.
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. Mobil arka uç teknolojilerini seçme söz konusu olduğunda ekipler cihazlardan daha az sorumludur ve bazen önceden oluşturulmuş arka uç çözümleri bulabilirler.
API
Uygulama, API aracılığıyla arka uç ile ön uç arasında iletişim kurar ve bu, aynı zamanda uygulamanın diğer uygulama ve hizmetlerle tümleştirilmesini ve etkileşim kurmasını sağlar.
Ancak ekipler teknoloji yığınlarını seçmeden ve hatta teknik mimarilerini oluşturmadan önce ne tür bir mobil uygulama geliştireceklerine karar vermelidir.
Mobil uygulama türleri
Mobil cihazlar için uygulama geliştirme söz konusu olduğunda, kuruluşların aralarından seçim yapabileceği çeşitli türde mobil uygulamaları vardır. Bu durumda mobil uygulama türü, uygulamanın kullanıcılarının yapmasına olanak sağladığı şeyler yerine uygulamanın nasıl geliştirileceğini 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ığı dilleri ve ç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.
Platformlar arası uygulamalar
Ekipler, uygulamada kendi seçtikleri dil ve çerçevelerde kodlama yapabilir ve ardından Xamaringibi platformları kullanarak uygulamanın çalıştırılması amaçlanan her işletim sistemi için kodu derleyebilir. Platformlar arası uygulamalar olarak adlandırılan 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 kodlar arasında köprü kurmak yalnızca bir platform için geliştirme yapmaya kıyasla daha fazla uğraş gerektirir.
Aşamalı web uygulamaları
Web uygulamaları gibi, aşamalı web uygulamaları da mobil tarayıcılarda çalışır ve genellikle JavaScript, CSS ve HTML5 kullanılarak oluşturulur. Web uygulamalarını aşamalı yapan şey, anında iletme bildirimleri, daha iyi dokunma hareketleri ve gelişmiş tarayıcı özelliklerini kullanarak donanım etkileşimi sağlayabilmeleridir. Aşamalı web uygulamaları oluşturmaya yardımcı olacak SDK'lar olmasa da marketten geçmeden dağıtılabilirler.
Hibrit uygulamalar
Yerel uygulamalarla aşamalı web uygulamalarının bir karışımı olan hibrit uygulamalar, temelde web uygulamalarını çalıştıran yerel olarak kodlanmış kapsayıcılardır. Bu bileşim, tek bir kod temelini tutarken uygulamanın cihazların özelliklerine ve donanımlarına daha fazla erişim sağlamasına ve daha fazla cihaz türü üzerinde çalışmasına olanak tanır. Tüm avantajlarına rağmen, hibrit uygulamalar genellikle diğer mobil uygulama türlerinin performansına ulaşmaz.
Geliştirilecek mobil uygulama türü
Bir kuruluşun geliştirmeyi seçtiği mobil uygulama türü, ekipleri tarafından kullanılabilen araçlar, platformlar, çerçeveler ve dillerin, uygulamanın dağıtımı, korunacak kod temeli sayısı, uygulamanın hangi cihazlarda çalıştırılacağı ve hatta uygulamanın neler yapabileceği üzerinde büyük etkilere sahiptir.
Ne tür bir mobil uygulama geliştirileceğine karar verirken, kullanıcılarınızın kimler olacağını ve kullanıcıların uygulamadan ne beklediğini göz önünde bulundurmanız faydalı olur. Örneğin, çoğunlukla tek bir cihaz veya işletim sistemi türü kullanıyorlarsa, yerel bir uygulama en iyisi olabilir. Donanım algılayıcıları veya GPS kullanmayan uygulamalar, aşamalı web uygulamaları veya hibrit uygulamalar olarak uygun olabilir, ancak kullanıcılarınızın iyi bağlantısı yoksa uygun olmayabilir. Kullanıcılarınız işletme veya kuruluşunuzun üyesiyse, farklı bir mobil strateji göz önünde bulundurmak isteyebilirsiniz. Elbette her şey, kuruluşunuzda veya bir iş ortağı aracılığıyla sahip olduğunuz uzmanlıkta bitiyor.
Bu grafik, geliştirmeniz gereken uygulama türünü değerlendirmenize yardımcı olması için farklı mobil uygulama türleri arasındaki farkların ve benzerliklerin daha fazlasını özetler.
Mobil uygulama türlerini karşılaştırma
|Yerel uygulamalar||Platformlar arası uygulamalar||Aşamalı web uygulamaları||Hibrit uygulamalar|
|Kod temeli sayısı||Platform başına bir tane||Bir, ancak her platform için derlenmiş||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||Eksiksiz||En çok||Çok az||Belirli Kullanıcılar|
|Kullanıcı girişine yanıt verme 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|
|Geliştirme ve bakım maliyeti||En Yüksek||Yüksek||En Düşük||Daha Düşük|
|Uygulamanın depolandığı yer||Cihaz||Cihaz||Sunucu||Cihaz ve sunucu|
|Şunun üzerinden dağıtıldı:||Market||Market||Tarayıcı||Market|
|Dışarıdan 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 belki de düşündüğünüz sırada mobil uygulama geliştirme platformlarını değerlendirmek isteyeceksiniz. Bunlar, mobil uygulamaları yaşam döngüleri boyunca geliştirmek, derlemek, test etmek, yönetmek, bu uygulamalarda hata ayıklamak ve hatta bazı durumlarda bu uygulamaları dağıtmak için kullanabileceğiniz uygulama geliştirme platformlarıdı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ı bölümleri arasında geçiş yaparken oluşan sorunlardan ve kod bütünlüğü, uyumsuzluklar ve veri kaybı gibi bunlar arasında ortaya çıkan sorunlarla uğraşmaktan kaçınmasını sağlar. Mobil uygulama geliştirme platformları, 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ş kullanımı için en iyi mobil uygulama geliştirme alternatifleri, kuruluşun hangi mobil uygulama türlerini oluşturmayı amaçladığına, hangi dillerde kodlayabileceğine ve hangi cihazlara hizmet etmek istediğine göre değişiklik gösterir. 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 platformlar arası araçlar.
- Android, iOS ve Windows mobil uygulamaları için tek bir paylaşılan kod temeli kullananXamarin için Visual Studio Araçları.
- Power Appsgibi az kodlu veya kodsuz araçlar. Az kodlu, 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 belgeleri için Azure'ı 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.
Şimdi bir mobil uygulama oluşturmayı deneyin
Android uygulamaları için sürekli tümleştirme ve teslim işlem hattı ayarlayın. Herhangi bir Git deposuna bağlanın ve ekibinizin dakikalar içinde sorunsuz bir şekilde çalışmasını sağlayın.
Mobil uygulama geliştirme hakkında sık sorulan sorular
-
Mobil uygulama geliştirmenin tanımı, bir mobil uygulamanın oluşturulmasına ve yayınlanmasına dahil olan tüm süreçleri kapsayacak şekilde geniş kapsamlı veya uygulamanın kodlaması ve dağıtımıyla ilgili olarak spesifik olabilir.
Daha fazla bilgi edinin
-
-
Ne tür bir mobil uygulama geliştirileceğine karar verirken, kullanıcılarınızın kimler olacağını ve kullanıcıların uygulamadan ne beklediğini göz önünde bulundurmanız faydalı olur.
Daha fazla bilgi edinin
-
Bir kuruluş kullanımı için en iyi mobil uygulama geliştirme alternatifleri, kuruluşun hangi mobil uygulama türlerini oluşturmayı amaçladığına, hangi dillerde kodlayabileceğine ve hangi cihazlara hizmet etmek istediğine göre değişiklik gösterir.
Daha fazla bilgi edinin
-
-
Bir mobil uygulamanın tam olarak geliştirilmesi aylar sürebilse de, mobil uygulama geliştirmeye hemen başlamak için Microsoft’un sunduğu beş ipucunu aşağıda bulabilirsiniz.
Mobil uygulama oluşturmaya yönelik beş ipucu öğrenin
-
"Geliştirme" (Dev) ve "operasyonların" (Ops) birleşimi olan DevOps müşterilere sürekli olarak değer sunmak için bir araya gelen kişiler, süreçler ve teknolojiler bütünü olarak tanımlanır. DevOps kültürü, araçları ve yöntemleri, eskiden birbirinden ayrı düşünülen geliştirme, BT operasyonu, kalite mühendisliği ve güvenlik rollerinin daha iyi ve daha güvenilir mobil uygulamalar üretmek amacıyla koordinasyon ve işbirliği gerçekleştirmesine yardımcı olabilir. DevOps, geliştirme ekiplerinin müşteri ihtiyaçlarına daha hızlı yanıt vermesine, geliştirdikleri uygulamalara olan güveni artırmasına ve iş hedeflerine daha hızlı ulaşmasına yardımcı olur.
DevOps hakkında daha fazla bilgi edinin
-
Geliştiriciler genellikle bulut sağlayıcısının standart arabirimler ve API'ler kullanıp kullanmadığına, izleme/yönetim sistemiyle tümleştirilmiş olay yönetimi için resmi bir sisteme sahip olup olmadığına, iyi belgelenmiş değişiklik yönetimi işlemlerine sahip olup olmadığına ve karma özelliklerin desteklenip desteklenmediğine bakılmaksızın dağıtım, yönetim ve yükseltme kolaylığı gibi teknik özelliklerine ve işlemlerine odaklanır.
Bulut sağlayıcısı seçme hakkında daha fazla bilgi edinin