10 poin oleh GN⁺ 2025-10-25 | 1 komentar | Bagikan ke WhatsApp
  • Seiring bahasa Swift makin matang dan meluas hingga cloud, Windows, browser, dan mikrokontroler, kini Swift SDK untuk Android telah diumumkan
  • SDK ini merupakan hasil dari upaya berbulan-bulan Swift Android workgroup, yang memungkinkan pengembang membuat aplikasi native Android dengan Swift
  • SDK disertakan dalam installer Windows atau dapat diunduh terpisah untuk Linux dan macOS, serta disediakan bersama kode contoh dan panduan
  • Melalui proyek swift-java, SDK ini mendukung interoperabilitas dua arah antara Swift dan Java, dengan pembuatan binding otomatis untuk memastikan performa dan keamanan
  • Rilis ini dinilai sebagai titik balik yang mempercepat perluasan ekosistem lintas platform Swift dan membuka kemungkinan baru dalam pengembangan mobile

Gambaran umum Swift SDK for Android

  • Dengan latar belakang bahasa Swift yang dalam 10 tahun terakhir telah meluas dari layanan cloud hingga Windows, browser, dan mikrokontroler, ekspansinya ke platform Android kini diresmikan
    • Berkat interoperabilitas (interoperability) Swift, berbagi kode antar berbagai platform menjadi lebih mudah
  • Android workgroup adalah grup terbuka yang dapat diikuti siapa saja, dengan tujuan memperluas Swift ke Android
  • Pengumuman ini menandai perilisan build nightly (preview) Swift SDK for Android, hasil kolaborasi panjang komunitas

Fitur utama SDK dan cara distribusi

  • Pengembang kini dapat langsung membuat aplikasi native Android menggunakan Swift
    • Ini membuka kemungkinan baru untuk pengembangan lintas platform
  • SDK dibundel dalam installer Windows, dan dapat diunduh terpisah untuk Linux dan macOS
  • Swift.org menyediakan panduan “Getting Started” untuk menjelaskan cara menyiapkan kode Swift di perangkat Android
    • Repositori Swift for Android Examples di GitHub mendemonstrasikan alur kerja aplikasi end-to-end

Kompatibilitas paket dan perluasan komunitas

  • Melalui Swift SDK, paket Swift yang sudah ada dapat diporting ke Android
    • Lebih dari 25% paket di Swift Package Index sudah mendukung build Android
    • Halaman Community Showcase menampilkan apakah suatu paket kompatibel dengan Android
  • Perluasan ini memperkuat dukungan multiplatform dalam ekosistem Swift

Proyek swift-java dan interoperabilitas

  • Proyek swift-java adalah library dan code generator yang menyediakan interoperabilitas (interoperability) antara Swift dan Java
    • Integrasi dua arah antara Swift dan Java ditangani secara otomatis, sekaligus menghasilkan binding yang aman dan berperforma tinggi
  • Dengan ini, pengembang dapat memindahkan business logic ke Android, dan detail terkait dapat dilihat dalam video presentasi Swift Server Side Meetup

Partisipasi komunitas dan roadmap ke depan

  • Rilis preview ini membuka peluang baru untuk peningkatan tool dan perluasan ekosistem
    • Pengguna didorong untuk membagikan pengalaman, ide, tool, dan aplikasi di kategori Android pada forum Swift
    • Pengumuman ini juga sedang dibahas dalam thread resmi di forum
  • Android workgroup saat ini sedang menyusun vision document, yang akan memaparkan area prioritas dan arah ke depan untuk Swift on Android
    • Project board digunakan untuk melacak perkembangan utama, dan sistem CI resmi mengelola kualitas SDK
  • Tim Swift mendorong partisipasi komunitas, dengan tujuan memperkuat posisi Swift di dalam ekosistem Android

