Swift Hakkında


Swift, C ve Objective-C yazılım dilleri tabanlı oluşturulmuş bir yazılım dilidir. Uygulama geliştiriciler, uygulama geliştirirken Cocoa ve Cocoa Touch uygulama katmanlarından faydalanırlar.
Swift yazılım dilinde bellek yönetimi olarak Automatic Reference Counting (ARC) sistemi kullanılmaktadır. C ile büyük projeler geliştirmek ciddi uzmanlık gerektirecek kadar zor. Bunun sebebi ise hassas bir dil olması ve hata yönetiminin zor olmasıdır. Bu zorlukların üstesinden gelebilmek için Objective-C dilinde yapısal programlama kullanılmaktadır. Yapısal programlama problemlerin ufak parçalara bölünerek giderilmesi mantığına dayanan bir yapıdır. Günümüzdeki bir çok programlama dili hala yapısal programlamayı kullanmaktadır. Swift dili Objective-C dilini tamamen kapsamakta ve Objective-C ile yazılan tüm kodları, kütüphaneleri destekleyerek daha modern ve geliştirilmesi kolay bir yapıya ulaşmıştır.
Not: Syntax, bir dilin yapısal durumudur. Türkçe olarak söz dizimidir. Syntax kavramı sadece programlama dilleri için değil konuşma dili için de kullanılmaktadır.
Cocoa ve CocoaTouch
Apple firmasının yazılım temelleri aslında NextSTEP firmasından gelmektedir. Steve Jobs Apple yönetim kurulundan kovulduktan sonra Next adında bir teknoloji firması kurar ve burada yazılım dilinin temelleri atılır. Objective-C dilindeki değişken tiplerinin isimlerinde bulunan NS takısı NextSTEP’ten gelmektedir.
Cocoa Uygulama Katmanı (Cocoa Application Layer)
Cocoa Uygulama Katmanı MacOS X’ e uygulama geliştirilirken uygulamanın tasarımından ve kullanıcıya dönüşlerden sorumludur. Cocoa Uygulama Katmanı altında geliştirmeye yardımcı frameworkler bulunmaktadır.
  • Cocoa Umbrella Framework
  • AppKit Framework
  • Game Kit Framework
  • Preference Panes Framework
  • Screen Saver Framework
  • Security Interface Framework
CocoaTouch Katmanı (CocoaTouch Layer)
CocoaTouch Katmanı iOS uygulamaları için özellikler ve frameworkler sağlamaktadır ve uygulamanızın görünümden sorumludur. Destek verdiği önemli özelliklerden bazıları multitasking, push notification vb. olarak listelenebilir.
Üst-Düzey Özellikler
  • App Extensions
  • Handoff
  • Document Picker
  • AirDrop
  • TextKit
  • UIKit Dynamics
  • Multitasking
  • Auto Layout
  • Storyboards
  • UI State Preservation
  • Apple Push Notification Service
  • Local Notifications
  • Gesture Recognizers
  • Standard System View Controllers
Cocoa Touch Frameworkleri
  • Address Book UI Framework
  • EventKit UI Framework
  • GameKit Framework
  • iAd Framework
  • MapKit Framework
  • Message UI Framework
  • Notification Center Framework
  • PushKit Framework
  • Twitter Framework
  • UIKit Framework