İçeriğe atla

Swift (programlama dili)

Swift
Paradigmasıçok paradigmalı: nesne yönelimli, fonksiyonel, zorunlu
İlk çıkışı2 Haziran 2014 (10 yıl önce) (2014-06-02)[1]
TasarımcıChris Lattner ve Apple
GeliştiriciApple
Kararlı sürüm5.9.2 (11 Aralık 2023 (10 ay önce) (2023-12-11))
EtkilendikleriObjective-C, Rust, Haskell, Ruby, Python, Scala, C#, CLU,[2] D[3]
EtkiledikleriRust[4]
İşletim sistemiiOS, macOS, tvOS, watchOS, visionOS
LisansApache Lisansı sürüm 2.0 (Swift 2.2 ve sonrası)
özel mülk (2.2 sürümüne kadar)[5][6]
Olağan dosya uzantıları.swift
Web sitesideveloper.apple.com/swift/

Swift, Apple tarafından iOS ve macOS platformlarına iOS ve Mac uygulamaları geliştirmek için oluşturulan, derlenerek çalışan güçlü ve kullanımı kolay, nesne yönelimli bir programlama dili.

İlk olarak WWDC 2014[7] konferansında duyurulmuştur. Swift Apple'ın Cocoa ve Cocoa Touch geliştirme çatıları ve Objective-C ile yazılmış çoğu Apple ürünüyle beraber çalışabilecek şekilde tasarlanmıştır.

Swift, TIOBE indeksinin Mart 2017 verilerine göre dünyada en çok kullanılan 10 programlama dilinden birisi haline gelmiştir. Mevcut Objective-C koduna sorunsuz entegre edilebilmesi sayesinde, yazılım geliştiriciler için zamandan tasarruf sağlamaktadır.

Swift programlama dilinde programlama geliştirmek için Xcode programı kullanılır.

Geçmiş

Swift dilinin geliştirilmesi, Chris Lattner ve birçok Apple yazılımcısının işbirliği ile 2010 yılında başlamıştır. Swift Objective-C, Rust, Haskell, Ruby, Python, C#, CLU gibi birçok programlama dilinden esinlenilerek yazılmıştır.

2 Haziran 2014'te Swift ile yazılmış ilk WWDC uygulaması tanıtıldı. Dilin beta sürümü konferansa katılan kayıtlı Apple geliştiricilerine tanıtıldı fakat şirket Swift'in test sürümüyle son sürümünün kaynak uyumluluğunun sözünü vermedi. Apple gerektiği durumda nihai sürüm için bir kaynak kod dönüştürücü yapmayı planlamaktadır.

500 sayfalık ve ücretsiz Swift Programming Language el kitabı WWDC’de yayınlandı. Kitap iBooks Store ve resmi web sayfasından ulaşılabilir durumda.[8]

Swift ilk olarak iOS için olan Xcode 6.0’ın Gold Master versiyonuyla 1.0 milestone sürümünü 9 Eylül 2014 tarihinde çıkardı.[9] Swift 1.1 versiyonu Xcode 6.1 güncellemesiyle beraber 22 Ekim 2014 tarihinde geldi.[10] Swift 1.2 versiyonu 8 Nisan 2015 tarihinde Xcode 6.3 güncellemesiyle geldi.[11] Swift 2.0 WWDC 2015 tarihinde tanıtıldı ve 21 Eylül tarihi itibarıyla App Store’a bu dil ile yazılmış uygulamaların gönderilebileceği duyuruldu.[12] Swift 3.0 versiyonu ise 13 Eylül 2016 tarihinde geldi.[13]

Swift Stack Overflow Developer Survey 2015'in En Çok Sevilen Programlama Dili kategorisinde birinci sırayı,[14] 2016 tarihinde ise ikinci sırayı kazandı.[15]

WWDC 2016’da Apple, Swift ile kodlama nasıl öğretilir amacını taşıyan iPad özel uygulaması olan Swift Playgrounds’u tanıttı. Belirli sırada yerleştirilmiş ve çalıştırılan kodlar ile geri bildirim sağlayan bu uygulama 3 boyutlu video oyununu andıran bir arayüz içinde sunuldu.

2017 tarihinde Chris Lattner Apple içerisinde Tesla Motors’da yeni bir pozisyona geçtiğini duyurdu ve Swift projesindeki rolünü Ted Kremenek üstlendi.[16][17]

Özellikler

Swift modern programlama dilleri teori konseptine sahip ve mevcut sözdizimini basitleştirmeye çalışan Objective-C alternatifi bir dildir. Bu tanıtım boyunca Swift kısaca "C’siz Objective-C" olarak tarif edildi.[18][19]

