İos uygulama geliştirme için kullanılan Swift yazılım dili , Apple firması tarafından geliştirilen derlemeye dayalı, nesne yönelimli (OOP) bir programlama dildir. iOS ve MacOS platformları üzerinde çalışan güçlü kullanıma ve yüksek hıza sahiptir. Swift yazılım dili apple ürünlerini geliştirmek için kullanılan Objective-C dili ile tam uyumluluk gösterir. Bu nedenle uygulama geliştiriciler için zaman tasarrufu sağlar.
Swift Yazılım Dili ile Neler Yapılabilir?
Swift Apple geleneğini devam ettirecek dillerden birisi olarak piyasaya sürülmüştür. Bu dil kullanılarak yalnızca macOS, tvOS, iPadOS, watchOS ve ios uygulamaları geliştirilebilir. Apple ürünleri geliştirmenin dışında yalnızca bir istisnası bulunan swift programlama dili ile Linux işletim sistemi ile uyumluluk gösteren uygulamalar da geliştirilebilmektedir. Linux üzerinde çalışabilmesinin nedeni açık kaynaklı bir programlama dili olmasıdır. Linux işletim sistemi de açık kaynaklı bir işletim sistemi olduğu için geliştiriciler swift kullanarak Linux destekli tüm uygulamaları kullanıma sunabilir.
İOS Uygulama Geliştirme Hangi Kaynaklardan Öğrenilebilir?
Apple firmasının sunduğu Swift yardımcı kaynakları ios platformunu kullanan cihazlar üzerinden erişilebilir durumda. Yalnızca kendi uygulamalarını geliştirme imkanı veren Swift diliyle, uygulama geliştiricileri de kendi platformuna dahil etme stratejisi içerisinde. Bu stratejiyi gerçekleştirebilmek için de Books Apple üzerinde uygulama geliştiricilere kapsamlı bir swift öğrenme kaynağı sunuyor.
Swift Geliştirmek için Hangi Araçlar Kullanılır?
Diğer uygulama geliştirme dillerine göre sınırlı geliştirme kaynağı olan swift için 2 temel araç bulunmaktadır. Bunlar:
Xcode
Xcode geliştirme aracı ile hem bu dili yeni öğrenmeye başlayan kişiler hem de uzmanlar ios, macOS , iPadOS, watchOS, tvOS işletim sistemlerinde geçerli olmak üzere uygulama geliştirme imkanına sahiptir. Xcode içerisinde bulunan swift kütüphaneleri ile tüm ios uygulamalarına yazdığınız kod paketlerini dağıtabilirsiniz. Aynı zamanda Apple topluluğu üzerinden kullanıma sunulan paketleri de kendi projenize dahil ederek ios uygulamaları geliştirmeye başlayabilirsiniz. Xcode editörüne sahip olmak için Apple uygulama mağazasını ziyaret etmeniz gerekiyor.
Playgrounds
Playground ile swift dili kullanıcılara oyunlaştırılacak öğretiliyor. Farklı oyunlar ile yazılım dilini eğlenceli hale getiren bu uygulama özellikle uygulama geliştirmeye yeni başlayan ve küçük yaştaki çocuklar için öneriliyor. Hiçbir kodlama bilginiz olmasa bile bölümler üzerinden ilerleyerek ios uygulama geliştirme kodları hakkında fikir sahibi olabilirsiniz. Apple store üzerinden indirilen bu uygulama Türkçe desteği de sağlıyor. Aynı zamanda kendi kitaplıklarınızı oluşturarak Apple tarafından her sene verilen burs imkanından da yararlanabilirsiniz.
Swift Dilinin Avantajları Nelerdir ?
- Swift programlama dili kullanılan bellekleri otomatik olarak yönetir. Üzerinde çalışmadığınız bir proje veya örnekler kendiliğinden silinecektir. Bu sayede hem temiz bir kod yazmış olacaksınız hem de bilgisayar performansınızda düşüşler olmayacak.
- Herhangi bir kod parçası üzerindeki bir hata dikkat çekici bir biçimde geliştiricilere gösteriliyor. Dolayısıyla hataları tespit etmek daha kolay olacağından zaman tasarrufu sağlıyor.
- Derleyici bir yapıya sahip olduğundan ekstra bir sunucuya ihtiyaç duyulmadan kodlar işleniyor.
- Açık kaynaklı olması sebebiyle üzerinden değişiklikler yapılabiliyor.
- Başkaları tarafından yazılmış olan kodların anlaşılması kolaydır.
Swift ile IOS Uygulama Geliştirme
Kodlama İçin Gerekli Ortamların Kurulması
Swift dersleri ile kodlamaya başlamadan önce gerekli yazılım dilinin ve kod editörlerinin yüklenmesi gerekir. Swift dili ve Xcode geliştirici aracını kurmak için şu adımları takip edebilirsiniz:
- Apple’ın geliştirici sitesine giriş yapın.
- Kullanıcı adı ve şifrenizle giriş yaptıktan sonra bu bağlantıyı kullanarak yazılımlara ulaşın
- Swift programını kurduktan sonra Xcode aracını da bu sayfa üzerinden indirebilirsiniz.
- Oyun platformu olan Playground aracını indirmek için de platformun ismini girerek indirme işlemini yapabilirsiniz.
Ekranda Çıktı Gösterme
Swift programlama dili ile ekrana metin yazdırmak için şu komutlar kullanılmaktadır:
Import Cocoa
var mesaj = “Herkese Merhaba”
println(mesaj)
Çıktı olarak var değişkeni ile belirtilen “Herkese Merhaba” ifadesi bastırılacaktır. Verilen örnekteki “import cocoa” satırı swift dili içerisinde bulunan tüm OSx kütüphane ve uygulamalarını projenin içerisine aktarmak için kullanılır.
Yorum Alanı Gösterme
Swift dili ile belirtilen yorum alanları yalnızca geliştiricilerin ulaşabileceği kısımlardır. Derleyiciler tarafından bu alanlar atlanarak kullanıcıların ekranında gösterilmezler. Örnek bir yorum satırı şu şekilde oluşturulabilir:
Çoklu satırlarda yorum alanları : /* Burası çoklu satır yorum alanıdır. */
Tek satırda yorum alanı : // Burası tek satır yorum alanıdır
Swift Dilinde Kullanılan Veri Türleri
Swift programlama dili içerisinde kullanılan 4 farklı türde veri bulunur.
- Sayılar (Numbers)
Swift dilinde tam sayılar ve ondalık sayılar bu sınıfa girmektedir. Tam sayılar kendi aralarında 2’ye ayrılmaktadır. Bunlar :
İşaretli Tamsayılar
İşaretli tamsayılar içerisinde negatif sayılarıda barındıran daha geniş aralığa sahip değerler için kullanılan bir veri türüdür. Bu alanda Int8, Int16, Int32, Int64 işaretli tamsayı değerleri bulunur.
İşaretsiz Tamsayılar
İşaretsiz tamsayı değerleri yalnızca pozitif sayıları içerir ve uint olarak gösterilirler. Swift dilinde uint8, uint16,uint32 ve uint64 bitlik veri değerleri bulunur.
- Doğru-Yanlış (Boole)
Boolean veri türü bir fonksiyon ya da olay içerisindeki durumların doğru olup olmadığını denetlemeye yardımcı olur. Olay doğru ise true değeri ,yanlış ise false değeri bastırılır. Örneğin :
Var deger:Bool = true
Print(deger)
Yukarıdaki örnekte bool aracılığıyla ifadenin doğru olup olmadığı tespit edildi ve ekrana true ifadesi bastırıldı.
- Karakterler(Char)
Karakter setleri tek bir kelimeyi içerisinde barındırmak için oluşturulurlar. Tek karakterler tırnak işareti kullanılarak tanımlanırlar. Ayrıca semboller veya emojileri belirtmek için de bu veri tipi kullanılır. Örneğin:
Var Karakter:Character = "A"
Print(Karakter)
- Kelimeler-Dizeler(String)
Kelime dizileri, harfler veya sembolleri tutmak için kullanılan veri yapılarıdır. Karakter veri yapılarında olduğu gibi string yapısında da tırnak işareti kullanılır. Örneğin:
Var ornekDizi = “String Değerindeki Kelime”
Print(ornekDizi)
Çıktı olarak ornekDizi değişkeni içerisinde bulunan “String Değerindeki Kelime” bastırılır.
Swift ile Değişken Tanımlama
Swift ile değişken tanımlarken öncelikle değişkenin adını belirtmek gerekiyor. Değişkenin türüne göre var, let ya da char olarak belirttikten sonra değişkene isim ve tip atamalısınız. Atamaları yaptıktan sonra değişkene eşit olan değeri belirlemelisiniz.
Var <isim> : <tip> = <eşit olan değer>
Örnek bir değişken tanımlaması şu şekilde olmalıdır:
var kelime:String
kelime = “Swift Yazılım Dili”
var ondalikliSayi:Float = 25,5
var benimYasim:Int = 23
print(kelime)
print(ondalikliSayi)
print(beniYasim)
Yukarıda verilen örnekte sözcük içeren string değeri, virgüllü sayılar için kullanılan Float değeri ve tam sayı değerlerinin tanımlaması gösterilmiştir. Çıktı olarak sırasıyla “Swift Yazılım Dili” , 25,5 ve 23 değerleri bastırılır.
Değişken Tanımlama Hatası
Bir değişken tanımlanırken Swift dili özellikleri kapsamında başlangıç değeri ya da 0 değeri verilmediği takdirde tip hatası ile karşılaşılır. Bu hatanın önüne geçmek için ise nil değeri verilerek hata almadan kod yürütülmeye devam eder. Örneğin:
var hataliDegisken:String
var dogruDegisken:String = nil
Swift Koşul Yapıları (IF-Else )
Algoritma mantığı ile çalışan if yapıları kod bloklarının içerisinde bulunan her değere uğrarlar. Değer yanlış olduğunda bir alttaki basamağa giderek fonksiyonların doğruluğunu teyit ederler. Doğru değeri ile karşılaşıldığında fonksiyonu sonlandırıp değeri kullanıcıya gösterirler. Örnek bir if yapısı :
Var sayi : Int = 20
if sayi > 10 {
print(“Sayı 10’dan büyüktür”)
} else {
Print(“Sayı 10’dan küçüktür”)
}
Swift ile Fonksiyon Tanımlama
Func fonksiyonAdi(parametreler) -> return_type {
ifadeler (statements)
Return ifadeler
}
Yukarıdaki fonksiyonda belirtilen :
Func: Bir fonksiyon oluşturulduğunu belirtilen kodu
Return_Type : Fonksiyonun kullanıcıya gösterilme tipini belirtmek için kullanılır.
Swiftte Kullanılan Numaralandırma Sistemleri
Swift dili üzerinden dinamik değerleri kullanıcılara göstermek için enum ve case yapıları kullanılabilir. Haftanın gününü ekrana yazdırmak için şu komut kullanılabilir:
Enum haftaninGunleri {
Case Pazartesi
Case Sali
Case Carsamba
Case Persembe
Case Cuma
Case Cumartesi
Case Pazar
}
Var bugun :DaysofWeek = .Pazartesi
if bugun == .Pazartesi {
print(“Bugün Pazartesi ”)
}
DaysofWeek haftanın günlerini göstermek için kullanılan bir swift kütüphane komutudur.
Swift Struct Yapıları
Swift dili içerisinde bir struct yapısı oluşturmanın amacı bir nesneye ait belirli işlevleri belirtmektir. İsim, yaş, bölüm gibi bir kişiye ait olan tüm özellikler bu yapıyla belirtilebilir. Örneğin:
Struct ogrenciAdi {
var ogrencininAdi: String = “Elif”
var ogrencininYasi:Int = 17
var okuduguBolum = “Sağlık”
}
Let goruntule = ogrenciAdi ()
Print(“Öğrenci Bilgileri ”)
Print(“Öğrencinin Adı: \(goruntule.ogrencininAdi) Öğrencinin Yaşı : \(goruntule.ogrencininYasi) Öğrencinin Okuduğu Bölüm: \(goruntule.okuduguBolum)”)
Yukarıda verilen yapının çıktısı şu şekildedir:
Öğrencinin Adı: Elif
Öğrencinin Yaşı: 17
Öğrencinin Okuduğu Bölüm: Sağlık
Swift Higher Order Yapısı
İos uygulama geliştirme esnasında çok fazla kullanılan yapılardan birisidir. Belirli bir fonksiyon ya da dizi içerisindeki elemanları kontrol etmeye yarayan yapılardır. Elemanları istediğimiz koşula getirmek için filter komutu kullanılarak dizi içerisindeki istenmeyen elemanlar gösterilmez. Örneğin:
Tek sayıları yazdırmak için :
Var sayiDizisi = [1,2,3,4,5,6,7,8,9,10]
Var tekSayilar = sayiDizisi.filter{$ % 2 == 1 } //Dizi elemanlarını 2 ile böl ve kalan 1 ise ekrana yazdır
Print(tekSayilar);
Çıktı olarak [1,3,5,7,9] dizisi oluşturulur.
Çıktı olarak [1,3,5,7,9] dizisi oluşturulur.
Inıt() ve Deinit() Fonksiyon Komutları
Inıt() bir fonksiyonun başlangıç değerini vermek için deinit() ise başlangıç değerini sıfırlamak için kullanılan koddur. Örneğin:
Class Numara {
Init(){
Num = num + 1 ;
}
Deinit() {
Num = num – 1;
}
}
Var n: Numara? = Numara()
Print(num)
n = nil
print(num)
Switch- Case Yapıları
Belirli bir nesnenin birden fazla farklı özelliği olan durumlarda kullanılan yapılardır. Örneğin bir arabanın farklı modelleri arasında seçim yapılacaksa switch-case yapısı kullanmak mantıklı olacaktır.
Switch özellikGirin {
Case deger1:
//1.değişkene ait özellik
Case değer2:
//2.değişkene ait özellik
Case deger3:
//3.değişkene ait özellik
}
Swift Döngü Yapıları
Bir dizi veya nesne tanımlandığında içerisinde yer alan tüm nesneleri ekrana yazdırmak için kullanılan yapılardır. Koşul belirtildiği durumlarda ise koşul yanlış değerini döndürene kadar tüm değerler bastırılmaya devam edilir. Örnek bir döngü yapısı şu şekilde kurulabilir:
Var hayvanlar = [“kedi” , “köpek” , “tavşan ”, “ aslan“ ]
For hayvan in hayvanlar {
Print(hayvan)
}
Yukarıda verilen hayvanlar isimli dizi döngüye sokulurken hayvan isimli farklı bir değişken üzerinde saklanır. Çıktı olarak da hayvan değişkenine aktarılan tüm dizi elemanları sırasıyla ekrana bastırılır.
Swift Akış Kontrol Şeması Komutları
Swift yapılarını yönetmek için 3 farklı kod kullanılır.
- Break : Fonksiyonları sonlandırmak için kullanılır.
- Continue : Fonksiyondaki bir değeri bastırmadan atlamak için kullanılır.
- Return : Fonksiyon içerisinde bulunan nesneleri ekrana bastırmak için kullanılır.