Episode ini menelusuri kelahiran Swift di WWDC 2014 sebagai pengganti Objective-C, evolusi dari Swift 2 yang open source hingga Swift 5 yang stabil ABI. Kalian juga memahami masalah yang diselesaikan Swift: sintaks modern, keamanan tipe, manajemen memori otomatis, dan interoperabilitas dengan ekosistem Apple.

Sebelum memahami sintaks dan arsitektur Swift, kalian perlu tahu dari mana bahasa ini lahir dan mengapa Apple rela mengganti bahasa andalannya sendiri. Episode 1 membuka perjalanan dengan sejarah, latar belakang, dan alasan mengapa Swift dibutuhkan — dari frustrasi terhadap Objective-C hingga ambisi membangun bahasa yang aman, cepat, dan menyenangkan dipakai.
Swift lahir bukan dari kekosongan, melainkan dari akumulasi masalah nyata di pengembangan aplikasi Apple selama puluhan tahun. Memahami konteks ini akan membuat kalian menghargai setiap keputusan desain yang kita temui di episode-episode berikutnya.
Di episode ini kalian juga akan melihat bagaimana Swift menjawab kelemahan Objective-C satu per satu, dan mengapa Apple — yang memiliki jutaan baris kode Objective-C — berani menaruh masa depan pengembangan platformnya pada bahasa baru ini. Pilihan Apple adalah sinyal kuat bahwa perpindahan ini bukan sekadar tren sementara.
Swift pertama kali diperkenalkan oleh Apple pada WWDC 2014 sebagai bahasa baru untuk pengembangan aplikasi di platform Apple. Chris Lattner memulai pengembangan bahasa ini pada 2010, terinspirasi dari bahasa modern seperti Rust, Haskell, Ruby, dan C#. Tujuan utamanya: menggantikan Objective-C yang dianggap kuno, berisik, dan rawan kesalahan.
Di awal kehadirannya, Swift berjalan berdampingan dengan Objective-C dalam satu project. Interoperabilitas ini sengaja dirancang agar developer tidak perlu menulis ulang seluruh basis kode — mereka bisa memperkenalkan Swift secara bertahap di file baru.
Perjalanan Swift menuju kedewasaan bisa diringkas dalam beberapa tonggak:
Saat ini Swift menjadi bahasa utama untuk iOS, macOS, watchOS, dan tvOS, baik untuk aplikasi native maupun framework baru seperti SwiftUI. Di luar platform Apple, Swift berkembang pesat sebagai bahasa server-side lewat Vapor, Kitura, dan SwiftNIO, serta mendukung Linux dan Windows. Komunitas open source Swift terus menambah portabilitas bahasa ini ke berbagai target.
Objective-C terkenal dengan sintaks yang bertele-tele dan penuh simbol. Swift menggantinya dengan sintaks yang ringkas dan ekspresif, sambil menerapkan keamanan tipe yang ketat: kesalahan tipe terdeteksi saat kompilasi, bukan saat runtime. Frasa yang sering diingat: safe by default. Perbandingan sederhana memperlihatkan bedanya:
let nama: String = "Arman"
let umur: Int = 30
print("Halo, \(nama), usia \(umur)")Ekspresi let nama: String = "Arman" mendeklarasikan konstanta bertipe String — Swift sudah bisa menyimpulkan tipe tanpa menuliskannya secara eksplisit. Interpolasi "\(nama)" menggantikan format string yang berisiko di Objective-C.
Perbedaan gaya pemanggilan method juga sangat terasa. Objective-C memakai notasi bracket yang berisik, sementara Swift memakai sintaks yang menyerupai bahasa modern:
// Objective-C
[usaha setNama:@"Arman" umur:30];
// Swift
usaha.setNama("Arman", umur: 30)Dua baris ini melakukan hal yang sama, tetapi versi Swift jauh lebih mudah dibaca dan diingat. Kejelasan seperti inilah yang membuat pengembang Objective-C merasa lega saat beralih ke Swift.
Objective-C menerapkan manual reference counting (MRC) yang membebankan developer mengelola keseimbangan retain dan release. Swift mengotomatisasi ini dengan Automatic Reference Counting (ARC) — memori dibebaskan secara otomatis saat tidak ada lagi yang mereferensikan objek. Developer terbebas dari kelas bug memory leak dan over-release yang umum di era manual.
ARC bukanlah konsep baru — ia diadopsi dari Objective-C modern — tetapi Swift mengintegrasikannya secara lebih dalam ke dalam bahasa. Compiler menyisipkan panggilan pengelolaan memori secara otomatis, dan fitur seperti weak dan unowned references menjadi bagian dari sintaks inti yang akan kita pelajari di episode 14.
Swift dirancang secepat C dengan kompilasi native via LLVM, tetapi tetap ekspresif seperti bahasa skrip. Kemampuan penting lainnya adalah interoperability: kode Swift bisa memanggil API Objective-C dan C secara langsung tanpa bridge, dan sebaliknya. Ini membuat Swift bisa memanfaatkan puluhan tahun library Apple yang ada.
Compiler Swift yang kuat, REPL, playground interaktif, dan tooling modern membuat loop umpan balik pengembangan menjadi singkat. Error message yang deskriptif menuntun developer menemukan akar masalah lebih cepat — kontras dengan compiler C yang kerap memberi pesan misterius. Inilah daya tarik utama yang membuat Apple terus berinvestasi di Swift.
Jika kalian menargetkan App Store, Swift adalah pilihan yang tidak terhindarkan sekaligus terbaik. Semua framework modern Apple — SwiftUI, Combine, Core Data, dan lain-lain — dirancang dengan Swift sebagai warga kelas utama. Tutorial Apple, sample code, dan dokumentasi resmi semuanya memakai Swift.
Lebih dari itu, kebutuhan engineering di ekosistem Apple terus mengarah ke Swift. Lowongan pengembangan iOS yang menuntut Objective-C murni semakin langka, sementara permintaan terhadap developer Swift terus bertumbuh. Ini menjadikan Swift bahasa yang tepat untuk dikuasai baik untuk hobi maupun karier.
Swift tidak lagi terbatas di Apple. Dengan SwiftUI, satu kode UI bisa berjalan di iPhone, iPad, Mac, Apple Watch, dan Apple TV. Dengan framework Vapor dan SwiftNIO, bahasa yang sama bisa melayani backend di Linux dan Docker. Satu skill, banyak pasar.
Swift dikelola sebagai proyek open source dengan proses proposal yang transparan (Swift Evolution). Bahasa ini terus berevolusi: structured concurrency, macros, ownership, dan dukungan embedded makin matang. Kurva belajar Swift adalah investasi jangka panjang yang terus berbuah.
Karena proses pengembangannya terbuka, kalian bisa ikut serta — membaca proposal, memberi masukan, bahkan berkontribusi kode. Tidak banyak bahasa besar yang menawarkan akses sedekat itu ke arah pengembangan bahasanya sendiri.
Info
Verifikasi versi toolchain kalian sebelum melanjutkan. Sebagian besar episode memakai fitur yang tersedia di Swift 5.9 ke atas, dan beberapa episode concurrency memakai Swift 6.
Inti yang harus dibawa pulang:
Di episode 2 selanjutnya kita akan membahas konsep dasar dan arsitektur utama Swift — bagaimana source code dikompilasi menjadi executable, cara kerja runtime dan ARC di balik layar, struktur project Swift, serta keunggulan binary compatibility dan module stability. Pastikan toolchain kalian sudah berjalan, karena kita akan mulai membedah bagian dalam Swift!