Teknolojinin Dili Kodlama

Teknoloji ile kod arasındaki mükemmel ilişkiyi, fikirlerin kodlara dönüşmesini ve geliştirici olmanın temellerini keşfedeceksiniz.

Mentorluk

Randevu OluşturKredi Al

Swift Nedir?

Swift, Apple’ın 2 Haziran 2014 tarihinde tanıttığı, Apple platformlarında yazılım geliştirmeyi sağlayan, açık kaynak kodlu bir yazılım dilidir.

Image for post
WWDC 2014'te Craig Federighi Swift'i tanıtırken.

Swift, gerçekten çok hızlı, çok güçlü ve oldukça anlaşılır bir yazılım dilidir. Bu yüzden de Swift öğrenmek gerçekten de çok kolaydır. Swift o kadar anlaşılır bir dildir ki, kodlamadan hiç anlamayan bir insan bile bir Swift kodunu gördüğü zaman anlayabilir.

Swift dilinin ne kadar hızlı bir dil olduğunu Swift dilini diğer yazılım dilleriyle karşılaştırarak anlayabiliriz: Apple’a göre, Swift, Objective-C diline göre 2.6 kat ve Python diline göre 8.4 kat daha hızlıdır.

Image for post
Kaynak: apple.com/swift

Swift’in bu yanları tabii ki onu çok başarılı yapmıştır ve yapmaya da devam etmektedir. Örneğin; Swift, sadece 5 yaşında bir yazılım dili olmasına rağmen, en çok sevilen yazılım dillerinden biridir. Hatta Apple, Swift’i 2015 yılında açık kaynaklı bir dil hâline getirdiği ilk hafta, 60.000'den fazla insan Swift’in gelişimine katkı sağlamıştır. Böylece Swift, TIOBE Index’e göre, 2 yıl içerisinde tarihin en hızlı büyüyen dili hâline geldi: Dil, Ekim 2018'de en popüler 10 yazılım dilinden biri haline gelmiştir.

Swift, nesne tabanlı (Object Oriented Programming) bir programlama dilidir. Günümüzde Python, Java, Ruby, C++ gibi birçok popüler programlama dili nesne tabanlı çalışmaktadır.

Tabii ki bir yazılım dilinin iyi bir yazılım dili olabilmesi için iyi bir topluluğa ihtiyacı vardır. Swift, böyle bir topluluğa çoktandır sahiptir. Eğer siz de bir Swift topluluğuna daha katılmak isterseniz, buradan resmî Swift topluluğu sayfasına ulaşabilirsiniz.

Platformlar

Swift ile iOS, iPadOS, macOS, watchOS, tvOS ve hatta Linux işletim sistemleri için yazılımlar geliştirebilirsiniz. Bu platformlarda geliştirebileceklerinizin sınırı yok. Bu platformlar üzerinde, isterseniz Siri ile çalışan harika bir yapay zeka uygulaması ya da büyülü dünyanızı ortaya çıkarttığınız bir arttırılmış gerçeklik (AR) uygulaması yapabilirsiniz!

Image for post

Geliştirme Araçları

Swift programlama diliyle geliştirme yapmak için kullanabileceğiniz iki uygulama vardır: Xcode ve Playgrounds.

Xcode
Image for post

Xcode, hem profesyoneller hem de yeni başlayanlar için muhteşem bir araçtır. Xcode sayesinde muhteşem iOS, iPadOS, watchOS, macOS ve tvOS işletim sistemleri için yazılım geliştirilebilirsiniz. Swift paketleri desteğiyle Xcode, kodu tüm uygulamalarınız arasında paylaşmanıza veya topluluk tarafından oluşturulan paketleri kullanmanıza olanak tanır. Xcode, Swift ile geliştirme yapan birisinin en temel geliştirme aracıdır.

Xcode uygulamasına erişmek oldukça basittir; yapmanız gereken tek şey, App Store üzerinden kendisini indirmektir. (Buradan Xcode uygulamasını direkt indirebilirsiniz.)

Playgrounds
Image for post

