1

IOS Programlamaya Giriş

Merhaba arkadaşlar. Bu yazı dizimizde ios programlamaya başlayacağız.

Başlangıç olarak ios nedir, hangi programlama diliyle uygulama geliştirilir ve hangi IDE ile gelistirilir bunlarla başlayalım.

Ios apple şirketinin mobil plartfomlari için geliştirdiği mobil işletim sistemidir. Çekirdeğini MAC OSX den alır. iOS içinde 4 katman bulundurmaktadır: Core OS tabakası, Core Servisleri tabakası, Medya tabakası ve Cocoa Touch tabakası. Bu tabakalırın hepsinin ayrıntısına şuan için girmiyoruz. Fakat ilerleyen yazılarımızda bunların neler olduklarını ayrıntılarıyla inceleyeceğiz.

Başlangıç olarak yapacağımız örnekler ios7 için olacak. Sebebi ios7 kullanım oranı %80leri geçmiş bulunmakta. Java ile ilgilenenler bilirler Garbage Collection yani memory yönetimi çok önemlidir ve geliştiricinin üzerinden büyük bir yük kaldırır. Ios7 ile birlikte benzer bir yönetim Ios içinde standart haline geldi ‘ARC’. ARC yani automatic reference counting siz nesnelerinizi yarattıktan sonra onların memorydeki durumu düzenleyen sistemdir. Kısaca faydası, yaratılan nesnenin aynı javada olduğu gibi kullanılmadığında bellekten silinmesini sağlar. Yani her seferinde nesleri elle bellekten çıkarmamıza gerek kalmayacaktır. Bu büyük bir kolaylıktır. Fakat Javadaki Garbage Collection’a sadece bu yönüyle benzer. Kafanızı daha fazla karıştırmadan yavaş yavaş ilerleyelim.

Gelelim programlama diline, yani Objective-c. Dil olarak C tabanlıdır. Fakat Cden oldukça farklı özellikleri vardır. Bunları ilerleyen yazılarımızda ayrıntılı olarak inceleyeceğiz. Objective-c geliştirme ortamı X-Code dur. X-Code sadece MAC OSX işletim sisteminde çalışmaktadır. Evet ios için uygulama geliştirmek istiyorsanız mecburen bir Mac bilgisayarınız olmak zorunda. Bazı arkadaşlar hemen şunu söyleyecekler, ‘Virtual Machine üzerindende geliştirme oluyormuş’. Doğrudur fakat ne kadar yavaş olduğunu ve Destek konusunda ne kadar yetersiz olduğunu denemiş olan arkadaşlar bilir. Bir diğer durum native olmayan, yani wep app diye tabir edilen geliştirme. Bunun için HTML5,CSS ve Java-Script bilmek gerekir, kaldiki programı Windows üzerinde yazsanızda Appstore koymak için derleme yaparken yine Mac bilgisayara ihtiyaç duyacaksız. Ayrıca geliştirmeye başladığınızda eğer Android geliştirmeyle ilgilenen arkadaşlar fark edecek simulator oldukça hızlıdır. Sebebi çekirdek mimari olarak MAC OSX ve IOS aynı temelleri kullanır. Androidde arada bir Dalvik VM bulunur buda simulator olarak Android programlamayı çok ama çok yavaşlatır. Ben açıkcası bu sebep bakımından Ios geliştirmeyi daha zevkli buluyorum.

Yavaş yavaş görüntülerle geliştirme ortamı tanıtalım. Ve nereden indireceğini gösterelim.
https://developer.apple.com giriyoruz. Burada X-Code downloada tıkladığımızda bizi Mac Appstore yönlendirecek. Kurulumu oldukça basit. Evet alanıda oldukça büyük. Fakat bütün bir sistem olduğunu göreceksiniz. Yani içinde MAC OSX içinde geliştirme sağlayacak kütüphanlerde mevcut.

Kurulum sonrasında ilk ekran aşağıdaki gibidir.

Ekran Resmi 2014-01-20 16.14.55

Basit bir Proje yaratma

