1 poin oleh GN⁺ 2025-05-19 | 1 komentar | Bagikan ke WhatsApp
  • XTool adalah alat pengembangan lintas platform yang dapat menggantikan fungsi Xcode di berbagai sistem operasi
  • Dengan memanfaatkan SwiftPM, build dan deployment aplikasi iOS dapat dilakukan di Linux, Windows, dan macOS
  • Pengembang dapat terhubung secara terprogram dengan Apple Developer Services
  • Menyediakan subcommand berbasis CLI untuk pengelolaan perangkat, instalasi, menjalankan aplikasi, dan lainnya
  • Melalui library XKit, fitur dapat digunakan langsung dari dalam aplikasi

Pengenalan proyek XTool

  • XTool adalah tool pengembangan lintas platform yang menyediakan fungsi serupa Xcode, dan berjalan di Linux, WSL, serta macOS
  • Berbeda dari Xcode yang ada saat ini, di Windows dan Linux pun paket SwiftPM dapat di-build menjadi aplikasi iOS lalu ditandatangani dan diinstal ke perangkat nyata
  • Pengembang dapat melakukan integrasi terprogram dengan Apple Developer Services, sehingga lingkungan pengembangan iOS bisa dibangun meski bukan di macOS

Fitur utama

  • Mendukung build paket SwiftPM dan konversi ke aplikasi iOS
  • Memungkinkan penandatanganan (Sign) dan instalasi (Install) aplikasi iOS
  • Integrasi Apple Developer Services: menyediakan fungsi autentikasi dan pemanfaatan layanan

Contoh penggunaan utama

Antarmuka baris perintah

  • xtool menyediakan berbagai fitur untuk pengembangan, perangkat, pengaturan, dan lainnya melalui beragam subcommand
    • setup: menyiapkan lingkungan pengembangan iOS
    • auth: mengelola autentikasi pengembang Apple
    • sdk: mengelola Darwin Swift SDK
    • new: membuat proyek SwiftPM baru
    • dev: build dan menjalankan proyek
    • ds: berinteraksi dengan Apple Developer Services
    • devices: melihat daftar perangkat
    • install: menginstal file ipa ke perangkat
    • uninstall: menghapus aplikasi
    • launch: menjalankan aplikasi yang terpasang di perangkat

Pemanfaatan library XTool (KIT)

  • Dengan mendaftarkan library XKit sebagai dependensi SwiftPM, fitur seperti Apple Developer Services dan kontrol perangkat iOS dapat dipanggil langsung dari aplikasi yang sedang dikembangkan
  • Pengembang Swift dapat mengintegrasikannya dengan mudah ke dalam proyek hanya melalui deklarasi .package() dan .product()

Ringkasan keunggulan

  • Pengembangan dan deployment aplikasi iOS dimungkinkan di berbagai platform seperti Linux dan Windows, tidak hanya di macOS
  • Dapat diintegrasikan dengan berbagai tool pengembangan seperti VSCode
  • Berbasis open standard dan mendukung alur pengembangan yang umum serta terotomatisasi
  • Memiliki nilai tinggi sebagai alternatif saat Xcode tidak bisa digunakan

