“Mobile Developer Yol Haritası: Android Platformu” yazımızda mobil geliştiriciliğin neden popüler olduğu, iOS ve Android işletim sistemleri ve ilgili yazımızın asıl amacı olan Android uygulaması geliştirmek için gerekli olan native (doğal) programlama dilleri hakkında siz değerli okuyucularımıza bilgi aktararak, bir Android geliştirici için yol haritası çizmeye çalışmıştık. Bu yazımızda ise iOS işletim sisteminden, avantaj ve dezavantajlarından daha detaylı bahsederek uygulama geliştirmek için kullanılan programlama dilleri hakkında bilgi sunup sizler için bir “iOS Developer Yol Haritası” çıkarmaya çalışacağız.
İçindekiler
iOS İşletim Sistemi Nedir?
Apple’ın başlangıçta iPhone akıllı telefonlar için iPhone OS adıyla piyasaya çıkardığı ancak daha sonra iPod Touch ve iPad’de kullanılmasıyla beraber ismini “iOS” olarak güncellediği bir işletim sistemidir. Temelini MacOS işletim sisteminden alır.
iOS işletim sistemini kullanan cihazlar, göz alıcı kullanıcı arayüzleri, işlemci hızı, ısınma probleminin Android işletim sistemine kıyasla daha az olması ve özellikle güvenlik konusunda sunduğu deneyim, kullanıcılar için iOS’u cazip kılan avantajlar olarak göze çarpıyor.
Ancak sadece iOS tabanlı cihazları desteklemesi, uygulama geliştirmenin ve kullanmanın maliyetli olması ve belki de en önemlisi cihaz fiyatlarının yüksek olması kullanıcılar için olumsuz yanlar olarak görülüyor. iOS işletim sisteminin açık kaynak olmaması olumsuz olarak yorumlansa da güvenlik özelinde bakıldığında bu durum bir avantaj olarak da değerlendirilebilir.
iOS Developer Yol Haritası: Programlama Dilleri
İOS platformunda uygulama geliştirmek için çok fazla dil alternatifiniz yoktur. Kullanılan diller Objective-C ve Swift olarak öne çıkıyor. Bu dillerle uygulama geliştirmek için ihtiyacımız olan IDE- içeriğinde kullanıcılar için editör; test uygulaması, hata ayıklama programı gibi özellikleri içeren paketler ise “Xcode”dur.
Xcode platformunu kullanarak yazdığımız kodları makine diline çevirip App Store’un onayına sunabiliriz. Ancak Apple ürünlerinin maliyetli özelliği burada da karşımıza çıkıyor. Xcode ile yazdığınız bir ürünü App Store’da yayınlamak için bir “Apple Developer” hesabına ihtiyacınız vardır. Bu hesabın maliyeti ise yıllık 100$. Ayrıca yine geliştirme yapabilmek için MacOS işletim sistemine sahip bir bilgisayara sahip olmalısınız. Geliştirdiğiniz uygulamayı denemek için bir iPhone ya da iPad gereksinimi de bu işi daha maliyetli hale getiriyor.
Bu tarz zorluklarının olması iOS programlama öğrenmeyi özellikle öğrenciler için zor hale getiriyor. Ancak iş ilanlarına bakıldığında şirketlerin iOS geliştirici ihtiyacının yüksek olduğu açıkça görülüyor. Hatta bu ihtiyaç o kadar açık ki, başka teknolojiler için ilanlarında yıllarca tecrübe şartı arayan şirketler, söz konusu iOS olduğunda henüz öğrenci olan geliştiricileri bile kapsayan ilanlar veriyor.
Şimdi App Store’a uygulama geliştirmek için bilmeniz gereken programlama dillerini sizlere tanıtmaya çalışalım:
Objective-C
Objective-C, bir iOS uygulaması geliştirmek istediğinizde kullanacağınız temel programlama dilidir. C programlama dilinin geliştirilmiş bir versiyonudur. Nesne tabanlı bir dil olup dinamik bir runtime (program hızı) sunar.
Objective-C, C programlama dilinin syntax’ını, primitive veri tiplerini ve veri akışını temel alırken bu özelliklere class ve methods syntax’ını da eklemiştir. Ancak kullanıcılarının da kabul ettiği üzere öğrenilmesi diğer dillere oranla daha zordur.
Swift
Swift programlama dili Apple’ın bu dili tanıttığı kendi resmi sitesinde “The powerful programming language that is also easy to learn.” yani “Öğrenmesi kolay ve aynı zamanda güçlü programlama dili” olarak tanımlanmıştır.
Swift, henüz 2014 yılında yayımlanmış olmasına rağmen Stack Overflow Developer Survey’de de görüleceği üzere kısa sürede çok tutulan bir dil olmayı başardı. Bunun belki de en önemli sebebi Objective-C dilinin öğrenme zorluğuna katlanmak istemeyen yeni kullanıcıların bu dilin kolay öğrenilebilir olması sebebiyle, bu dile yönelmesi oldu.
iOS Developer Yol Haritası: Swift vs Objective-C
Swift’in hızlı yükselişiyle birlikte Apple ekosisteminde büyük bir sürpriz ve karmaşa ortaya çıktı. Apple, bu programlama dilinin öncekilerden daha iyi olduğu konusunda iddialı açıklamalar yaptı. Zamanla Apple’ın bu açıklamasının doğruluğu ortaya çıkarken neden Swift’in Objective-C’den daha çok talep gördüğünü incelemeye çalışalım:
- Swift, sahip olduğu kolay ve anlaşılabilir “syntax” sayesinde hem okuması hem de yazması daha kolay bir dil olarak ortaya çıkıyor. Aynı görevi yapmak için yazılan bir Swift kod parçası, Objective-C kod parçasına oranla daha kısa ve anlaşılabilirdir. Özellikle Swift’in yalın İngilizce’ye yakın olması geliştiricilere kod yazarken büyük kolaylık sağlar. Bu özellik sayesinde Javascript, Java, Python, C# gibi dillerin kullanıcıları Swift’e kolay adapte olabilir.
//Objective-C Kod Örneği
const int sayi = 7;
double fiyat = 99.99;
NSString *ilkMesaj = @"Teknoloji.org ";
NSString *ikinciMesaj = @"hakkında ne düşünüyorsun?";
NSString *mesaj = [NSString stringWithFormat:@"%@%@", ilkMesaj, ikinciMesaj];
NSLog(@"%@", mesaj);
//Swift Kod Örneği
let sayi = 7;
var fiyat = 99.99;
let ilkMesaj = "Teknoloji.org "
let ikinciMesaj = "hakkında ne düşünüyorsun?"
var mesaj = ilkMesaj + ikinciMesaj
print(message)
Yukarıdaki kod parçalarında da görüldüğü üzere, ekrana basit bir ifade yazdırmak için gerekli olan Objective-C ve Swift kodları arasında ciddi sayılabilecek derecede satır sayısı farkı bulunuyor. Bu da ilk maddede sunduğumuz Swift dilinin kolay ve okunabilir olma özelliğini destekler nitelikte.
- Objective-C dilinde header(.h) ve uygulama dosyası(.m) olmak üzere iki kod dosyasına bağımlı çalışır. Swift programlama dilinde ise aynı işlem tek bir .swift uzantılı dosya ile yapılır.
- Swift ile kod yazdığınız esnada hataları giderme imkanınız vardır. Ancak bu özellik Objective-C’de yer almaz. Yani sonuç olarak, bug-fixing açısından bakıldığında da Swift daha hızlı bir hata ayıklama süreci sunar.
- Swift dilinin açık kaynak olarak sunulması da onun bir avantajı olarak göze çarpıyor.
Sonuç olarak, iOS işletim sistemi için uygulama geliştirmeyi amaç edindiğinizde, öncelikle MacOS işletim sistemine sahip bir bilgisayara sahip olmalısınız. Sonrasında IDE için ücretsiz olarak “Xcode” kullanabilirsiniz. Programlama dili seçiminizi de yaptıktan sonra yazdığınız uygulamaları yayınlama hakkına sahip olmak için yıllık 100$ ücret karşılığında “Apple Developer” hesabına sahip olmalısınız.
Tabii ki yazdığınız uygulamanın testini yapmak için iOS işletim sistemine sahip bir akıllı telefon yine listede yerini almalı. Bu yazımızda sizler için bir “iOS Developer Yol Haritası” sunmaya çalıştık. İlerleyen yazılarımızda React Native ve Flutter Frameworklerinden bahsederek, siz değerli okuyucularımızı bu güncel teknolojiler hakkında bilgi sahibi yapmaya çalışacağız.