5 poin oleh GN⁺ 2025-02-02 | 4 komentar | Bagikan ke WhatsApp
  • Swift semakin populer sebagai bahasa yang mendukung berbagai platform, dan dapat digunakan di beragam perangkat embedded serta sistem operasi
  • Apple merilis Swift Build, sebuah build engine yang kuat dan dapat diperluas, sebagai open source
  • Swift Build digunakan sebagai build engine di Xcode, dan juga dimanfaatkan untuk "membangun aplikasi App Store serta sistem operasi Apple sendiri".
    • Juga mendukung build target Linux dan Windows
  • Fitur utama Swift Build

    • Build system berperan mengubah deskripsi proyek dan source code menjadi keluaran seperti alat command line, library, dan aplikasi
    • Swift Build adalah komponen infrastruktur yang merencanakan dan menjalankan build yang diminta oleh klien tingkat atas seperti Swift Package Manager atau Xcode
    • Melalui integrasi yang kuat dengan kompiler Swift, Swift Build mengoordinasikan build proyek Swift secara andal dan efisien
    • Mendukung berbagai jenis produk dan menyediakan opsi konfigurasi build tingkat lanjut
    • Mencakup optimasi build graph untuk memaksimalkan paralelisme saat membangun kode Swift dan C
  • Roadmap Swift Build

    • Dibandingkan dengan build engine Xcode, build engine Swift Package Manager relatif lebih sederhana
    • Dua metode berbeda untuk membangun paket di platform Apple menimbulkan kebingungan bagi pengguna
    • Apple ingin menyelesaikan masalah ini dengan menghadirkan build engine Xcode ke proyek Swift dan mengembangkannya sebagai open source bersama kompiler Swift
    • SwiftPM mendapat peluang untuk menyediakan unified build execution engine di semua platform
    • Perubahan ini akan transparan bagi pengguna dan tetap menjaga kompatibilitas penuh dengan semua paket yang ada
    • Ini menjadi fondasi untuk menghadirkan fitur baru dan peningkatan di seluruh platform dan alat
    • Mengajukan PR untuk mengintegrasikan Swift Build sebagai build engine pengganti di SwiftPM
    • Bekerja sama dengan komunitas untuk menyelesaikan integrasi build system agar semua platform dan model proyek dapat memperoleh manfaat dari peningkatan tooling di masa depan
  • Undangan untuk berpartisipasi

    • Apple menantikan kerja sama dengan komunitas untuk terus mengembangkan cara membangun kode Swift.
    • Repositori swift-build dapat ditemukan di organisasi Swift di GitHub, lengkap dengan README dan dokumentasi yang menjelaskan cara build dan berkontribusi.
    • Kontribusi melalui pull request dan issue sangat disambut, dan Apple juga ingin menerima masukan serta ide peningkatan di forum Swift.
    • Ini adalah babak baru yang menarik bagi build system Swift, dan diharapkan akan membuka seluruh potensi Swift.

4 komentar

 
ganadist 2025-02-03

Sepertinya yang penting adalah halaman 12 dari https://llvm.org/devmtg/2016-11/….

Model compiler/build system UNIX tradisional
• Compiler berjalan sebagai proses terpisah
• Mekanisme primitif untuk mengomunikasikan dependensi
• Pipeline input/output tetap yang didefinisikan lewat command line
• Ini adalah sebuah API ...
• ... dan kita tidak mengubahnya selama puluhan tahun
• Kami ❤ merusak API

Di sisi Java tampaknya ada API yang memberi tahu dependensi antarkode, sehingga build tools dapat diberi tahu bagaimana incremental build bisa dilakukan,
contoh: Gradle

Sepertinya kita juga perlu bergerak ke arah menerapkan metode tersebut pada build native.

 
nemorize 2025-02-02

Jadi... singkatnya, maksudnya Xcode tetap sampah seperti sekarang, ya?
sobs

 
roxie 2025-02-02

zzz

 
GN⁺ 2025-02-02
Pendapat Hacker News
  • Persepsi bahwa Swift itu "bagus untuk segala hal, tetapi lebih bagus untuk platform Apple" bisa merugikan bahasa ini. Hal itu gagal menarik lebih banyak orang ke ekosistem Swift

    • Para pesaing lebih open source, punya lebih banyak kontributor, dan cakupannya lebih sempit
    • Jika alat seperti Xcode tidak dijadikan open source, kesenjangan dengan bahasa lain akan makin besar
  • Swift adalah bahasa yang keren

    • Saat terjadi error "index out of range", pesan error tidak memberi tahu di mana error itu terjadi
    • Golang memberi tahu file dan nomor baris tempat error terjadi
  • Situasi Swift mengingatkan pada masa awal C#

    • C# juga dipromosikan sebagai open source dan lintas platform, tetapi tidak memenuhi harapan
  • Semoga Swift dibangun di atas LLVM umum, bukan fork LLVM milik Apple

  • Swift harus menargetkan pemisahan dari Xcode

    • Xcode terkesan terlalu dilebih-lebihkan dengan nilai 3.1
  • Rilis baru SwiftPM memberi peluang untuk menyediakan mesin eksekusi build yang terintegrasi di semua platform

    • Ini akan menjadi kunci untuk membangun ekosistem multiplatform Swift
  • Menarik untuk melihat apakah ini bisa membuka jalan bagi pengembangan Swift tanpa Xcode

  • Belum jelas seberapa baik Swift Build terintegrasi dengan tool Swift dan language server-nya

    • Language server-nya sudah open source
  • Senang melihat Swift makin independen dari Apple

    • Ada pengalaman beralih ke bahasa lain dalam proyek lintas platform karena URLSession.shared.data tidak bisa dikompilasi di Linux
  • Penasaran apakah Swift benar-benar serius untuk sistem embedded