Swift ile İlk Randevu: Kadın & Sanat
Objective-c öğrenebildiğim ilk C türevi programlama dili olduğu için seviniyordum. Çocukluğumda C’yi duymamıştım. GW-Basic, Q-Basic derken Visual Basic’le masaüstü programcılıkta epey vakit geçirmiştim. Sonra HTML-PHP ile web teknolojilerine giriş yapınca C’yi öğrenmeye fırsat kalmadı. Tabi burda syntax’ı yani yazım kurallarını öğrenmeyi kast etmiyorum. C dilinde proje yapıp o dile en azından temel seviyede hakim olmayı kast ediyorum.
İşte Objective-C’yle 2010’da başlayan maceram az buçuk ilerleyince hele şükür C türevi bir dil öğrenmek nasip oldu demiştim. Gerçi bir parantez daha açalım.. Neden C? Çünkü uzun yıllar (10 sene) script dillerle vakit geçirince içinizde ukde kalıyor. Daha sağlam, bütün bu dillerin yazıldığı ana dile de hakim olmak, derinde bir yerde hep aklınızı kurcalıyor. Yani Matrix’de mutlu mesut yaşamak yetmiyor, ne kadar karanlık da olsa ötesini de görmek istiyorsunuz. İşte o nedenle illa C!
Gel gelelim Objective-C’nin diğer dillerden farklı köşeli parantezli yazım şekli, fonksiyonların parametrelerinin ne olduğunu unutmamanı sağlayan değişkenlerin başlıkları ilk başta zor gelse de alışınca çok hoşuma gitmişti. PHP’yi filan bırakıp tamamen iOS developer olmayı bile çok kere düşünmüştüm. Ben PHP’yi bırakmaya çalıştıkça Laravel’di NodeJS’di derken daha da sarılmak icab ediyor, o ayrı..
Sonra ne oldu? Bir kaç sene evvel bir Apple etkinliğinde Swift duyuruldu! Ne yalan söyleyeyim, hiç hoşuma gitmedi bu haber.. Adında bir kere C yok. Resmen harf inkılabından sonra bir gecede cahil bırakılan Osmanlı memurları gibi oldum. O kadar üzüldüm.
Eski dili hemen bir kenara atmadıkları için bir ara bunda devam edeyim diye düşündüm ama sonra bunun boşa bir çaba olacağını, işin sahiplerinin Swift’e tamamen odaklandıklarını anladım. Boynumuzu büküp yeniliği kabul ettik.
Kabul etmek yine kolay da, bu yeni dile hakim olmak hemen olmuyor. Bir kere benim gibi günde 10 kere Stackoverflow sitesinde cevap kovalayan biri olarak mecburen bir süre daha Objective-C’yle devam ettik. Ta ki bu yazının konusu olan eşimin blogu Kadın & Sanat‘ın iOS uygulamasını yazmak gerekene kadar 🙂
Eşim burda bahsetmeyeceğimi sanıyor ama durur muyum 🙂 Hemen anlatayım. Efendim, kendisi burda ömrünü programcılıkla geçiren eşi dururken evvela ücretsiz olarak WordPress sitelerine uygulama hazırlayan yabancı bir firmaya başvurdu. Adamları takdir etmek lazım, güzel bir sistem geliştirmişler. Blogunun bilgilerini girip, adamların hazırladığı şablonlardan birini seçip, logonu da istedikleri formatta yükleyince uygulama hazır oluyor. Yine adamların AppStore’a yüklediği demo program üzerinden kendi programınızın neye benzeyeceğini hiç vakit kaybetmeden birebir görebiliyorsunuz. Sonra adamlar bunu AppStore’a gönderiyorlar, klasik olarak bir iki hafta geçince bir sorun çıkmazsa uygulamanız yayına alınıyor. Dezavantajı şu; uygulama size özel belki ama içerisindeki menülerden bu uygulamayı kullanan diğer kullanıcıları görebiliyorsunuz ayrıca en altta reklam çıkabiliyor.
Eşim bunlara razı olarak hazırlığını yapıp başvurdu. Gel zaman git zaman uygulama bir türlü yayına alınmadı. Nerdeyse 1 ay geçti. Sonra adamların yazışmalarından uygulamanın reject olduğunu yani kabul edilmediğini öğrendik. Ben sebebini tahmin edebiliyordum. Daha önce de bazı WordPress tabanlı dergi sitelerinin uygulamalarını yapmıştım. Haber içeriklerinde YouTube videoları yer aldığından bu tarz içeriklere sahip uygulamaları AppStore’a gönderirken “Unrestricted Web Access” seçeneği işaretlenmeli ve böylece +17 yaş sınırına göre başvurmak lazım. Genelde tüm olumsuz durumları işaretlememek adet olduğundan +4 yaş grubuna göre başvurular yapılıyor. Bu adamlar da muhtemelen bu şekilde başvurduğundan uygulama kabul edilmedi.
İşte bu noktada biraz sabırlı olursa uygulamayı yapabileceğimi söyledim. Daha önce ki uygulama kadar efektli olmasa da ona benzer bir uygulama ortaya çıkardık. Tabi ki tıpatıp aynısı değil, olmasını da istemezdik zaten. Yaklaşık bir ayda uygulamayı tamamladık. Bu kadar uzun sürmesinin nedeni işte bu Swift.. Böylece Kadın & Sanat uygulaması ile Swift’le ilk kez iş yapmış olduk.
Swift, bir kere yazım kuralları açısından PHP gibi, Javascript gibi script dillerine benziyor. Fonksiyon tanımlarında yukarıda bahsettiğim değişken başlıklarını kullanma özelliğinden çok şükür vazgeçilmemiş. Ama yine de Objective-C tadı vermiyor.. Daha çok script tadı veriyor.. İşin garibi bu script tadını daha çoook hissedeceğiz, zira geçtiğimiz aylarda Apple tarafından Swift’in open-source (açık kaynak) olacağı lanse edildi ve bir kaç gün önce GitHub üzerinden yayınlandı. Yani artık Swift ile web programlama bile yapabileceğiz.
İlginçtir; bir kaç sene evvel Objective-C’yle çok haşır neşir olduğumuz zamanlarda çalıştığım şirketteki patrona “keşke webde de PHP yerine Objective-C kullanabilsek” demiştik. Bu duamız kabul oldu 🙂 Ama Swift olarak. Hakkımızda hayırlısı buymuş demek ki.
Swift konusunda StackOverflow’da aradığımız soruların düzgün bir cevabını bulmak biraz zorlaşıyor. Tabi yeni bir dil olduğu için benim gibi eski kafalarıların tamamen teslim olması biraz zaman alacak.
Swift’in getirdiği yenilikler, kolaylıklar eminim çokdur ve güzel şeylerdir. Bunlara hakim olamadığım için burda yazamıyorum. İnşallah ilerde öyle yazılar yazmak da nasip olur. Fakat bir konu var ki, kaç kere dinledimse de “hah, tamam artık anladım” diyemiyorum. O da “optional” değişken tanımı ve sağlı sollu yerleştirerek kurtulduğumuz “?” ve “!” işaretleri.. Bunları şimdilik Xcode nereye koy derse oraya koyarak sorunu çözmeye çalışıyorum :)) Anlatmak isteyen biri varsa yorumlarda görüşelim.