Bỏ qua để đến nội dung

👋 Giới thiệu

Swift là ngôn ngữ lập trình hiện đại, an toàn và hiệu năng cao do Apple phát triển, ra mắt năm 2014 để thay thế Objective-C. Swift được thiết kế để xây dựng ứng dụng cho toàn bộ hệ sinh thái Apple: iOS, macOS, watchOS, tvOS và cả visionOS.

1. Ngôn ngữ chính thức của hệ sinh thái Apple

Phần tiêu đề “1. Ngôn ngữ chính thức của hệ sinh thái Apple”
  • Bắt buộc để phát triển app iOS/macOS chuyên nghiệp
  • SwiftUI (framework UI hiện đại) chỉ dùng được với Swift
  • Toàn bộ tài liệu, sample code mới của Apple đều bằng Swift
// Optionals bắt buộc xử lý giá trị có thể nil
var name: String = "Alice" // Không thể nil
var nickname: String? = nil // Có thể nil, phải unwrap trước khi dùng
// Swift bắt lỗi ngay lúc compile, hạn chế crash runtime
// Objective-C: nhiều dòng, boilerplate
// Swift: rõ ràng, súc tích
struct Person {
var name: String
var age: Int
}
let people = [Person(name: "An", age: 20), Person(name: "Bình", age: 17)]
let adults = people.filter { $0.age >= 18 }.map { $0.name }
  • Biên dịch trực tiếp sang native code (LLVM)
  • Tốc độ tiệm cận C++ trong nhiều tác vụ

5. Value semantics và quản lý bộ nhớ tự động

Phần tiêu đề “5. Value semantics và quản lý bộ nhớ tự động”
  • struct/enum là value type, giúp code dễ suy luận và an toàn hơn khi dùng đa luồng
  • ARC (Automatic Reference Counting) tự động quản lý bộ nhớ cho class, không cần garbage collector
  1. Tải Xcode từ Mac App Store
  2. Xcode đã tích hợp sẵn Swift compiler, trình soạn thảo, simulator iOS/macOS
  3. Tạo project mới: File → New → Project → App
  • Ứng dụng học Swift trực quan, phù hợp người mới bắt đầu, có cả bản cho iPad
  • Tải từ Apple Swift Playgrounds
Terminal window
# Cài Swift toolchain rồi chạy trực tiếp
swift run
print("Xin chào, Swift!")

Giải thích:

  • Swift không cần hàm main() tường minh ở file main.swift — code ở top-level chạy trực tiếp
  • print() - In ra màn hình và tự động xuống dòng

Trong project Xcode (SwiftUI App), điểm bắt đầu là struct đánh dấu @main:

import SwiftUI
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
Text("Xin chào, Swift!")
}
}
}

Hãy bắt đầu với Ngôn ngữ Swift để học các khái niệm cơ bản:

  1. Biến và hằng - var, let và kiểu dữ liệu
  2. Control Flow - if/else, switch, vòng lặp
  3. Functions & Closures - Cách viết và truyền hàm
  4. Struct & Class - Value type vs reference type
  5. Optionals - Xử lý giá trị có thể nil an toàn
  6. Protocols & Extensions - Protocol-oriented programming
  7. Async/Await - Xử lý bất đồng bộ hiện đại