Mobil Uygulama Nasıl Yazılır?

Merhaba Tabella okuyucuları! Uzun bir aradan sonra, sayın Tabella Yayın Kurulu üyelerinin “Ne zaman bir programlama yazısı daha yazacan be İlkut?” tarzı ısrarlarına dayanamayıp bir yazı yazmaya karar verdim. Bu yazımda, ara sıra bana sorulan bu soruyu çok teknik detaylara inmeden, merakınızı giderip genel teknoloji kültürünüzü arttıracak şekilde cevaplamak istiyorum.

 

Bölüm 0: Mobil işletim sistemleri

İlk iPhone 2007 yılında çıkmadan önce, bir telefonda görebileceğiniz bir kaç yaygın işletim sistemi vardı. Eğer 2007’den önce bir telefon kullanmışsanız (özellikle Nokia, Samsung veya Motorola), çok muhtemelen Symbian kullanıyordunuz. Symbian her ne kadar uygulama yüklemeye olanak veriyor olsaydı da şimdiki gibi her şirketin bir mobil uygulaması olması yaygın bir şey değildi. Bir başka deyişle, uygulama yüklemek ön planda olan bir özellik değildi.

 

2007 öncesi, eğer daha çok özellikli bir telefon arıyorsaydınız, Blackberry kullanırdınız. Hâlen günümüzün akıllı telefonları kadar yaygın olmasa da, Blackberry işletim sistemi uygulama yükleyerek yeni özellikler kazandırma prensibini ön plana koydu. Fakat ne Symbian ne de Blackberry işletim sistemleri günümüzün uygulama yazma endüstrisinde bir yere sahip olmadığı için, bu yazıda geçmeyecekler. Aynı şekilde yakın geçmişte Microsoft tarafından satışı durdurulan Windows Phone da (çoğunlukla Nokia Lumia telefonlarında bulunurdu) bu yazıda geçmeyecek.

 

Bölüm 1: Android işletim sistemi için uygulama nasıl yazılır?

Bir uygulama genel olarak iki kısma ayrılır:

  • Frontend: Kullanıcının gördüğü ve duyduğu kısım, uygulamanın tasarımı.
  • Backend: Programın yapması gereken işlemleri gerçekleştiren kısım.

 

Örneğin bir uygulamayı açtığınızda ekranınızda gördüğünüz bir düğme, frontend kısmına girer. O düğmeye basınca uygulama arkadaşınızın profil resmini beğendiğiniz bilgisini işliyorsa, bu da backend kısmıdır.

 

Android için frontend tasarımı oldukça basittir. Google’ın JetBrains şirketiyle birlikte tasarladığı Android Studio programını kullanarak sadece ekranda görünmesini istediğiniz şeyleri, aşağıdaki resimde görüldüğü gibi, sürükleyip istediğiniz yere bırakabilirsiniz.

 

 

Fakat bu genelde yavaş ve kısıtlayıcı bir süreç olduğu için çok kullanılmaz. Örneğin, Android kullanan bir sürü farklı ekran boyutu olan cihaz olduğu için kullanıcı arayüzünün her ekranda iyi görünmesinin sağlanması lazımdır. Bunu sürükle-bırak tarzı bir süreçle yapmak daha zahmetlidir. Bu yüzden, aynı arayüz aşağıda gördüğünüz koddaki gibi XML diliyle ifade edilir. Bu şekilde, istediğiniz özellikleri daha kolay bir şekilde belirtebilirsiniz.

 

 

Backend için Google, Android uygulama yazımı için resmî olarak Java ve Kotlin dillerini kullanmayı önerir. Java birçok cihazda (bilgisayar da dâhil) çalışan genel bir dil olmasına rağmen Google, Java dili için Android’de bulunan özelliklere ulaşabilmesi için (örneğin telefonda bildirim yollanabilmesi vb.) ekstra özellikler eklemiştir. Aynı şekilde çok daha yeni olan ve Google’ın Java’nın yerini almasını umduğu Kotlin dili de bu şekilde Android’e uyarlanmıştır. Yukarıda gördüğümüz düğme örneğinden yola çıkarak bir Java koduna bakalım:

 

 

