Apple'ın Swift'i yalnızca iOS, OS X, watchOS ve tvOS'ta değil, tüm platformlarda geniş kapsamlı etkilere sahiptir. Swift'in neden önemli olduğunu, programlama dilini nasıl kullanacağınızı ve Objective-C'den nasıl farklı olduğunu öğrenin.
Objective-C birçok kişinin kalbini kazandı
. Nesne yönelimli programlamayı (OOP) C programlama dilinin benzerliği ile birleştiren bir programlama dili olarak başladı. Objective-C, NeXTSTEP, OS X ve iOS için varsayılan programlama dili olduğu NeXT ve Apple home olarak adlandırıldı.
2010 yılında Apple geliştirmeye başladı hızlı, birkaç alanda Objective-C'ye rakip olacak yeni bir programlama dili – özellikle, güvenlik, güvenlik ve daha iyi donanım performansı yazın. Swift, Objective-C'den 2,6 kat ve Python'dan 8,4 kat daha hızlıdır. Swift 1.0, Eylül 2014'te piyasaya sürüldü.
Bu makale ayrıca indirilebilir olarak da mevcuttur, Hile sayfası: Apple'ın Swift programlama dili (ücretsiz PDF).
GÖRMEK: Geliştirici tükenmişliğini önlemenin 10 yolu (ücretsiz PDF) (Teknik Cumhuriyeti)
Yönetici Özeti
- Apple'ın Swift'i nedir? Swift, Apple'ın en yeni programlama dilidir; daha iyi tip güvenlik, güvenlik ve performans sunar. Swift, iOS, OS X, watchOS ve tvOS uygulamaları geliştirmek için kullanılabilir.
- neden Apple'ın Swift'i Önemli olmak? Öğrenmesi kolay bir programlama dilidir, bu nedenle birçok öğrenci, giriş seviyesi geliştiricisi ve uzun süredir Mac ve iOS geliştiricisi geliştirme becerilerini Swift'e odaklamaktadır. Ek olarak, Apple açık kaynaklı Swift, yalnızca Apple tarafından tasarlananlarda değil, diğer platformlarda da geliştirilebilir hale getiriyor.
- Kim yapar Apple'ın Swift'i etkilemek? Swift ile oluşturulan uygulamalar, iOS 7 veya sonraki sürümlere kadar uzanan iOS cihazlarda ve OS X 10.9 veya sonraki sürümlere kadar uzanan OS X cihazlarda çalıştırılabilir.
- Ne zaman Apple'ın Swift'i mevcut? Swift, Xcode'un en son sürümünde hazırdır.
- nasıl alabilirsin Apple'ın Swift'i? adresinden Xcode'u indirerek Swift'in en son sürümünü edinin. Mac Uygulama Mağazası ya da Apple Geliştirici Merkezi. Xcode yüklendikten sonra Swift ve Objective-C derleyicisi (LLVM) Mac'inize yüklenecektir.
GÖRMEK: İş kullanıcılarının bilmesi gereken 31 Mac klavye kısayolu (ücretsiz PDF) (Teknik Cumhuriyeti)
Swift, Objective-C'den nasıl farklıdır?
Apple, Objective-C dilini sona erdirme planlarını açıklamamış olsa da (aslında Apple hala bunu güncelliyor), Swift, Apple platformlarında daha popüler olmak için hızla Objective-C'yi solluyor.
Apple, Swift'de yazılacak kendi Çerçevelerini henüz güncellemediğinden, Objective-C'nin muhtemelen hala uzun bir ömrü var. Swift 3.0'a kadar Apple, Swift çalışma zamanını iOS veya OS X'e dahil etmeyecek ve Xcode'un ikili uyumluluğu sağlamak için çalışma zamanını iOS veya OS X uygulamasında bir araya getirmesine izin verecek.
Swift, Apple platformlarına birçok modern programlama özelliği getiriyor. İşte Objective-C ve Swift arasındaki temel farklara bir bakış.
Başlık dosyaları
Objective-C, C'ye dayanıyordu, ancak nesne mesajlaşma yoluyla dile OOP paradigmaları ekledi. Bu nedenle, Objective-C, işlevlerini ve tanımlarını herkese açık olarak bildiren başlık dosyalarını kullandı.
Swift, geliştiricilerin tipik başlık bilgilerini, özellikleri ve tüm sınıf tanımlarını tek bir dosyaya içeren tek bir .swift dosyası yazmasına izin vererek bu uygulamadan kurtulur. Başlık dosyalarına veda edin ve daha temiz ve daha yalın koda merhaba deyin.
REPL
Objective-C ve Swift, tipik olarak yalnızca yorumlanan dilleri destekleyen test için bir REPL'ye (Okuma-Değerlendirme-Baskı Döngüsü) sahip olmasına rağmen derlenmiş dillerdir.
REPL, komut satırında ve Xcode'da bulunur. Xcode'un içinde, Oyun Alanları olarak bilinir ve geliştiricilerin Swift kodu yazmasına ve hemen değerlendirilmesine, sonuçların kenar çubuğunda yazdırılmasına olanak tanır (Şekil A). Xcode'da yeni bir Swift Playground oluşturmak için Xcode'u açın ve Dosya | Yeni | Oyun alanı. Yeni bir pencere açılacak ve bir şeyleri test etmek için Swift kodunu girebilirsiniz.
Şekil A
Tür çıkarımı
Objective-C ve Swift ile, nesne türleri güçlü bir şekilde yazılır – yani, derleyici, belirli bir değişken için bellekte ne tür bir nesnenin (dize, dizi, sözlük, özel nesne, vb.) depolanması gerektiğini tam olarak bilmelidir. Swift ile Apple, güçlü türleri korumaya karar verdi, ancak derleyicinin bir değişkene atanan nesnelere dayalı olarak türü otomatik olarak çıkarmasına izin verdi.
Bu, aşağıdaki kod parçasına benzer bir kod yazabileceğiniz anlamına gelir ve Swift, myVariable'ın kendisine atanmış bir String olduğu için myVariable'ın bir String türü olduğunu görecektir.
let myVariable = "some string here"
Geliştiriciler, bunu yaparak netlik için güçlü bir yazma işlemi gerçekleştirmeye devam edebilir, ancak bu gereksizdir. Ancak, özellikle üzerinde çalıştıktan sonra kod tabanına dokunabilecek geliştiriciler için netlik sağlar.
let myVariable: String = "some string here"
Mevcut platformlar
Apple, WWDC 2014'te Swift'i duyurduğunda, şirket konferans katılımcılarının halka açık ilk Swift uygulamalarından birini kullandığını bildirdi: WWDC uygulaması. Kısmen Swift'de geliştirildi ve katılımcıların oturum programlarını, haritaları ve daha fazlasını görüntülemesine izin verdi.
Resmi olarak, iOS 7 ve üstü Swift'i destekler; OS X 10.9 (Mavericks) ve üstü de bunu destekler. watchOS ve tvOS'un tüm sürümleri, Swift tarafından oluşturulmuş uygulamaları çalıştırmayı destekler.
Ek kaynaklar
Swift'i nasıl öğrenebilir ve kullanabilirim?
Bir Mac'e ihtiyacınız olacak ve iOS, watchOS veya tvOS için geliştirme yapacaksanız, bu cihazlardan birine de ihtiyacınız olacak.
Xcode'u indirip yükledikten sonra, Objective-C ve Swift derleyicisi (LLVM) Mac'inize yüklenir. Bu noktada, Xcode'un açılması, Swift veya Objective-C'de projelere başlamak için seçenekler sunacaktır.
Başlamak için ilk yer, herhangi bir tam test iOS veya OS X oluşturmaya gerek kalmadan, herhangi bir uçak içi uygulamayı karıştırmayacak bir ortamda Swift'in özellikleriyle oynayarak öğrenebileceğiniz Playgrounds ve Swift REPL'dir. proje.
Apple Books uygulamasında bulunan Swift hakkında şu kitapları içeren Apple'ın harika Swift kaynaklarından yararlandığınızdan emin olun:
Swift, işletmeler ve geliştiriciler için ne anlama geliyor?
Swift, çok hızlı bir şekilde benimsenen açık kaynaklı bir dildir. Geliştiricilerin iOS, OS X ve diğer Apple platform uygulamalarını her zamankinden daha hızlı ve daha az hata ve çökme ile prototiplemelerine ve yazmalarına olanak tanır.
Bu, özellikle Apple platformlarına yatırım yapan işletmeler ve kendi B2B/kurumsal uygulamalarını geliştirmeye yatırım yapan işletmeler için önemlidir, çünkü bu uygulamaları güncel tutmak hiç bu kadar kolay olmamıştı.
Ayrıca Swift'in açık kaynaklı olması, dilin Apple'ın yarattığının ötesinde diğer platformlara da genişletileceği anlamına geliyor. Swift'in Linux ve diğer platformlara taşındığını zaten görüyoruz.
Swift'in gelişeceği potansiyel alanlardan biri web uygulamalarıdır. Swift'in Linux'a taşınması, Swift uygulamalarının artık mevcut web API'lerinin ve hizmetlerinin temel taşı olan düşük maliyetli, az bakım gerektiren Linux sunucularında çalışabileceği anlamına geliyor. Swift için halihazırda Linux tabanlı sunucu uygulamalarının Xcode içinde oluşturulabilmesini sağlayan ve işletmelerin mevcut Swift geliştiricilerini iOS ve OS X uygulamalarının sıklıkla tükettiği API'leri ve hizmetleri oluşturmak için kullanmalarına olanak tanıyan çerçeveler var.
Ek kaynaklar
Swift 2.0'da neler var?
Apple Swift 2.0'ı WWDC '15'te yayınladıve birçok özellik ve iyileştirme ekledi. Bunlar Swift 2.0'daki yeni özelliklerden bazıları.
- Swift, yeni bir Linux bağlantı noktası bulunan açık kaynak kodludur.
- Try, throw ve catch anahtar sözcüklerini kullanan yeni bir hata işleme modeli.
- iOS ve OS X'in eski sürümlerini hedefler. Ayrıca, çerçevenin kullanılabilir olduğu sistemlerde yürütülecek kod satırlarını sarmanıza olanak tanıyan #available bloğuyla daha güvenlidir.
- Apple'ın Swift koduyla daha iyi arayüz oluşturmalarını sağlamak için mevcut Objective-C çerçevelerine jenerikler ve geçersizlik özelliği eklemesi sayesinde SDK'lar artık daha hızlı.
Swift 3.0'da neler var?
Apple, Swift 3.0'ı WWDC '16'da yayınladı; Apple'ın bu dili Aralık 2015'te açık kaynaklı hale getirmesinden bu yana Swift'in ilk büyük sürümüydü. Swift 3.0'daki yeni özellikler şunları içeriyor:
- NS öneklerinden ve diğer Objective-C tutucularından kurtulmak için çekirdek dilde ve standart kitaplıkta iyileştirmeler.
- Swift'in Linux portuna yapılan büyük eklemeler.
- Bağımlılıkları yönetmeyi kolaylaştırmak için Swift Paket Yöneticisinin eklenmesi.
Swift 4.0'da neler var?
Diğer Swift sürümlerinde olduğu gibi, 4.0 da WWDC '17'de duyuruldu ve Xcode 9 ile birlikte geliştiricilere beta biçiminde yayınlandı.
- Yapılara sarılmış verilerin kolayca serileştirilmesine izin veren yeni Kodlanabilir protokol.
- Dize değişmezleri artık çok satırlı dizeyi açmak ve kapatmak için yeni "http://www.techrepublic.com/"" bildirimini (üç tırnak kümesi) kullanarak birden çok satıra bölünebilir.
- Dizeler büyük bir elden geçirildi ve onları karakter koleksiyonları haline getirdi.
Swift 5.0'da neler var?
Hızlı 5.0 performans iyileştirmeleri ve daha fazlası gibi birçok standart kitaplık eklemesi ekleyerek iOS ve Mac geliştirme için en popüler dil için daha fazla iyileştirme sağladı.
Swift 5.0'ın en büyük özelliği, ABI Kararlılığı ve İkili Uyumluluk beyanıydı; bunların her ikisi de Swift standart kitaplıklarının ileriye dönük macOS, iOS, tvOS ve watchOS sürümlerine dahil edildiği anlamına gelir. Bu kitaplıkların artık her uygulamanın ikili dosyasına dahil edilmesine gerek yoktur ve uygulama paketi çok daha küçük olabilir.
Swift 5.3'te neler var?
Hızlı 5.3 16 Eylül 2020'de Xcode 12 ile piyasaya sürüldü. Swift'in bu sürümü, öncelikle dilin iyileştirilmesine ve Swift ekosistemini genişletmeye odaklandı.
Apple'daki Swift grubu, Swift uygulamalarının (özellikle SwiftUI uygulamaları için) kod boyutunu azaltarak, bellek optimizasyonlarını geliştirerek ve yığın bellek kullanımını azaltarak çalışma zamanı performansını optimize etme fırsatını yakaladı.
İşin geliştirici tarafında, Apple, derleyici önerilerindeki ipuçlarıyla hataları daha kesin ve daha uygulanabilir hale getirmeye odaklandı, kod tamamlama 5 kattan fazla geliştirildi ve artık daha iyi çalışma zamanı hata mesajları var, karşılaştığınızda sorunları çözmeyi kolaylaştırıyor hata ayıklama sırasında onları.
Ayrıca Apple, topluluktan gelen birçok Swift Evolution önerisini dikkate aldı.
iPad için Swift Playgrounds nedir?
WWDC '16'da Apple, geliştiricilerin ve yeni başlayan kodlayıcıların, Mac'te Xcode 6 ile öncülük edilen bir Playground ortamında iPad'de Swift dilini kullanarak program yapmasını sağlayan bir uygulama olan Swift Playgrounds'ın eklendiğini duyurdu.
WWDC '17'de Apple, Swift Playgrounds'ın iki yeni sürümünü duyurdu. Swift Playgrounds 1.5 hemen kullanıma sunuldu ve öğrenciler ve geliştiriciler için gerçek dünya programlamasını getirmek için dronlar, Sphero ve LEGO oyuncakları gibi Bluetooth bağlantılı cihazlarla arayüz oluşturma yeteneği sağlıyor.
WWDC '17'de ayrıca Swift Playgrounds 2.0 duyuruldu. Bu yeni sürüm, konferansta geliştiricilere beta olarak sunuldu ve entegre API dokümantasyon araçları, Swift 4.0 ve Swift 3.2 desteği, iOS 11 SDK desteği ve Kamera ve Artırılmış Gerçeklik API'lerini kullanma desteği içeriyor.
Swift Playgrounds 3.0, Mayıs 2019'da piyasaya sürüldü ve kararlılık güncellemeleri ve iyileştirmeler alan Swift Playgrounds uygulamasında önemli bir güncellemeydi; 3.3.1 sürümü artık mevcut. Sürüm 3.0 önemlidir, çünkü kendi Swift dosyalarınızı bir oyun alanına aktarma ve Swift dosyalarını oyun alanlarınız arasında paylaşma olanağı eklemiştir. Ayrıca kodlama hatası önerileri, karanlık mod desteği, eğitimcilerin kendi Swift oyun alanı kitaplarını oluşturmaları için ek araçlar ve en son Swift kodunun Swift Playgrounds uygulamasının içinde oluşturulabilmesi için Swift sürüm güncellemeleri içerir.
Swift Playgrounds, olabilecek ücretsiz bir uygulamadır. iPad için App Store'dan indirildi.
Ek kaynaklar
SwiftUI nedir?
saat WWDC Haziran 2019'da Apple piyasaya çıktı SwiftUI, Swift uygulamaları için kullanıcı arayüzleri oluşturmanın yeni bir yolu. Bu araç ve API seti, geliştiricilerin bir kullanıcı arabirimi tanımlamak ve sunmak için bildirime dayalı Swift sözdizimi yazmasına ve beraberinde gelen birçok yeni özelliği elde etmesine olanak tanır.
ücretsiz, dahil:
- Dinamik Tip
- Karanlık Mod
- Ortak öğeler için yerelleştirmeler
- iOS erişilebilirlik özellikleri
SwiftUI, arayüzün ne yapması gerektiğini belirtmenize izin verir ve iOS, bu arayüzü kullanıcılarınıza sunmada kontrolü ele alır. Bir öğe listesi oluşturabilir ve ardından Interface Builder'ı kullanmak zorunda kalmadan koddaki her öğe için hizalamayı, yazı tipini ve rengi tanımlayabilirsiniz.
Xcode 11'deki yeni Tasarım Araçlarını kullanarak, kodun kullanıcıya ne sunduğunu görebilirsiniz. Canlı önizleme penceresi, siz yazarken önizleme yapmak için yan yana düzenleyicideki kodla otomatik olarak eşitlenir.
SwiftUI, iPhone, Mac, iPad, Apple Watch ve Apple TV dahil olmak üzere iOS 13 çalıştıran tüm Apple platformlarında yereldir. Hepsinden iyisi, bir cihaz için oluşturduğunuz bir UI, tüm platformlara otomatik olarak çevrilecektir (veya çok az bir çalışmayla çevrilebilecektir).
SwiftUI, iOS proje ayarlarınızda bir dağıtım seçeneği olarak Mac'i ekleyerek iOS uygulamalarınızı kolayca Mac'e taşımanın yoludur. Bu yeni çerçeve, nihayetinde Apple platformları için yalnızca erişilebilir, daha sürdürülebilir, daha taşınabilir uygulamalara yol açacaktır.
Uygulamalarınızda SwiftUI uygulaması hakkında daha fazla bilgi için aşağıdaki WWDC 2019 oturum videolarına göz atın:
WWDC 2020'de Apple, SwiftUI kullanarak tüm iOS, macOS, tvOS ve watchOS uygulamalarını oluşturmak için daha da fazla özellik ekleyen SwiftUI'nin yeni sürümünü tanıttı. Ayrıca SwiftUI için ileriye doğru bir adım attılar ve onu, widget'lar oluşturmanın varsayılan yolu haline getirdiler. iOS 14. Ana hatlar, ızgaralar ve araç çubukları gibi yeni özellikler SwiftUI'yi eskisinden daha güçlü ve yetenekli hale getiriyor.
Yukarıdaki 2019 oturum videolarının yanı sıra, hala geçerli olan Apple, WWDC 2020'de tüm yeni SwiftUI özelliklerini açıklayan yeni oturum videoları da yayınladı:
Swift'in sürüm geçmişi
- 2010 ortası: Geliştirme başlar
- 17 Temmuz 2010: İlk Swift taahhüdü Swift GitHub deposuna
- 2 Haziran 2014: Apple, WWDC 2014'te Swift'i duyurdu ve geliştiricilere Swift ve Xcode 6'nın yayın öncesi bir sürümünü verdi.
- 15 Eylül 2014: Apple, Swift 1.0'ı Gold Master of Xcode 6 ile piyasaya sürdü.
- 15 Ekim 2014: Swift 1.1, Xcode 6.1 ile piyasaya sürüldü.
- 8 Nisan 2015: Swift 1.2, Xcode 6.3 ile piyasaya sürüldü
- 8 Haziran 2015: Apple, WWDC 2015'te Swift 2.0'ı duyuruyor ve geliştiricilere Swift 2 ve Xcode 7'nin yayın öncesi bir sürümünü sunuyor.
- 15 Eylül 2015: Apple, Swift 2.0'ı Xcode 7 Gold Master yapısıyla piyasaya sürdü.
- 20 Ekim 2015: Apple, Swift 2.1'i Xcode 7.1 sürümüyle birlikte yayınladı.
- 3 Aralık 2015: Apple duyurdu Swift 3.0 yol haritası GitHub'da.
- 21 Mart 2016: Apple, Xcode 7.3'ün piyasaya sürülmesiyle Swift 2.2'yi yayınladı.
- 13 Eylül 2016: Apple, Xcode 8'in piyasaya sürülmesiyle Swift 3.0'ı piyasaya sürdü.
- 27 Mart 2017: Apple, Swift 3.1'i yayınladı.
- 5 Haziran 2017: Apple, WWDC '17'de Swift 4.0'ı duyurdu.
- 29 Mart 2018: Apple, Swift 4'ü piyasaya sürdü.
- 17 Eylül 2018: Apple, Swift 4.2'yi yayınladı.
- 25 Mart 2019: Apple, Swift 5.0'ı yayınladı.
- 20 Eylül 2019: Apple, Swift 5.1'i Xcode 11 ile piyasaya sürdü.
- 24 Mart 2020: Apple, Swift 5.2'yi yayınladı.
- Haziran 2020: Apple, WWDC '20'de Swift 5.3'ü duyurdu.
- 16 Eylül 2020: Apple, Swift 5.3'ü Xcode 12 ile piyasaya sürdü.
Ek kaynaklar
Editörün Notu: Bu makale, Swift'in en son sürümünü yansıtacak şekilde güncellendi.