Crate a new Xcode project ile devam ediyoruz.

Ekran Resmi 2014-01-20 16.16.31
Sol kısımda uygulamanın hangi cihaz için seçenekler bulunuyor. Biz iphone uygulaması yapacağız. Sağ bölümden Single View Application seçiyoruz. Başlangıç olarak en ideal seçenek budur. Diğer seçenekler ise hazır kalıplardan oluşur. Yeni başlayan bir geliştirici için en ideal seçenek Single vıew Applicationdır.

Ekran Resmi 2014-01-20 16.21.08

Product Name: Uygulamanizin ismi

Company Identifier: Kendinizi gelistirme amacli proje yaratiyorsaniz, bu kismi com.uygulamam olarak doldurabilirisiniz. Eger uygulamayi appstore yuklemek istiyorsaniz bu kisim uygulamayi appstore yuklemek icin kullanilacak. Fakat merak etmeyin, bu kisim proje yaratildiktan sonrada degistirilebiliyor.

Class Prefix: Bos gecebilirsiniz. Xcode sizin icin otomatik dolduracaktir
Device Family: Adindan anlasilacagi gibi uygulamanin hangi cihaz icin yapilacagini beliritiyorsunuz. Universal, hem ipad hem iphonu kapsayacaktir.

Next ile devam ettiğimizde projenin nereye kaydedileceğine soracak. Burayı tamamladıgımızda artık Xcode’u tanımaya başlayacağız.

Karşımıza çıkan ekranda şuan için bir değişiklik yapmaya gerek yok.

Ekran Resmi 2014-01-20 16.30.27

Dizayn Zamani

Ios ile uygulama gelistirdikce sunu fark edeceksiniz: “Bir isi 100 farkli yoldan yapabilirsiniz”.
Bunun sebebi programlama dillerinin ve IDElerin yigin seklinde ilerlemesi. Her yeni surumde cikan teknolojiler, bir öncekini silmiyor. Bundan 2 sene oncesine kadar X-Code icinde StoryBoard yoktu.
Her View farkli xib dosyalirinda saklaniyordu. Artik hem storyBoard hemde xib dosyalarini bir arada kullanabiliyoruz. Tasarim ne gerektiriyorsa onu kullaniyoruz.

Her yazıda kodun önerilen ve önerilmeyen yazımlarıda göreceğiz.

Ekranin Sag tarafinda bulununan kisim, Gorsel bilesenleri bulabilecegimiz ve bunlarin özelliklerini degistirebilecegimiz kısımdır.

Sol üstte simulator seçenekleri bulunuyor. Iphone Retina (3.5) iphone4, Iphone Retina (4 inch) ipone5, iphone retina (4 inch ) 64 bit iphone 5s simulatorudur. Diğerleride ipad seçenekleridir.

Sol kısımda sınıflar bulunmaktadır. Frameworklerde burada bulunmaktadır. Daha sonraki yazılarda farklı Frameworkler nasıl eklenir onlarıda göreceğiz.

Objective-c de 1 sınıf iki kısımdan oluşmaktadır. Birincisi *.m ile biter ikinciside *.h ile biter.
*.m uzantili dosya kodlarımızı yazacagimız fonksiyonların içeriklerini tanimlayacagimiz dosyadir. *h uzantili dosya ise *.m deki fonksiyonlarin on tanimlanmasinin yapildigi, global degiskenlerin tanimlandigi ve bu degiskenlerin bellekde nasil calisacagini tanimladigimiz dosyadir.

Daha önceki Xcodelarda programlar appdelegate çok daha önemliydi. Artık StoryBoard olduğu için geliştime başlangıcında appdelegateda değişiklik yapmaya gerek yok.

Bu yazida basit bir uygulama nasıl yaratılır onu anlattigimizdan dolayi, en kolay kullanım yolunu anlatarak baslayalim. VisualStudio ile calisan arkadaslar surukle-birakin cok kullanildigini bilirler. Baslangic olarak böyle başlayalım.