1 komentar

 
GN⁺ 2025-05-19
Komentar Hacker News
  • Alat ini mengatakan "pengganti Xcode" dan "pengembangan tanpa Xcode", tetapi menurut saya mustahil membangun aplikasi tanpa Xcode. Setelah saya mencari lebih jauh bagaimana mereka menggantikan hal-hal seperti library atau compiler, ternyata tidak demikian. Mereka mengatakan, "tidak menggunakan sistem build Xcode, tetapi instalasi Xcode tetap diperlukan untuk iOS SDK dan toolchain." Menurut saya pesan mereka harus dibuat lebih jelas. Ini bukan pengganti atau alternatif penuh, melainkan sebuah lapisan di atas sistem yang ada untuk menghadirkan pengalaman yang lebih baik

    • Saya rasa ada beberapa konsep berbeda yang tercampur di sini. Ini bukan sekadar lapisan di atas Xcode/xcodebuild, melainkan Apple memang saat ini mendistribusikan semua hal terkait iOS/Swift bersama rilis Xcode. Bahkan jika Anda tidak peduli pada IDE Xcode atau sistem build xcodebuild, Xcode tetap diperlukan karena itu satu-satunya cara untuk mengunduh dan memasang toolchain. Apple sebenarnya bisa menyediakan toolchain ini secara terpisah, tetapi tidak melakukannya
  • JetBrains dulu pernah mengembangkan AppCode. AppCode adalah IDE cerdas untuk pengembangan iOS/macOS, tetapi sejak 14 Desember 2022 sudah tidak lagi ditawarkan sebagai produk komersial

    • Sekarang tampaknya Fleet akan mendukung build aplikasi Xcode, tetapi ini terasa seperti kemunduran dibanding era AppCode. Saat ini Fleet belum bisa mengompilasi aplikasi macOS saya. Saya mencobanya setiap ada pembaruan, tetapi tidak ada banyak alternatif
    • Ini tidak membantu untuk bagian ObjC, tetapi bagian Swift dipindahkan dan dipisahkan menjadi plugin CLion. Sayangnya hal-hal terkait ObjC sepertinya dibuang ke /dev/null
  • Ini adalah komentar yang merujuk ke https://forums.swift.org/t/… dan thread diskusi HN https://news.ycombinator.com/item?id=43952239

  • Secara teoretis, saya penasaran apakah alat ini memungkinkan pengembang aplikasi Flutter membangun dan menerapkan aplikasi iOS dari Linux. Saya benar-benar berharap demikian

    • Secara teknis, setahu saya ini melanggar Apple Developer Agreement. Terlihat seperti bahan untuk gugatan lain
    • Proyek ini memang membantu, tetapi ini saja belum cukup. 1. Dart masih belum bisa cross-compile dari Linux ke iOS. Sebagai alternatif bisa memakai interpreter Dart, tetapi ada penurunan performa besar. 2. Proyek Flutter iOS memakai format proyek Xcode, jadi perlu migrasi ke format xtool. 3. Ekosistem plugin Flutter belum sepenuhnya pindah dari CocoaPods ke SwiftPM, sehingga plugin yang belum dimigrasikan ke SwiftPM tidak kompatibel dengan xtool
    • Setahu saya ini sudah dimungkinkan dengan darling. Di Nixpkgs juga ada alternatif xcbuild, tetapi saya tidak yakin soal dukungan code signing
    • Lebih baik memakai layanan yang sudah ada seperti CodeMagic. Tidak perlu mengambil risiko akun Apple dibekukan
  • xcode adalah alat yang harus diunduh selama 9 jam setiap beberapa bulan dan gemar mengutak-atik file XML dan plist. Ya, xcode yang itu

  • Ini mengingatkan saya pada Sweetpad. Proses pemasangan Sweetpad agak merepotkan. XTool tampaknya menawarkan developer experience (DX) yang lebih baik. Semoga proyek ini terus berkembang

    • XTool juga mirip dengan XcodeGen dalam hal mendefinisikan informasi proyek dalam format yaml
  • Sebelumnya juga sudah ada pembahasan tentang "membangun aplikasi iOS di Linux dan Windows". Lihat https://news.ycombinator.com/item?id=43952239

  • Saya melihat nama organisasi Github-nya adalah "xtool-org". Saya penasaran apakah perusahaan bernama XTool (pembuat teknologi laser engraver dan crafting) akan mempermasalahkan ini

  • Akan keren jika ada juga fitur pratinjau langsung untuk antarmuka berbasis Swift UI sebagai alat serupa yang terpisah dari XCode

  • Ada ikon vscode di tangkapan layar?

    • Benar. Alat ini adalah aplikasi command line yang hanya berperan mengganti alat build. Ini bukan IDE, jadi kode dikerjakan di editor apa pun yang Anda inginkan