Kütüphaneler, çalışma zamanı ve geliştirme

Swift Objective-C ile aynı çalışma zamanı sistemini kullanır fakat iOS 7 veya macOS 10.9 ve üstü versiyonları gerektirir.[20] Swift ve Objective-C kodları uzantı ile C ve C++ da dahil aynı program içinde kullanılabilir. C’nin aksine C++ kodları doğrudan Swift içinde kullanılamaz. Bir Objective-C veya C wrapper Swift ile C++ arasında oluşturulmuş olmalıdır.[21]

Bellek yönetimi

Swift bellek yönetimi için Otomatik Referans Sayıcı (ARC) kullanır. Apple Objective-C’de elle bellek yönetimi yapmayı gerektiriyordu. 2011 yılında bellek tahsis etme ve serbest bırakma işlemlerini basitleştirmek için ARC tanıtıldı.[22] ARC’nin olası sorunlarından biri İki farklı örneğin birbirine güçlü referans çevrimi ile bağlandığı bir durumda birbirlerinin referanslarını hiçbir zaman bırakmayacak olmalarıdır. Swift bu durumdan kaçınmak için weak ve unowned anahtar kelimelerini sağlar.

C ile benzerlikleri

  • Birçok C operatörü Swift içinde kullanıldı. Bunun yanında yeni operatörler eklendi.
  • Köşeli parantez grup ifadelerinde kullanıldı.

Objective-C ile benzerlikleri

  • Basit sayısal türler (Int, UInt, Float, Double)
  • Benzer forin numaralandırma sözdizimi.

Objective-C'den farkları

  • İfadeler noktalı virgül (;) ile bitmek zorunda değil. Bir satırda birden çok ifade için kullanmaya izin verir.
  • Başlık dosyaları yok.
  • Otomatik tür algılama kullanır.
  • Jenerik programlama.
  • Fonksiyonlar birinci sınıf nesnelerdir.
  • Stringler Unicode’u tamamıyla destekler. Birçok Unicode karakteri tanımlama ve operatör için kullanılabilir.

Örnek kod

print("Merhaba, dünya!")

let kişi = ["Aygül": 67, "Can": 8, "Burçak": 33, "Zeki": 25]
for (isim, yas) in kişi {
    print("\(isim), \(yas) yaşında.")
}

func merhaba(isim: String) -> String {
    let value = "Merhaba, " + isim + "!"
    return value
}

print(merhaba("Aygül"))
//çıktı: Merhaba, Aygül!

Sürüm Geçmişi

Sürüm Yayın Tarihi macOSLinux
Swift 1.0 Eylül 9, 2014 Evet Hayır
Swift 1.1 Ekim 22, 2014 Evet Hayır
Swift 1.2 Nisan 8, 2015 Evet Hayır
Swift 2.0 Eylül 21, 2015 Evet Hayır
Swift 2.1 Ekim 20, 2015 Evet Hayır
Swift 2.2 Mart 21, 2016 Evet Evet
Swift 2.2.1 Mayıs 3, 2016 Evet Evet
Swift 3.0 Eylül 13, 2016 Evet Evet
Swift 3.0.1 Ekim 28, 2016 Evet Evet
Swift 3.0.2 Aralık 13, 2016 Evet Evet
Swift 3.1 Mart 27, 2017 Evet Evet
Swift 3.1.1 Nisan 21, 2017 Evet Evet
Swift 4.0 Eylül 19, 2017 Evet Evet
Swift 4.0.2 Kasım 1, 2017 Evet Evet
Swift 4.0.3 Aralık 5, 2017 Evet Evet
Swift 4.1 Mart 29, 2018 Evet Evet
Swift 4.1.1 Mayıs 4, 2018 Hayır Evet
Swift 4.1.2 Mayıs 31, 2018 Evet Evet
Swift 4.1.3 Temmuz 27, 2018 Hayır Evet
Swift 4.2 Eylül 17, 2018 Evet Evet
Swift 4.2.1 Ekim 30, 2018 Evet Evet
Swift 4.2.2 Şubat 4, 2019 Hayır Evet
Swift 4.2.3 Şubat 28, 2019 Hayır Evet
Swift 4.2.4 Mart 29, 2019 Hayır Evet
Swift 5.0 Mart 25, 2019 Evet Evet
Swift 5.0.1 Nisan 18, 2019 Evet Evet
Swift 5.0.2 Temmuz 15, 2019 Hayır Evet
Swift 5.0.3 Ağustos 30, 2019 Hayır Evet
Swift 5.1 Eylül 10, 2019 Evet Evet