Ilk olarak, ekranın sol kısmından Main.storyboard’u seciyoruz. Main.storyboard tasarim ekranimiz. Görsel bilesenleri bu kısımda olusturuyoruz. Iosda Androidde olduğu gibi Viewler oluşmakdır. Bu Viewleri kontrol eden sınıfları Viewi seçtiğimizde nerede olduğunu aşağıdaki resimde göreceksiniz. Dilersek buradan farklı sınıfda seçebiliriz.Ekran Resmi 2014-01-20 17.02.30

Artık bu Viewi hangi sınıfın yönettiğini öğrendiğimize göre bu sınıfta değişiklikler yaparak

bir button tanımlayıp bu button basıldığında ekrana Merhaba Dünya yazdıralım.

Bunun için bir buton ekleyelim.

Ekranın Sağ alt kımından Buttonumuz buluyor ve sürükleyip Vıewe ekliyoruz.

Aşagıdaki ekranda ok işareti ile belirtilmiş tuşa tıkladığımızda ekranı ikiye böler. Bu işlem bize View’i kontrol eden sınıfda işlem yapmayı daha kolay hale getirir. Eğer birden fazla Vİew ve sınıfla çalışıyorsak başka bir View seçtiğimizde sol kısımında değişeceğini göreceksiniz.

Ekran Resmi 2014-01-20 17.11.26

Ekran Resmi 2014-01-20 17.16.12

Yukarıdaki resimde seçilen View’in sınıflarını görüyoruz. Buradan *.h dosyasını seçmemiz gerek. Çünkü tanımlamaları yani button vb gibi gorsel öğeleri bu bölümde tanımlamamız gerekiyor.
Bu tanımlamanın bir kaç çeşidi var. Basit olanla basşlayalım. Sürekleyip bıraktıgımız butonun üstüne farenin sol tuşunu basılı tutarak sağ bölümde bulunan *.h dosyasına sürükleyip bırakıyoruz.Ekran Resmi 2014-01-20 18.33.42

Connection kısmını Action yaparsak Button’a bir eylem veriyoruz. Yani basıldığında şunu yap gibi. Eğer Outlet seçili olursa Buttonu bir değişken gibi tanımlıyoruz. Örneğin butonun yazısını kodlama ile değiştirmek istiyorsak onu ulaşılabilir yapıyoruz. Bu örnekte butona basıldığında ekrana yazı yazmasını istediğimiz için Action seçili olmalı. Böylelikle butonu bir fonksiyona bağlamış oluyoruz.

Daha sonraki yazılarımızda IBOutlet ve IBActıon konusunada değineceğiz.

*.m dosyasını açtığınızda tanımladığınız fonksiyonun otomatik olarak eklendiğini göreceksiniz. Bunu XCode bizim için otomatik olarak yapıyor.

Ekran Resmi 2014-01-20 18.39.25

Artık fonksiyonu doldurabiliriz.

[code language=”objc”]</pre>
– (IBAction)merhabaDünya
{
UIAlertView *merhaba = [[UIAlertView alloc] initWithTitle:@"Ilk Uygulama" message:@"MERHABA DUNYA" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];

[merhaba show];
}
<pre>[/code]

Bu ilk yazı olduğu için kodun ayrıntısına girmiyorum. Fakat belirtmekte fayda var UIAlertView ekranda uyarı mesajlarını vermemizi sağlayan görsel bileşendir.

Projeyi çalıştırmak için sol üstten play tuşuna benzeyen RUN tuşuna basıyoruz. Çalıştırdığınızda ve butona tıkladıgınızda ekran soldaki resim gibi olacağını göreceksiniz. Tebrikler ilk uygulamanızı yaptınız.

Ekran Resmi 2014-01-20 18.45.54

Bir sonraki yazımızda *.m ve *.h dosyalarının ayrıntılarını, yeni bir sınıf nasıl yaratılırı ve fonksiyonların yapısını inceleyeceğiz.

Tekrar görüşmek dileğiyle.

Erdem İlker Şen

One Comment

Bir Cevap Yazın