Playgrounds, Swift öğrenmeyi interaktif ve eğlenceli hale getiren bir uygulamadır. Bu uygulama üzerinde yaratılan Playground kitapçıklarıyla hiç kodlama bilmeyen bir insan rahatlıkla Swift programlama dilini öğrenmeye başlayabilir. Eğer siz de Swift öğrenmeye başlamak istiyorsanız, Apple’ın Türkçe olarak da hazırlamış olduğu Playground kitapçıklarına göz atabilirsiniz. Ayrıca, bu uygulama üzerinden siz de Playground kitapçıkları oluşturabilirsiniz. (Hatta Apple her sene düzenlediği Dünya Geliştiriciler Konferansına (WWDC) burslu olarak katılmak isteyen kişilerden bir Playground kitapçığı hazırlamalarını istemektedir.)

Üstelik Playgrounds uygulamasına Mac veya iPad cihazlarınız üzerinden erişebilirsiniz. Bu uygulamaya erişmek için yine yapmanız gereken tek şey, bu uygulamayı App Store üzerinden cihazınıza indirmektir. Bu uygulamayı Mac cihazınıza indirmek için buraya ve iPad cihazınıza indirmek içinse buraya tıklayabilirsiniz.

No items found.

Sıradaki

Playground Temelleri

Playground geliştirme ortamına giriş yaparak çeşitli komutları keşfedecek ve matematiksel operatörlerin nasıl kullanıldığını öğreneceksiniz.

Videolar

Swift Temellerine Giriş
Swift Temellerine Giriş
Teknolojinin Dili Kodlama
Teknolojinin Dili Kodlama
Playground Temelleri
Playground Temelleri
Veri Tipleri & Sabitler ve Değişkenler
Veri Tipleri & Sabitler ve Değişkenler
Operatörler
Operatörler
Kontrol Akışı
Kontrol Akışı
Fonksiyonlar
Fonksiyonlar
String'ler
String'ler
Objeler, Metotlar ve Özellikler
Objeler, Metotlar ve Özellikler
Xcode ile Tanışın
Xcode ile Tanışın
Struct
Struct
Class
Class
Koleksiyonlar
Koleksiyonlar
Döngüler
Döngüler
Xcode
Xcode
“Build”, “Run” ve “Debug”
“Build”, “Run” ve “Debug”
Arayüz Elemanlarını Yakından Tanıyın
Arayüz Elemanlarını Yakından Tanıyın
Dokümantasyon
Dokümantasyon
“Interface Builder” Temelleri
“Interface Builder” Temelleri
"UIKit" ile Kullanıcı Arayüzüne Giriş
"UIKit" ile Kullanıcı Arayüzüne Giriş
İlk Uygulama
İlk Uygulama
Kontrol Elemanları
Kontrol Elemanları
Autolayout & Stackview
Autolayout & Stackview
Optionals
Optionals
Tip Dönüşümleri
Tip Dönüşümleri
Guard
Guard
Uygulama Hayat Döngüsü ve Veri Modelleme
Uygulama Hayat Döngüsü ve Veri Modelleme
Scope Sabit & Değişken
Scope Sabit & Değişken
Enumerations
Enumerations
Protokoller
Protokoller
Segue ve Navigation Controller
Segue ve Navigation Controller
TabbarController
TabbarController
View Controller Hayat Döngüsü
View Controller Hayat Döngüsü
Basit Akışlar Oluşturmak
Basit Akışlar Oluşturmak
Uygulama Anatomisi ve Hayat Döngüsü
Uygulama Anatomisi ve Hayat Döngüsü
Model View Controller
Model View Controller
Uygulamanızda Veri Kaydedin
Uygulamanızda Veri Kaydedin
ScrollView
ScrollView
TableView Giriş
TableView Giriş
TableView İleri
TableView İleri
Verileri Kaydetmek
Verileri Kaydetmek
System View Controllers
System View Controllers
Uygulama Geliştirin
Uygulama Geliştirin
Karmaşık Veri Girişi Ekranları Oluşturmak
Karmaşık Veri Girişi Ekranları Oluşturmak
Closures
Closures
Extensions
Extensions
Pratik Animasyonlar
Pratik Animasyonlar
İnternet ile İletişime Geçin
İnternet ile İletişime Geçin
İnternet ile Çalışmak
İnternet ile Çalışmak
JSON
JSON
Concurrency
Concurrency