Ayrıca bakınız

Kaynakça

  1. ^ "Swift Has Reached 1.0". Apple. 9 Eylül 2014. 9 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Mart 2015. 
  2. ^ Lattner, Chris (3 Haziran 2014). "Chris Lattner's Homepage". Chris Lattner. 22 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Haziran 2014. I started work on the Swift Programming Language in July of 2010. I implemented much of the basic language structure, with only a few people knowing of its existence. A few other (amazing) people started contributing in earnest late in 2011, and it became a major focus for the Apple Developer Tools group in July 2013 [...] drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list. 
  3. ^ a b "Building assert() in Swift, Part 2: __FILE__ and __LINE__ - Swift Blog -". Apple Developer. 8 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Eylül 2014. Swift borrows a clever feature from the D language: these identifiers expand to the location of the caller when evaluated in a default argument list. 
  4. ^ "RFC for 'if let' expression". 4 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Aralık 2014. The 'if let' construct is based on the precedent set by Swift, which introduced its own 'if let' statement. 
  5. ^ "Swift, Objectively". 31 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Haziran 2015. Swift is proprietary and closed: It is entirely controlled by Apple and there is no open source implementation. 
  6. ^ Lattner, Chris (11 Haziran 2014). "Re: [LLVMdev] [cfe-dev] [ADVERTISEMENT] open positions in Apple's Swift compiler team". 27 Ağustos 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Haziran 2014. You can imagine that many of us want it to be open source and part of llvm, but the discussion hasn't happened yet, and won't for some time. 
  7. ^ "Apple announces Swift, a new programming language for iOS". 26 Aralık 2015 tarihinde kaynağından arşivlendi. 
  8. ^ The Swift Programming Language. Apple. 2 Haziran 2014. 18 Ekim 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Haziran 2014. Diğer özet. 
  9. ^ "Swift Has Reached 1.0". 9 Eylül 2014. 11 Temmuz 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Eylül 2014. 
  10. ^ "Xcode 6.1 Release Notes". 22 Ekim 2014. 18 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Ocak 2015. 
  11. ^ "Xcode 6.3 Release Notes". 8 Nisan 2015. 18 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Nisan 2015. 
  12. ^ "Swift 2 Apps in the App Store - Swift Blog". developer.apple.com. 26 Ağustos 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Mart 2016. 
  13. ^ Inc., Apple (13 Eylül 2016). "Swift 3.0 Released!". Swift.org. 14 Ekim 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Ekim 2016. 
  14. ^ "Stack Overflow Developer Survey Results 2015". 31 Aralık 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Ocak 2017. 
  15. ^ "Stack Overflow Developer Survey Results 2016". 11 Ocak 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Ocak 2017. 
  16. ^ "Arşivlenmiş kopya". 29 Ocak 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Ocak 2017. 
  17. ^ "Arşivlenmiş kopya". 19 Ocak 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Ocak 2017. 
  18. ^ Metz, Rachel (3 Haziran 2014). "Apple Seeks a Swift Way to Lure More Developers". Technology Review. 24 Eylül 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Ocak 2017. 
  19. ^ Weber, Harrison (2 Haziran 2014). "Apple announces 'Swift,' a new programming language for macOS & iOS". VentureBeat. 17 Kasım 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Ocak 2017. 
  20. ^ "Do Swift-based apps work on macOS 10.9/iOS 7 and lower?" 14 Haziran 2014 tarihinde Wayback Machine sitesinde arşivlendi., StackOverflow
  21. ^ "Using Swift with Cocoa and Objective-C: Basic Setup". apple.com. 6 Ocak 2015. 14 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Ocak 2017. 
  22. ^ "Automatic Reference Counting" 21 Mart 2016 tarihinde Wayback Machine sitesinde arşivlendi., Apple Inc.

Dış bağlantılar

İlgili Araştırma Makaleleri

Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir.

<span class="mw-page-title-main">D (programlama dili)</span> çoklu paradigma programlama dili

D programlama dili, C++ dilinden daha yüksek seviyede ve hedef alınan işletim sistemiyle donanımlara göre uygulama yazılmasını kolaylaştıran bir "sistem ve uygulama" dilidir.

macOS, Macintosh işletim sistemi ailesinin son sürümüdür ve Apple tarafından Macintosh bilgisayarları için tasarlanmış bir işletim sistemidir.

Objective-C, C'nin üzerine yazılmış, yansımalı, nesne yönelimli bir programlama dilidir. ObjC, Objective C ve Obj-C olarak da anılır.

