- XTool là công cụ phát triển đa nền tảng có thể thay thế các chức năng của Xcode trên nhiều hệ điều hành
- Có thể build và triển khai ứng dụng iOS trên Linux, Windows, macOS bằng SwiftPM
- Nhà phát triển có thể tích hợp theo cách lập trình với Apple Developer Services
- Cung cấp các subcommand dựa trên CLI như quản lý thiết bị, cài đặt, chạy ứng dụng
- Có thể sử dụng trực tiếp các tính năng bên trong ứng dụng bằng thư viện XKit
Giới thiệu dự án XTool
- XTool là công cụ phát triển đa nền tảng cung cấp các chức năng tương tự Xcode, hoạt động trên Linux, WSL, macOS
- Khác với Xcode hiện có, trên Windows và Linux cũng có thể build gói SwiftPM thành ứng dụng iOS và ký, cài đặt lên thiết bị thật
- Nhà phát triển có thể tích hợp theo cách lập trình với Apple Developer Services, nhờ đó có thể thiết lập môi trường phát triển iOS ngay cả khi không dùng macOS
Tính năng chính
- Hỗ trợ build gói SwiftPM và chuyển đổi thành ứng dụng iOS
- Có thể ký (Sign), cài đặt (Install) ứng dụng iOS
- Tích hợp Apple Developer Services: cung cấp chức năng xác thực và sử dụng dịch vụ
Ví dụ sử dụng tiêu biểu
Giao diện dòng lệnh
xtool cung cấp các chức năng như phát triển, thiết bị, cấu hình... thông qua nhiều subcommand
setup: thiết lập môi trường phát triển iOS
auth: quản lý xác thực nhà phát triển Apple
sdk: quản lý Darwin Swift SDK
new: tạo dự án SwiftPM mới
dev: build và chạy dự án
ds: tương tác với Apple Developer Services
devices: xem danh sách thiết bị
install: cài file ipa lên thiết bị
uninstall: xóa ứng dụng
launch: chạy ứng dụng đã cài trên thiết bị
Sử dụng thư viện XTool (KIT)
- Có thể đăng ký thư viện XKit làm dependency của SwiftPM để gọi trực tiếp các chức năng như Apple Developer Services, điều khiển thiết bị iOS trong ứng dụng đang phát triển
- Nhà phát triển Swift có thể dễ dàng tích hợp vào dự án chỉ với khai báo
.package() và .product()
Tóm tắt ưu điểm
- Không chỉ trên macOS mà còn có thể phát triển và triển khai ứng dụng iOS trên nhiều nền tảng như Linux, Windows
- Có thể tích hợp với nhiều công cụ phát triển như VSCode
- Dựa trên open standard và hỗ trợ quy trình phát triển phổ quát, tự động hóa
- Có giá trị cao như phương án thay thế khi không thể dùng Xcode
1 bình luận
Ý kiến trên Hacker News
Công cụ này nói là "thay thế Xcode" và "phát triển không cần Xcode", nhưng tôi nghĩ là không thể build app mà không có Xcode. Tìm hiểu thêm xem họ thay thế những thứ như thư viện hay compiler như thế nào thì hóa ra không phải vậy. Họ nói rằng "không dùng hệ thống build của Xcode, nhưng vẫn cần cài Xcode để có iOS SDK và toolchain". Tôi nghĩ họ nên truyền đạt rõ ràng hơn. Đây không phải đồ thay thế hay phương án thay thế hoàn chỉnh, mà là một lớp đặt lên trên hệ thống hiện có để mang lại trải nghiệm tốt hơn
JetBrains trước đây từng phát triển AppCode. AppCode là một IDE thông minh cho phát triển iOS/macOS, nhưng từ ngày 14 tháng 12 năm 2022 thì không còn được cung cấp như một sản phẩm thương mại nữa
/dev/nullĐây là ý kiến tham khảo từ https://forums.swift.org/t/… và bài thảo luận HN https://news.ycombinator.com/item?id=43952239
Về mặt lý thuyết, tôi tự hỏi liệu công cụ này có thể cho phép lập trình viên Flutter build và triển khai app iOS trên Linux hay không. Tôi thực sự hy vọng là được
xcode là thứ mà cứ vài tháng lại phải tải suốt 9 tiếng, rồi đi sửa lung tung các file XML và plist. Đúng là cái Xcode đó đấy
Nó làm tôi nhớ đến Sweetpad. Sweetpad có quy trình cài đặt hơi rườm rà. Có vẻ XTool mang lại trải nghiệm lập trình viên (DX) tốt hơn. Hy vọng dự án này sẽ phát triển thêm
Trước đây cũng đã có bàn luận về chuyện "build app iOS trên Linux và Windows". Xem https://news.ycombinator.com/item?id=43952239
Tôi thấy tên tổ chức Github là "xtool-org". Tò mò không biết công ty XTool (hãng làm máy khắc laser và công nghệ thủ công) có xem đây là vấn đề hay không
Sẽ rất tuyệt nếu cũng có một công cụ tương tự nhưng tách khỏi XCode, đồng thời có cả tính năng preview thời gian thực cho giao diện dựa trên Swift UI
Trong ảnh chụp màn hình có biểu tượng vscode à?