21 Ekim 2020 Çarşamba

Swift



C ve Objective-C dilleri tabanlıdır. Bu dillerin karmaşasından kurtarılmış olup 7 tane programlama dilinden esinlenmiştir.

Esnek ve kolay bir mimariye sahiptir.

Yazılım geliştirmeye yeni başlayanlar için oldukça basit ev anlaşılabilir yapıdadır.  

Nesne tabanlı dildir.

Açık kaynaklıdır.

Syntax yapısı: camelCase

Swift programlama dilinin standart kütüphanesi sınıflar, protokoller, global fonksiyonlar, yapılar, data türleri bulunmaktadır.

Declaration yani bir değişkenin kullanılmadan önce derleyiciye bildirilmesi/tanıtılmasıdır.

Type Inference yani tür çıkarımı mekanizması

String Interpolation yani metin(String) içerisine veri (değişken, sabit) koymak.  \()

immutable 

Multi Paradigm yani çok paradigmalı dil yapısına sahiptir.

Dictionary Hash Map

Set

if else condition

Fonksiyonlar

Tuple Çoklu değerleri tek bir birleşik değere dönüştürür.

Fonksiyon Overload yani Fonksiyon Yükleme. Aynı isimde farklı parametrelere sahip fonksiyonlar tanımlama

Literal yani değişmez, sabit

? demek opsiyonel/muallak,

! kodun başında olursa tersi/değili, sonunda olursa değeri kesin/mutlak demektir.

Type casting yani Tip Dönüştürme. Otomatik tip dönüştürme yoktur. 

Closure

Structure

Enum : Enum’ı bir grup bağlantılı değer için ortak bir tür tanımlama olarak düşünebiliriz. Kod içinde bu değerleri güvenli bir şekilde kullanabiliriz. Enum’ı bir çeşit seçeneklendirme olarak düşünebiliriz. 

Stack

Class yapısı

Struct

Optional

Inheritance - Miras

Force unwrap 

Implicitly unwrap

Properties

Method

Kalıtım nedir?

Protokol nedir? interfacer olarak da geçiyor.

implemente- uygulamak

Generic

Sequence - Sıra

TASARIM PATERNLERİ (MVC, DI, DP)

     >>MVC Design Pattern - Model-View-Controller Design Pattern : Birbiri ile aynı işi yapan uygulama komponentlerini gruplandırıp birbirleri ile haberleşmelerini sağlamak. Yani View katmanından (Kullanıcının gördüğü katman) lardaki dosyalar ile kullanıcıya ana veritabanından gelen veya bilgiyi işleyen, kuran mekanizma yani Model'ın farklı alanlarda olması. Yani bilginin işlendiği alanın aynı bir komponent, bilgiyi gösteren alanında ayrı bir komponent olup birbiri ile haberleşmesidir. Temel olarak separation of concerns denilen Birbirleriyle ilişkili yapıların beraber olup farklı yapılarında birbirleriyle bazı kontrol yapıları üzerinden haberleşmesi prensibine dayanıyor.

    >>Dependency Injection

    >>Delegate Pattern

Front-End ve Back-End uygulamalar.

ViewDidLoad

interpolation - Katmak, Ekleme yapmak

Maintenance - Yazılım bakımı

Runtime

Handle

Tuple: 

Declarative:

Optionals: Bir değişkenin belirtilen tipteki değere sahip olup olmadığını kontrol eden yapılardır. Nil Check işleminde if let kullanılması tavsiye edilir.

Nil Check : Bir değişkende değerin var olup olmadığının kontrol edilmesi.

Unwrap: 

Typealias : Tiplere takma ad takabiliriz.

Global Scope: Kodun her yerinde kullanılabilecek tanımlanan değişkendir.

Local Scope: : Kodun yalnızca fonksiyonlar vs. gibi local yerlerde kullanabilecek değişkenlerdir.

Break : Ayrıl, terket, sonlandır.

fallthrough : Swift dilinde Switch-case'de break kullanmamıza gerek yok. koşul sağlandıktan sonra switch'ten çıkıp koda devam ediyordu.  Switch'ten çıkmamasını istiyorsak fallthrough eklemeliyiz. fallthrough ekleyince bir sonraki case'ye girip sonra çıkıyor. Bir sonraki case'de de kullanabiliriz.

ternary operatörü: ?

enum : Farklı durumların kontrol edilmesini sağlayacak sıralı listeler oluşturmak için kullanılır.

mutable : Değişebilir demektir. var

immutable : Değişmez, sabit demektir. let

replace: Yer değiştirmek

Swift Açık kaynak kodlu programlama dilidir.

Visual Studio'nun yalnızca Windowslarda çalıştığı için, Xcode'da yalnızca MACOS cihazlarda çalışıyor.

Frameworkler 2 tane var. UIKit Xcode 11 ve öncesinde vardı, Xcode 11'den sonra SwiftUI eklendi.

Xcode ile yazılan uygulamaların AppStore'ye atılabilmesi için imzalanması zorunludur.

Distrubitable : Dağıtılabilir

Kodları Run etmek : Çalıştırmak

Compile etmek: Derlemek, derleyip binary hale getirmek

IDE : 

SDK :

IOS Deployment Target minimum 13 yapın. (Project ve Target kısımlarından ayrı ayrı yapın.)

XCode 10.3 öneriliyor. Çünkü SwiftUI desteklemeyen en yüksek sürüm bu. UI

XCode'de Products klasörü sanal bir klasör olup XCode projemizin derlenmiş versiyonunu orada tutuyor.

Main.storyboard = Ana Storyboardımızdır.

LaunchScreen.storyboard : Developer'lar genelde bu storyboardı siliyor. Uygulamanın açılışta göstereceği ekran budur. Developerlar açılış ekranını Main.storyboard kısmına gömüyorlar. XCode'de "App Icons and Launch Images" kısmından uygulamanın açılış ekranının hangi ekran olacağını seçiyorsunuz. 

Devices Orientation : Hepsini seçelim. Çünkü daha sonra açamıyorsunuz. Hepsini seçin kodlarla kapatıp açabiliyorsunuz zaten.

Assets.xcassets : Uygulamanın AppStore'deki iconlarını ve farklı çözünürlükteki cihazlardaki iconlarını ayarlıyorsunuz.

ViewController = Kodlarımızı yazacağımız yerdir.

AppDelegate.swift = Özel bir dosyadır. AppDelegate diye özel bir class var içerisinde. Uygulamamız ilk başlatıldığı zaman IOS'un çalıştıracağı ilk yer burasıdır. 

class AppDelegate: UIResponder, UIApplicationDelegate {




    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        // Override point for customization after application launch.

        return true

Uygulamalarımızın Versiyonlarını 3 haneli yani Major.Middle.Minor şeklinde kullanalım. Build nolarını ise 4 haneli kullanalım.







Hiç yorum yok:

Yorum Gönder