Ruby, nesneye yönelik, dinamik, reflektif ve esnek bir programlama dilidir. Ruby dili, Yukihiro Matsumoto tarafından Japonya'da tasarlanmaya ve geliştirilmeye başlanmıştır.

<span class="mw-page-title-main">Go (programlama dili)</span> programlama dili

Go, statik tipli, derlenen, yüksek seviyeli bir programlama dilidir. Robert Griesemer, Rob Pike ve Ken Thompson tarafından Google'da 2007 yılından itibaren geliştirilmeye başlanmıştır. Sözdizimi C'ye benzerdir fakat hafıza erişimi güvenlidir, kullanılmayan hafıza kaynakları sisteme otomatik olarak geri verilir, interface veri tipleri sayesinde yapısal tip sistemini destekler ve eşzamanlı (concurrent) çalışan işlemlerin (process) ortak hafıza kullanabilmelerinin yanında birbiriyle iletişim kurmalarını sağlayan ögelere sahiptir. Eski alan adı golang.org olduğundan sık sık golang ismiyle anılır ama asıl adı Go'dur.

iOS Appleın mobil işletim sistemi

iOS Apple'ın başlangıçta iPhone için geliştirdiği ancak daha sonra iPod Touch ve iPad'de de kullanılan mobil işletim sistemidir. 2007-2010 yılları arasında "iPhone OS" isminde idi. Mac OS X'den türetilmiştir. iOS içinde 4 katman bulundurmaktadır: Core OS tabakası, Core Servisleri tabakası, Medya tabakası ve Cocoa Touch tabakası. iOS işletim sistemi yapısı nedeniyle Apple App Store ve iTunes dışında hiçbir yerden uygulama yüklenemez. Kurucusu Steve Jobs'tır.

<span class="mw-page-title-main">Apple Worldwide Developers Conference</span> Apple Inc. tarafından her yıl ABDnin Kaliforniya eyaletinde düzenlenen konferans

Apple Worldwide Developer Conference (WWDC), Amerikan teknoloji şirketi Apple tarafından her yıl Amerika Birleşik Devletleri'nin Kaliforniya eyaletinde, yazılım geliştiricileri için düzenlenen bir konferanstır. Bu etkinlikte Apple, dünyanın dört bir yanından gelen binlerce geliştiriciye, Apple mühendisleriyle bir araya gelip atölye çalışmaları ve yazılım oturumlarına katılma imkânı sağlar. Etkinliğin temeli yeni geliştirilen iOS, MacOS, WatchOS ve TvOS gibi yazılımlara dayanır.

watchOS mobil işletim sistemi

watchOS, Apple Inc. tarafından geliştirilen ve Akıllı saatler için özel olarak tasarlanan Apple Watch'ın mobil işletim sistemidir. iOS işletim sistemi temel alınarak geliştirilmiştir ve pek çok ortak özelliği bulunmaktadır. Apple Watch ile birlikte yayınlanan watchOS şu anda sadece Apple Watch cihazlarında kullanılmaktadır. API'isi WatchKit 'dir. Güncelleme yöntemi ise Over-the-air programlaması iledir.

<span class="mw-page-title-main">Rust (programlama dili)</span> sistem programlama dili

Rust; açık kaynak kodlu, çoklu paradigmalı, ilk olarak Mozilla tarafından dizayn edilen ve Rust Foundation tarafından geliştirilmekte olan; performansa, güvenliğe ve eş zamanlı işlem yapabilmeye odaklanmış bir sistem programlama dilidir. Rust, söz dizimi olarak C++ diline benzemektedir. Rust, "güvenli, pratik ve hızlı" bir dil ortaya koymak amacı ile tasarlanmıştır.

tvOS apple işletim sistemi

tvOS Apple tarafından geliştirilen dördüncü nesil Apple TV dijital medya oynatıcısı için bir işletim sistemidir. Ancak 4.nesil Apple TV-de bulunur. Ondan öncekiler bu sistemi desteklemiyorlar. tvOS sistemi 4. nesil Apple TV ile birlikte, "Apple Eylül 2015" etkinliğinde 9 Eylül 2015 tarihinde ilan edildi. 26 Ekim 2015 günü, 4. nesil Apple TV ön siparişleri başladı ve gönderiler sonraki hafta başladı. tvOS iOS bazında yaratılmıştır. Şu ana kadar Apple TV için ayrıca iOS sürümleri yayınlanırdı, fakat iOS 9 - dan itibaren resmi olarak Apple TV için tvOS tanıtıltı.

<span class="mw-page-title-main">Metal API</span> IOS,macOS and tvOS grafik render uygulama programlama arayüzüdür

Metal API iOS 8-de tanıtılan düşük seviyeli, düşük-havai donanım hızlandırmalı grafik ve bilgisayar uygulama programlama arayüzüdür (API). Bu, bir API altında OpenGL ve OpenCLe benzer işlevselliğini birleştirir. Metal API IOS-a diğer platformlarda benzer API'lerin performans yararlarından bazılarını getirmek için tasarlanmıştır. Metal, 2 Haziran 2014 yılından beri Apple A7 ya da sonrasını kullanan iOS cihazlarında ve 8 Haziran 2015'ten beri OS X El Capitan çalıştıran Mac'lar üzerinde mevcuttur. Metal daha da işlem shaderi getirerek GPGPU programlama yeteneklerini geliştirdi. Metal C++11 dayalı yeni bir gölgeleme dili kullanır; Bu Clang ve LLVM kullanılarak uygulanır. OS X'da Metal desteği WWDC 2015'te açıklandı.

<span class="mw-page-title-main">Dashcode (yazılım)</span>

Dashcode Apple tarafından Mac OS X Leopard'a dahil edilen ve Dashboard için widget'ların geliştirilmesini kolaylaştıran bir yazılım uygulamasıydı. İlk kez 24 Mayıs 2006'da Xcode geliştirici araçlarının bir parçası olarak yeni MacBook'lara dahil edildi.

Kotlin, Java sanal makinesi (JVM) üzerinde çalışan ayrıca JavaScript kaynak koduna veya LLVM ile makine koduna derlenebilen, statik tipli bir programlama dilidir. İlk geliştirme Sankt-Peterburg, Rusya merkezli JetBrains programcıları tarafından yapılmıştır. İsmi Kotlin Adası'ndan gelmektedir. Java ile uyumlu sözdizimi olmasa da, Kotlin Java kodu ile birlikte çalışmak üzere tasarlanmıştır. Kotlin, Apple'ın Swift diline benzemektedir.

<span class="mw-page-title-main">Xcode</span>

Xcode macOS, iOS, watchOS, tvOS ve visionOS için yazılım geliştirmek için Apple tarafından geliştirilen macOS için entegre bir tümleşik geliştirme ortamıdır. Yazılım geliştirme araçlarını içerir. İlk kez 2003 yılında piyasaya çıkan hizmetin en istikrarlı sürümü, sürüm 8.3.3'tür ve Mac App Store'den macOS Sierra kullanıcıları için ücretsiz olarak sunulmaktadır. Kayıtlı geliştiriciler, Apple Developer web sitesinden paketi önizleme sürümlerini ve önceki sürümlerini indirebilirler. Bununla birlikte, Apple son zamanlarda yazılımın sürüm 9 beta 2'nin beta versiyonunu Apple Developer hesaplarıyla halka açık hale getirdi.

iOS SDK

iOS SDK Apple tarafından geliştirilen bir yazılım geliştirme kitidir. Kit, Apple'ın iOS işletim sisteminde mobil uygulamaların geliştirilmesine olanak tanır.

Cocoa, masaüstü işletim sistemi macOS için Apple'ın yerel nesne yönelimli programlama ve uygulama programlama arayüzüdür (API).

Carbon, Macintosh bilgisayarları çalıştıran işletim sistemi olan Mac OS X için Apple'ın C tabanlı uygulama programlama arayüzlerinden (API) biridir. Carbon, Mac OS 8 ve Mac OS 9 işletim sistemlerinde çalışan programlar için iyi bir geriye dönük uyumluluk sağlamıştır. Geliştiriciler, “klasik” Mac OS ve Macintosh işletim sistemleri yazılımlarını OS X platformuna taşımak için uygulamayı azami çaba harcayarak çok az bir çaba ile kullanabilirler. OpenStep'te ortaya çıkan tamamen farklı Cocoa API sistemidir.

<span class="mw-page-title-main">San Francisco (yazı tipi)</span>

San Francisco, Apple Inc. tarafından geliştirilen bir neo-grotesk sans-serif yazı tipidir. İlk olarak 18 Kasım 2014'te geliştiricilere yayınlandı. Apple tarafından tasarlanmış olan ilk yazı karakteridir. Neredeyse 20 yıl içerisinde tasarlanmıştır ve Helvetica ve DIN yazı tiplerinden esinlenilmiştir.

SwiftUI, Apple Inc. tarafından Swift programlama diline yönelik kullanıcı arayüzü oluşturmak için bir grafik uygulama çerçevesidir. 3 Haziran 2019'da şirketin Dünya Çapında Geliştiriciler Konferansı'nda duyuruldu.