Bütün kodu anlamanıza gerek yok, sadece 17. satıra bakınız. Yukarıdaki arayüzde “button” ismiyle tanımladığımız düğme (koddaki android:id=”@+id/button” kısmı düğmenin arayüz ismini tanımlar) üzerinde değişiklikler yapabilmek için Java’ya arayüzde “button” isimli bir düğme bulmasını söyledik. Sonra, bu düğmeye “tabellaDugme” ismini vermesini istedik. Artık “tabellaDugme” ismini kullanarak bu düğmenin görünümü ve daha bir sürü özelliğini Java kodu yazarak kontrol edebiliriz. Bir sonraki 18. satırda ise “setOnClickListener” komutuyla düğmeye tıklanınca ne olması gerektiğini belirtmeye başladık. Daha sonra 21. satırda düğmeye tıklayınca, üzerinde yazan yazının “tabella” kelimesinin uzunluğu (yani “tabella”.length() kısmı), olarak değiştirilmesini istedik.

 

Sonuç olarak XML kullanarak uygulamanın arayüzünü tasarladık (örneğin ekrana bir düğme koymak), Java kullanarak bu arayüz üzerinde değişiklikler yaptık (örneğin düğmenin üstüne tıklayınca üzerinde yazan yazının değişmesi) ve Java’da yapılan bir işlemin sonucunu (“tabella” kelimesinin uzunluğu) arayüzü değiştirerek kullanıcıya gösterdik. Yani çok basit bir uygulamanın nasıl yapıldığını gördük.

 

Yazdığımız uygulamanın nasıl çalıştığını test etmek için bilgisayar üzerinde bir Android simülasyonu çalıştırabiliriz. Bu simülatör Android işletim sisteminin her özelliğine sahiptir ve gerçek Android telefonlarının (örneğin Samsung Galaxy S10, vb.) özelliklerini de simüle edebilir. Fakat, bilgisayarda bir simülatör çalıştırmak fazla bilgisayar gücü istediği için bir başka seçenek ise bir Android telefonu bilgisayarınıza bağlayıp uygulamayı yüklemektir.

 

Uygulamanızı yazdığınız zaman, Android’in Google Play mağazasına yüklemek isteyebilirsiniz. Bunun için, bir Google Play geliştirici hesabı açmanız gerekir. Bunun için $25’lık bir ücret ödemeniz gerekir. Daha sonrasında, uygulamanızı hesabınızı kullanarak Google’a yollarsınız ve kısa bir kontrol sürecinden geçtikten sonra eğer uygulamanız kabul edilirse mağazaya eklenir.

 

Bölüm 2: iOS işletim sistemi için uygulama nasıl yazılır?

Apple şirketi iOS ilk çıktığı zaman, özel olarak Apple bilgisayarlara program yazmak için kullanılan Objective-C dilini Google’ın Java için yaptığı gibi mobilde kullanılabilecek şekle getirmiştir. 2014 yılında, Objective-C’nin modern dillere kıyasla “kasıntı” bir dil olması nedeniyle Apple, Swift isimli yeni bir dil çıkarttı. Benzer bir şeyin Android dünyasında Kotlin ile olduğunu da hatırlayacaksınız. Fakat Kotlin Java kadar popüler olmayı başaramadıysa da Apple Swift dilini herkese sevdirip popülerleştirmeyi başarmıştır.

 

iOS için uygulama yazmak genel hatlarıyla Android için yazmakla benzer bir sürece sahiptir, bu yüzden bu bölümde detaya inmeyeceğim. iOS için uygulama geliştirmek için genellikle Apple’ın ünlü geliştirme aracı XCode kullanılır. Maalesef ki bu araç sadece Apple bilgisayarları içindir.

 

Apple’ın uygulama mağazası App Store’a uygulama yollamak için Android’de olduğu gibi bir Apple geliştirici hesabı açmanız gerekir. Bu hesap için her yıl $99 ödemeniz gerekir. Daha sonrasında yine uygulamanızı Apple’a yollarsınız ve bu uygulama bir kontrol sürecinden geçer ve eğer onaylanırsa mağazaya koyulur.

 

Umarım bu yazımı ilginç bulmuş ve yeni bir şeyler öğrenmişsinizdir. Her zamanki gibi teknik açıdan bu konuda bilgili olmayanların anlayabileceği bir şekilde yazmaya çalıştım. Umarım başarılı olmuşumdur, fakat herhangi bir konuyu daha iyi açıklamamı isterseniz, yorumlar kısmına yazabilirsiniz.

 

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir