Mobil uygulama nedir?

İnsanların gündelik hayatlarında en çok ihtiyaç duydukları teknolojik cihaz akıllı telefonlardır. Bu akıllı telefonların yönetilebilirliği onlara olan bağımlılığı artırmaktadır. Kişilerin ihtiyaç duydukları programların kodlanıp özel bir ara yüz tasarımıyla birleştirilerek oluşturulan yazılımlara mobil uygulama denir.

Mobil uygulamalar temelde iki farklı işletim sistemi içermektedir. Birincisi sahibi Google olan Android ikincisi sahibi Apple olan İOS. Bu iki farklı işletim sisteminin faklı uygulama yükleme merkezleri bulunmaktadır. Bu uygulama merkezleri store olarak isimlendirilmektedir. Android için Play Store İOS için AppStore mevcuttur.

Mobil uygulama alanında dünyanın hızla gelişmesi aklına gelen her konuyu uygulamaya dönüştürme yeteneği kazandırmıştır. Fakat uygulama geliştirilirken ilk aşama hangi işletim sistemi için geliştirileceğine karar verilmelidir.

İhtiyaç duyulan birçok uygulama telefonlarda yüklü olarak gelmektedir. Fakat değişen ihtiyaçlar kapsamında yeni talepler ortaya çıkabilir. Bu ihtiyaçları karşılamak için uygulama yükleme merkezleri kullanılmaktadır. Bu merkezlerde iki tür uygulama bulunmaktadır. Birincisi ücretsiz uygulamalar, bu uygulamaları her zaman yüklenebilir ve bir ücret talep etmez, genellikle içerisinde reklam barındırır. Geliştiriciler bu reklamlardan para kazanmayı amaçlamaktadır. İkincisi ücretli uygulamalardır, bu uygulamalar para karşılığı yüklenebilir. Ödeme kredi kartıyla gerçekleşmektedir.

Birçok uygulama insan hayatını kolaylaştırmak için yapılmaktadır. Haberlere daha kolay erişim sağlamak, oyun oynamak, müzik dinlemek, bankacılık işlemlerini daha kolay gerçekleştirmek örnekler arasında sayılabilir. Bu uygulamalar kullanıcılarına hem daha kullanışlı bir ara yüzü sunar hem de internet kotasından tasarruf ettirir.

Mobil uygulama geliştiriciliğine başlanırken öğrenilmesi gereken terimler vardır.
Bunlardan bazıları:

Apk nedir?
Bilgisayarlarda kullanılan her dosyanın bir uzantısı vardır. Fotoğrafların jpg, png, gif ve çalıştırılabilir uygulamaların exe, bat dır. Android platformlarda çalışan uygulamaların uzantısı apk. dır. Örnek vermek gerekirse bilgiustam.apk isimli bir uygulama yapılabilir.

SDK (Android Software Development Kit) nedir?

Bilgisayara kurulan ve mobil platformlara uygulama geliştirmeyi amaçlayan yazılımların ilk ihtiyaç duyduğu paket SDK’ dır. Android uygulamalar oluşturmaya yardımcı olur. İçerisindeki hazır paketlerin kullanılmasına imkân tanır. Güncel sürümünün indirilerek kullanılması gerekmektedir. Aksi takdirde öngörülemeyen problemlerle karşılaşılabilir.

Mobil uygulama geliştirmek için dünyada ilk sıralarda gelen oyun motorlarına yakın bir bakış yapalım.

1- AndroidStudio

Google tarafından yayınlanan ve android için uygulama geliştirmeye yarayan resmi bir programdır. Esnek tabanıyla projenizin ara yüzünü inşa edebileceğiniz sürükle bırak yöntemiyle kolaylıkla buton, resim, textbox ekleyebileceğiniz farklı Android sürümlerine göre apk çıktısı alabileceğiniz, içerisinde farklı Android sürümleri için deneme yapabilmeniz amacıyla bir emulator barındıran ve projenizde ortaya çıkan hataları anlık olarak görebilmeniz amacıyla logcat barındıran bir programdır. Google tarafından desteklenmesinden dolayı hem SDK yükleme aşamasında hemde reklam yükleme aşamasında daha az sıkıntıyla karşılaşılmaktadır. Uygulama ilk açıldığı zaman kullanıcıya ara yüz seçim imkanı vermektedir. Bu sayede programlamaya hızlı bir başlangıç yapılabilir.
Ayrıca fazladan kullanılacak kütüphaneler projenin başına yazılarak .jar uzantılı dosyaları kendinin indirmesine imkan tanınabilir.

2- UNİTY nedir?

Unity Technologies şirketinin ürettiği ücretli ve ücretsiz sertifikaları olan oyun motorudur.
Ücretsiz olan lisanda personal lisans olarak isimlendirilip Unity tarafından yıllık en fazla gelir 100.000 $ olarak belirlenmiştir. Bunun üzerinde gelir elde edilirse şirket belirli oranda kâr payı almaktadır. Ayrıca multiplayer oyunlar 20 kişi ile sınırlandırılmıştır. Ücretsiz sürümü kullanılırsa uygulamaya giriş esnasında Unity şirketinin splash screen ekranı belirmektedir.
İçerisinde farklı programlama dilleri kullanılarak oluşturulan fonksiyonlar vasıtasıyla 3 boyutlu ve 2 boyutlu oyun ve programlar yazılabilmektedir. Fakat 3 Boyutlu uygulamaların yapılması önerilmektedir. Çünkü 2 boyutlu uygulamaların içerisine kullanılmayan dosyaları da koyduğu için apk boyutları çok fazla olmaktadır.
Java Scripte ve C# dilleri kullanılabilmektedir. Aynı zamanda birçok platform tarafından da desteklenen Unity 3D internet üzerinden Web Playerı da desteklemektedir.

Çok farklı componentlerin bulunduğu oyun motorunda kamera açılarının ayarlanabilmesi, ışık renklerinin ve açılarının ayarlanabilmesi, Rigibody ve Recttransform gibi hem fizik kurallarının objeye etki etmesini sağlayan componentler hem de objenin ekrandaki konumuna ilişkin verilerin sunulduğu componentler hazır olarak sunulmaktadır.

Unity içerisinde bir emulator ile birlikte kurulmaktadır. Oynat butonuna basıldığında ara yüz ve scriptler etkileşime girerek sonuçları bize göstermektedir. Assets Store özelliği bir çok kullanıcı tarafından tercih edilen içerisinde hem ücretli hem ücretsiz paketler barındıran bir dükkandır. Buradan oyun karakterleri, buton resimleri veya değişik yazı tipleri kolaylıkla bulunabilmektedir.
Unity kurulurken MonoDeveloper isminde yine Unity şirketi tarafından üretilmiş bir kod yazma programı da eklenti olarak gelmektedir. İstenilirse bu tercih edilmeyip VisualStudioda kullanılabilir.

İçerisindeki bazı bileşenler aşağıda sunulmuştur:
Build: Yaptığımız uygulamayı seçtiğimiz platforma uygun olarak .apk formatına getirmesi işlemidir.
Prefab:Oluşturulan bir nesnenin özelliklerinin kaydedilerek ilerleyen zamanlarda aynı projede anı özelliklerin otomatik olarak o nesneye atanmasıdır. Örnek olarak yılan oyunu düşünüldüğünde ekranda beliren her yem bir prefabdır. Bunun nerede çıkacağı, resminin ne olacağı, kaç puanının olacağı ve o obje için fizik kurallarının geçerli olup olmayacağı gibi özeller kayıt altındadır ve yem otomatik olarak bu özellikler yüklü olarak belirir.
Script: Uygulama çalıştığında mevcut ara yüzle kullanıcının etkileşime geçebilmesinin tek yoludur. Kullanıcı butona bastığında gerçekleşecek olan işlemler burada yer almaktadır veya iki nesne çarpıştığı zaman olacak eylemler burada belirtilmektedir.

3-MIT AppInventor 2 nedir?

Uygulama geliştirmek isteyen fakat hiçbir programlama dilini bilmeyenlerin yardımına bu web tabanlı android uygulaması yapma programı yetişiyor. Aslında program demek çok doğru olmuyor çünkü bu bir site. Yukarıda bahsedilen iki oyun motorundan çok farklı bir konsepte sahip. Siteye girildiğinde iki farklı sekmeyle karşılanmakta bunlardan birincisi design ikinci bloks. İlk sekmede ara yüz tasarımı yapılıyor. İkinci sekmesinde kodlama kısmı mevcut.

Design sekmesinde sol tarfta bulunan bileşenler sürükle bırak yaparak istenilen konuma ayarlanıyor. Burada images, buton, onay kutucuğu, Action float gibi bileşenler bulunmaktadır. Ayarlama sırasında sağ tarafta beliren özelliklerden faydalanmak gerekir. Bunlar boyutlarının ne olacağı, konumunun neresi olacağı, içindeki yazının konumunun ne olacağı gibi özelliklerdir.

Bloks sekmesinde ise ekrana yerleştirdiğimiz bileşenlere tıklayınca ne olacağı hangi sırayla değişeceği, ne kadar zamanda bir gözükeceği gibi özellikler sadece tıklama yapılarak belirleniyor. Bu işlem için kod bilgisinden ziyade basit seviyede İngilizce bilmek yeterlidir.
AppInventor’ u kullanmak için bir internet bağlantısına ve bir web tarayıcısına ihtiyaç duyulmaktadır. Web tarayıcısı olarak Google Chrome kullanılmasında fayda var.
Fakat bu uygulama yapıcısı sitenin kötü özelliği aşırı kısıtlanıyor olması. Yani istenilen ve düşünülen her uygulama burada yapılamamaktadır. Sadece basit seviyede bir resim galerisi oluşturulabilir veya dokununca ses çıkaran kedi yapılabilir. Bundan sonrası ihtiyaç sahibi tarafından belirlenecektir.

Sonuç
Yukarıda 3 farklı oyun motorundan bahsettik.
Piyasada en fazla kullanılan oyun motoru Android Studio’dur. Bu konuda ihtiyaç duyulan bilgiler internette yapılan basit aramalarla elde edilebilir. Geliştirme esnasında yaşanan sıkıntılar daha çabuk çözüme kavuşmaktadır.

Unity piyasada yeni sayılabilecek bir oyun motorudur. Fakat hızlı bir gelişim gösteriyor. Assets Store özelliği sayesinde kullanıcılarının daha fazla göze hitap eden uygulama geliştirmesine müsaade etmektedir. Fakat uygulama içerine reklam koyma kısmında bir takım zorluklar yaşanabilir.

MIT AppInventor 2 kodlamaya başlamadan önce tasarımın bitiriliyor olması başlangıç seviyesi uyguulama geliştiricilerine fayda sağlayacaktır. İleri düzey bir programlama söz konusu olmasa da döngülerin anlaşılması, dizilerin yapılması ve atama işlemlerinin öğrenilmesinde fayda sağlayacaktır.

MIT AppInventor 2 ile yapılan bir uygulama telefon hafızasında 13 Mb yer kaplarken Unity 3D ile 2D formatında yapılan bir uygulama 65 Mb yer kaplamaktadır.

Yazar:Osman Yüksel

CEVAP VER

Please enter your comment!
Please enter your name here