Mobil aplikasyon geliştirme ismini aldığı kavramlardan da anlaşılacağı üzere; mobil cihazlardaki uygulamaları oluşturmaya yönelik bir geliştirme sürecidir. Son yıllarda teknolojik gelişimlerin de etkisi ile hemen hemen her kişinin bir mobil cihaz sahibi olduğunuz düşünürsek gündelik yaşamımızda ne denli öne çıkan bir konu olduğunu görebiliriz. Bu açıdan bakıldığında da mobil cihazlara indirilen uygulamaların sayısında ve uygulama çeşitliliğinde oldukça yüksek bir artış görmekteyiz. Gün geçtikçe dijital yeniliklerin hayatımıza olan etkisi sebebiyle mobil uygulamalara olan ilginin daha da artacağı tahmin ediliyor. Başarılı ve amaca uygun bir mobil uygulama oluşturabilmek için profesyonel, maliyetli ve uzun bir yoldan geçmek gerekmektedir. Her uygulamanın hedef kitleye özel bir tasarım planı yapılmalı ve bu şekilde kullanıcılara sunulmalıdır. Gerek işlevsel gerek ise uygulamanın görsel gücü ön planda tutulmalıdır.
Özellikle en çok kullanılan ve alanında en iyi olan iki mobil uygulama platformu Apple iOS ve Google Android’dir. Apple’ın özel olarak iPhone’ların kullanımı için oluşturduğu işletim sistemi olarak iOS ve Google dâhil olmak üzere pek çok OEM’lerin ürettiği mobil cihazlarda çalışan sistem olarak Android bulunmaktadır. Her ikisi için birden çok benzerlikten söz edecek olsak da farklı platformların kullanmış olduğu farklı geliştirme kitleri vardır. Ancak en belirgin farklardan biri ise Apple, iOS’u yalnızca kendi üretimini yaptığı iPhone’lar için kullanmasıdır. Google ise Android’i birçok teknolojik firma için özellikle son yıllarda daha kullanışlı ve işlevsel bir hale getirmiştir.
Mobil uygulama geliştirme yöntemlerinden bahsetmemiz gerektiğinde birkaç başlıktan söz etmemiz gerekir:
Aşamalı web uygulamaları (PWA), yeni bir yazılım geliştirmede kullanılan bir terimdir. Normal web sayfaları ve bir mobil uygulamanın ortak karşımı halinde olan bir uygulamadır. Gerek web gerek ise mobil için kullanılabilir. Bunun yanı sıra aynı zamanda da kurulum gerektirmez.
Diğer bir adı ile native mobil uygulamalar; belirli bir cihaz ya da yazılımlara göre tasarlanan uygulamaların bütününe verilen bir isimdir. Yerel uygulamalar yalnızca belirli işletim sistemleri tarafından kullanılırken çalışma zamanı bakımından da en verimli ve en iyi performansı ortaya koyar. Her platform için kullanılan birbirinden farklı kod tabanları bulunmaktadır. Ancak uygulamaları geliştirmek maliyet açısından diğer mobil uygulamalara göre daha fazla maliyete sebep olabilmektedir.
Platformlar arası uygulamalar, belirli bir dilde yalnızca bir kod tabanı halinde yazılabilir ve aynı zamanda bu durum daha sonra yerel bir koda çevrilebilmektedir. Farklı programlama dillerinde ve çerçevelerde yazılan platformlar arası uygulamalar cihazın işletim sisteminde çalışacak yerel bir uygulamada paketlenmektedir. Geliştirmesi ve bakımı son derece kolay aynı zamanda elverişli olan uygulamalardır.
Hibrit mobil uygulamalar yerel (doğal) uygulamalara oranla daha düşük performans sağlar. Aynı kod tabanını paylaşan hem web ve hem mobil uygulamalar sağlayan hibrit uygulamalar; mobil uygulamalar geliştirebilmek amacı ile de web geliştirme dillerini kullanmaktadır. Maliyet açısından doğal uygulamalara kıyasla daha uygundur.
Mobil cihazlar günümüzde herhangi bir bilgiye ulaşmamızda oldukça büyük ve yönlendirici bir etkiye sahiptir. Gündelik yaşamımızda alışverişten eğlenceye, finans ve bankacılıktan her tür alana dek hemen her alanda mobil cihazları kullandığımızı rahatlıkla söyleyebiliriz. Bu durumda da mobil uygulama üreticileri, gerek değişen ve gelişen teknolojik gelişmeler gerek ise kişilerin ihtiyaçları doğrultusunda edindikleri sonuçlara göre mobil uygulamalar noktasında bir geliştirme sürecine girmektedirler. Mobil uygulama geliştirme ile ilgili pek çok kişi yerel mobil uygulama mı ya da hibrit uygulama mı diye düşünebilir. Bu iki uygulama arasındaki farklara daha yakından bakalım: Mobil bir uygulama geliştirmek istediğinizde iki ayrı kavram ile karşılaşabilirsiniz. Bu iki uygulamadan ilki daha profesyonel mobil geliştirme süreçlerinde kullanılan yerel mobil uygulamaları, bir diğeri ise hibrit mobil uygulamalardır.
Hibrit, bildiğimiz üzere melez anlamına gelen bir kelimedir. Hibrit uygulamalar, en çok tercih edilen mobil uygulama yöntemlerinin başında gelmektedir. Bu uygulamalara hibrit denmesinin başlıca sebebi yerel uygulama mantığı ile yüklenmesinin yanında içinde açılan bir web uygulamasının olmasıdır. Hibrit uygulama genellikle kısa sürede yapılabilecek bir uygulama olarak görülür. Hibrit uygulamaların en önemli avantajı Android ve iOS işletim sistemlerine bir arada gösterdiği uyumdur. Bu tip mobil uygulama geliştiricileri, yerel mobil uygulama geliştiricileri olarak tanınan uygulamalara oranla daha az maliyetler ile elde edilmektedir. Kullanım ve performans açısından pek de tatmin edemeyen hibrit uygulamalar bu konuda dezavantajlara sahiptir. Eğer beklenti ve geliştireceğiniz uygulamanın kullanım alanı çok da büyük bir geliştirme sürecine sahip değil ise hibrit mobil uygulamaları tercih edebilirsiniz. Hibrit uygulamalarda güvenlik söz konusu olduğunda iyi yazılmış kodlar ile oluşturulan uygulamalarda güvenlik sorunu yaşamazsınız. Elbette her uygulama için bir risk bulunmaktadır. Ancak güvenlik konusunda yerel uygulamaların daha güvenli olduğunu kabul etmek yerinde olacaktır.
Yerel yani doğal mobil uygulamalar ise yalnızca bir işletim sistemine dair üretilen uygulama anlamına gelmektedir. Yerel uygulamalar, belirli bir cihaz ya da işletim sistemine özel olarak tasarlanır. Bu sebeple de cihaza ait donanım ve yazılım olanaklarına direkt olarak erişilebilir. Yerel uygulamalar için Java tarafından geliştirilen Android uygulamalar örnek olarak verilebilir. Yele uygulamanın hibrit mobil uygulama ile farklarına spesifik olarak bir cevap vermek için pek çok parametreye ihtiyaç vardır. Ancak en belirgin farktan bahsettiğimiz zaman; yerel uygulamaların hibrit mobil uygulamalara oranla kendine özgü özelliklere sahip olduğunu ve maliyetlerinin daha yüksek olduğunu söyleyebiliriz.
Mobil uygulama testleri ile kullanıcıların mobil platform uygulamalarından ne kadar verim aldığı ve uygulamaların işleyiş kalitelerinin performanslarının ölçülmesi hedeflenir. Birçok kullanıcı uygulamayı kullanırken kalite, hız ve kullanım kolaylığına dikkat etmektedir. Bu açıdan mobil uygulama testinin önemi oldukça büyüktür. Mobil uygulama testinin birkaç temel unsuru bulunmaktadır. Bahsi geçen bu unsurların uygulanması ile mobil uygulamaların sorunsuz bir şekilde çalışması ve dolayısıyla kullanıcıların da memnuniyeti sağlanmış olunur. Mobil uygulama geliştiricileri, en işlevsel ve kolay şekilde kodlanmalıdır. Ortaya çıkabilecek hataların hızlı bir şekilde tespit edilmesi ve düzeltilmesi gerekir. Uygulama geliştirilir iken hedefler ve belirleyici faktörlerin güvenliğinden emin olunmalıdır.
Mobil uygulama testi türlerine bakacak olursak:
Mobil uygulama testleri için farklı test araçları tercih edilebilir. Hangi uygulama için hangi testin uygun olacağı profesyonel kişilerce belirlenir. Gün geçtikçe artış gösteren mobil uygulamaların kullanım oranları bu alandaki yeniliklerin önemini de beraberinde getirmektedir.