Swift چیست؟ آموزش کامل و جامع Swift
فهرست مطالب
Swift چیست؟
Swift زبان برنامهنویسی مدرن و قدرتمندی است که توسط شرکت Apple برای توسعه نرمافزار در اکوسیستم Apple طراحی شده است. این زبان برای توسعه اپلیکیشنهای iOS، macOS، watchOS و tvOS استفاده میشود.
// سلام دنیا در Swift
print("Hello, World!")
// تعریف متغیر
var name = "علی"
let age = 25
// تابع ساده
func greet(person: String) -> String {
return "سلام، \(person)!"
}
تاریخچه Swift
Swift در سال 2014 توسط Apple معرفی شد و در سال 2015 بهعنوان یک پروژه متنباز منتشر گردید. این زبان توسط Chris Lattner و تیم او در Apple توسعه یافت.
ساختار پایه Swift
برنامههای Swift از ساختار ساده و منظمی پیروی میکنند. یک فایل Swift میتواند شامل موارد زیر باشد:
// Import frameworks
import Foundation
// تعریف کلاس
class Person {
// properties
var name: String
var age: Int
// initializer
init(name: String, age: Int) {
self.name = name
self.age = age
}
// methods
func introduce() {
print("من \(name) هستم و \(age) سال دارم.")
}
}
ویژگیهای اصلی Swift
Swift دارای ویژگیهای منحصر به فردی است که آن را به یک زبان مدرن و قدرتمند تبدیل کرده است:
ایمنی و امنیت
Swift با طراحی ایمن خود از بسیاری از خطاهای معمول برنامهنویسی جلوگیری میکند. مدیریت خودکار حافظه و بررسی نوع در زمان کامپایل از ویژگیهای مهم آن است.
// Optional Handling
let possibleNumber = "123"
if let actualNumber = Int(possibleNumber) {
print("عدد تبدیل شده: \(actualNumber)")
} else {
print("تبدیل ناموفق بود")
}
// Type Safety
let message: String = "سلام"
// let number: Int = message // خطای کامپایل
سینتکس و مفاهیم پایه
سینتکس Swift ساده و خوانا طراحی شده است. در ادامه با مفاهیم اصلی آشنا میشویم:
متغیرها و ثابتها
// متغیرها با var
var score = 0
score = 10
// ثابتها با let
let maximumScore = 100
// maximumScore = 200 // خطا
// Type Annotation
var greeting: String = "سلام"
var age: Int = 25
var isActive: Bool = true
کالکشنها
// Array
var numbers = [1, 2, 3, 4, 5]
numbers.append(6)
// Dictionary
var capitals = [
"ایران": "تهران",
"فرانسه": "پاریس"
]
// Set
var colors: Set = ["قرمز", "آبی", "سبز"]
برنامهنویسی شیءگرا در Swift
Swift از برنامهنویسی شیءگرا به طور کامل پشتیبانی میکند و امکانات پیشرفتهای را در این زمینه ارائه میدهد.
// تعریف کلاس
class Vehicle {
var currentSpeed = 0.0
var description: String {
return "با سرعت \(currentSpeed) در حال حرکت"
}
func makeNoise() {
// متد پایه
}
}
// ارثبری
class Car: Vehicle {
var gear = 1
override func makeNoise() {
print("بوق بوق!")
}
}
// استفاده از کلاس
let myCar = Car()
myCar.currentSpeed = 60.0
print(myCar.description)
پروتکلها در Swift
پروتکلها در Swift مشابه interface در سایر زبانها هستند و امکان تعریف قرارداد برای کلاسها را فراهم میکنند.
protocol Flyable {
var maxAltitude: Double { get }
func fly()
}
class Bird: Flyable {
var maxAltitude: Double = 1000.0
func fly() {
print("پرنده در حال پرواز است")
}
}
مدیریت حافظه در Swift
Swift از ARC (Automatic Reference Counting) برای مدیریت حافظه استفاده میکند.
class DataManager {
var data: [String] = []
deinit {
print("حافظه آزاد شد")
}
}
// Strong Reference
var manager: DataManager? = DataManager()
// Weak Reference
weak var weakManager = manager
ابزارهای توسعه Swift
برای توسعه با Swift، ابزارهای قدرتمندی در دسترس است:
محیطهای توسعه
– Xcode (IDE اصلی برای توسعه Swift)
– AppCode (توسط JetBrains)
– Swift Playgrounds (برای یادگیری)
ابزارهای تست و دیباگ
– XCTest برای تست واحد
– LLDB برای دیباگ
– Instruments برای پروفایل کردن
فریمورکهای مهم Swift
فریمورکهای اصلی برای توسعه با Swift عبارتند از:
فریمورکهای رابط کاربری
– SwiftUI (فریمورک مدرن UI)
– UIKit (فریمورک کلاسیک UI)
– AppKit (برای macOS)
فریمورکهای پایه
– Foundation
– Core Data
– Core Graphics
منابع یادگیری Swift
برای یادگیری Swift منابع معتبر زیر پیشنهاد میشود:
منابع رسمی
–
Swift Programming Language
–
SwiftUI Tutorials
– Swift.org
منابع آموزشی آنلاین
–
Hacking with Swift
–
raywenderlich.com
–
Coursera Swift Courses