1 komentar

 
GN⁺ 2025-10-25
Komentar Hacker News
  • Pertanyaan inti dari semua framework cross-platform adalah bagaimana menangani UI
    Jika memakai sistem desain yang terasa berbeda di tiap platform seperti Adobe Flex Builder, pada akhirnya kita harus mengimplementasikan sendiri nuansa native
    Flutter berusaha mereproduksi tema Cupertino di iOS dengan sempurna, sementara React Native memanfaatkan widget bawaan platform agar elemen seperti scroll terasa natural
    Sayang sekali tulisan blog tersebut tidak menyinggung bagian penting ini
    Walaupun Apple merilis Swift untuk Android, ada kemungkinan ia tetap terasa canggung di Android karena filosofi desain khas Apple
    Arah ke depannya tampaknya akan ditentukan oleh apakah proyek ini benar-benar dipimpin langsung oleh Apple, atau lebih merupakan upaya open source berbasis komunitas

    • Saya lebih menyukai framework yang memungkinkan menulis UI native daripada berbagi UI
      Karena itu saya suka KMP. Di iOS kita bisa menulis UI dengan SwiftUI, di Android dengan Kotlin, sambil hanya berbagi business logic
      Saat mencoba berbagi UI, yang terjadi justru mimpi buruk “tulis sekali, debug di semua tempat”
      Swift for Android tampaknya juga bisa memungkinkan berbagi logika di level bahasa dengan pendekatan seperti ini
    • Swift SDK for Android tidak memaksakan pendekatan UI tertentu
      Bahkan pada contohnya, Jetpack Compose tetap digunakan apa adanya sambil memanggil logika Swift
      Strukturnya juga mempertahankan model yang sama dengan model memori reference counting milik Swift sehingga terasa konsisten
      Dari sudut pandang Apple yang menangani developer tools, saya berharap teknologi ini bisa menjadi pijakan bagi inovasi baru
    • Seperti kasus Browser Company yang mem-porting SwiftUI ke Windows, ada kemungkinan SwiftUI di Android akan dipetakan ke Jetpack Compose
      SwiftUI pada dasarnya bukan “UI native”, melainkan bahasa deklaratif yang diinterpretasikan sistem untuk membuat UIView atau NSView
    • Rilis kali ini tidak mencakup pemindahan SwiftUI maupun UIKit ke Android
      Kecuali menyalinnya langsung seperti Flutter, menggunakan UI Apple apa adanya di Android itu tidak mungkin
    • Swift SDK tidak menentukan teknologi UI
      Sebagai gantinya, proyek seperti Skip.tools menjembatani SwiftUI ke Jetpack Compose
      Contohnya bisa dilihat di aplikasi Skip Showcase
      Saya adalah anggota produk Skip dan Swift Android Workgroup, serta ikut terlibat sebagai release manager untuk rilis SDK ini
  • Senang sekali ini diumumkan sebagai proyek resmi
    Saya pernah memakai RN dan Flutter, tetapi masalahnya selalu kurangnya nuansa native
    KMP juga ada, tetapi kebanyakan developer memulai dari iOS lalu memperluas ke Android
    Jika kode bisa dibagi lewat Swift Package, alur ini akan terasa jauh lebih natural

    • Jumlah developer Android jauh lebih banyak, dan distribusinya juga lebih sederhana
      Sebaliknya, developer Swift/Objective-C jauh lebih sedikit
      Di luar Amerika Serikat, pangsa iPhone lebih rendah, sehingga perusahaan cenderung berpikir dengan fokus Windows atau browser
    • Gagasan “mulai dari iOS” terasa seperti sudut pandang yang berpusat pada Amerika Serikat
      KMP sudah dipakai di aplikasi besar seperti Google Workspace, dan dengan investasi dari Kotlin serta JetBrains, tingkat kematangannya sudah tinggi
      Siklus rilis Flutter terlalu cepat sehingga sulit diikuti
    • Business logic berbasis JavaScript juga tidak bisa diabaikan
      Dengan JavaScriptCore atau QuickJS, logika bisa berjalan di iOS, Android, dan Web, serta mendukung hot reload
      Hanya saja, karena kebijakan app store, perubahan fitur besar sulit dilakukan, sehingga lebih cocok untuk perbaikan bug
      Dalam kenyataan bahwa siklus distribusi mobile itu lambat, saya rasa pendekatan ini adalah peluang besar
    • Di Proton, mereka berbagi lebih dari 80% logika dengan Rust, dan sisanya diimplementasikan per platform
    • Sebenarnya struktur seperti ini sudah dimungkinkan oleh .NET dan MvvmCross
      Struktur proyek berupa shared core library + proyek UI native untuk tiap platform bekerja dengan baik
  • Saya penasaran apakah ini proyek yang terkait dengan transpiler SKIP yang saya lihat di blog Skip.tools
    Saya ingin memindahkan aplikasi SwiftUI ke Android tetapi ingin menghindari RN

    • Betul, Skip sudah lebih dari setahun memakai versi preview Swift SDK, dan lewat mode Fuse membangun aplikasi SwiftUI native sepenuhnya untuk Android
      Skip memiliki dua mode: mode Lite yang mengubah kode Swift menjadi Kotlin, dan mode Fuse yang langsung mengompilasi Swift untuk Android
      Kedua mode ini bisa dipakai bersama untuk integrasi dengan ekosistem Kotlin seperti Lottie dan Firebase
      Perbandingan lebih lengkap bisa dilihat di Skip Docs
      Senang sekali sekarang ada SDK resmi sehingga kami bisa memakai versi resmi alih-alih build buatan sendiri
    • Skip adalah salah satu kontributor utama dalam upaya ini
    • Sekarang menjalankan Swift native dimungkinkan tanpa transpiler, dan kompatibilitasnya juga jauh lebih baik
  • Semoga ini tidak berakhir hanya sebagai pembuktian konsep sederhana seperti Swift Embedded
    Swift memang indah sebagai bahasa, tetapi ada suasana tidak nyaman terkait kepemimpinan komunitasnya

    • guard let self = self else { return } — lelucon yang akrab bagi developer Swift
  • Saya sudah tidak ingin melihat RN dan Flutter lagi
    Lelah dengan UI yang kaku dan respons sentuhan yang lambat

    • Di Flutter pun radius sudut bisa diatur, dan performanya juga cepat
      Jika responsnya lambat, kemungkinan besar masalahnya ada pada implementasi aplikasinya
    • Saya juga tidak terlalu suka RN dan Flutter, tetapi tidak ada jaminan Swift on Android akan lebih baik daripada mereka
      Apple juga bisa saja segera kehilangan minat
  • “You got Kotlin in my iOS.”
    “You got Swift in my Android.” — ungkapan yang cerdas

    • Analogi yang sempurna. Mungkin benar-benar akan muncul hibrida campuran Kotlin dan Swift seperti iklan Reese’s
    • Kotlin on iOS dikompilasi secara statis dan berinteroperasi secara native dengan Swift/ObjC
      Lihat ringkasan Kotlin Native
  • Pengumuman kali ini tampak seperti bukti keberhasilan dari sistem Swift SDK yang baru
    Dulu dukungan platform lain rumit karena tersangkut CMake, tetapi sekarang selama mengikuti aturan SDK, tampaknya bisa di-port ke platform apa pun
    Setelah Android, ini juga akan meluas ke Linux, wasm, embedded, dan segera Windows
    Interoperabilitas dengan JVM memang belum sepenuhnya matang, tetapi jelas independensi platform telah meningkat

  • Saya suka Kotlin Multiplatform, tetapi Swift for Android juga menarik
    Berbagi library native Swift untuk pekerjaan yang sensitif terhadap memori tampaknya akan berguna
    Namun untuk memindahkan seluruh business logic ke Swift, KMP masih terasa lebih matang saat ini

    • Apakah Anda juga pernah membuat aplikasi desktop dengan KMP, dan bagaimana tingkat kematangannya secara keseluruhan?
  • Berbagi business logic sebenarnya sudah merupakan masalah yang terpecahkan
    Penderitaan yang sesungguhnya adalah harus menulis UI dua kali
    Yang dibutuhkan adalah framework UI bersama yang tidak terasa merepotkan seperti React Native

    • React Native belakangan menjadi jauh lebih baik setelah beralih ke New Architecture
      Jika dipakai bersama Expo, pengalaman developernya banyak meningkat
  • Saya sudah lama berbagi kode antara Android dan iOS, tetapi berbagi UI selalu menjadi mimpi buruk
    Saya hanya berbagi logika yang kompleks lewat C/C++/Rust, tetapi pada akhirnya jadi memakai tiga bahasa sekaligus
    KMP dan Swift for Android memungkinkan semuanya dibagi hanya dengan Kotlin/Swift, jadi jauh lebih rapi
    Pendekatan seperti ini jauh lebih realistis dan efisien dibanding framework yang memaksa berbagi UI