- XTool, Xcode işlevlerini birden fazla işletim sisteminde yerine getirebilen çapraz platform geliştirme aracıdır
- SwiftPM kullanarak Linux, Windows ve macOS üzerinde iOS uygulaması derleme ve dağıtım mümkündür
- Geliştiriciler Apple Developer Services ile programatik olarak entegre olabilir
- Cihaz yönetimi, kurulum ve uygulama çalıştırma gibi CLI tabanlı alt komutlar sunar
- XKit kütüphanesiyle uygulama içinden doğrudan özelliklerden yararlanılabilir
XTool proje tanıtımı
- XTool, Xcode'a benzer işlevler sunan bir çapraz platform geliştirme aracıdır ve Linux, WSL ve macOS üzerinde çalışır
- Mevcut Xcode'dan farklı olarak Windows ve Linux'ta da SwiftPM paketlerini iOS uygulamasına derleyebilir ve gerçek cihazlara imzalayıp kurabilir
- Geliştiriciler Apple Developer Services ile programatik entegrasyon sağlayabilir ve macOS olmasa bile iOS geliştirme ortamı kurabilir
Başlıca özellikler
- SwiftPM paketi derleme ve iOS uygulamasına dönüştürme desteği
- iOS uygulamalarını imzalama(Sign), kurma(Install) imkanı
- Apple Developer Services entegrasyonu: kimlik doğrulama ve hizmetlerden yararlanma özellikleri sunar
Temel kullanım örnekleri
Komut satırı arayüzü
xtool, çeşitli alt komutlar aracılığıyla geliştirme, cihaz ve yapılandırma gibi işlevler sunar
setup: iOS geliştirme ortamı kurulumu
auth: Apple geliştirici kimlik doğrulamasını yönetme
sdk: Darwin Swift SDK yönetimi
new: yeni SwiftPM projesi oluşturma
dev: projeyi derleme ve çalıştırma
ds: Apple Developer Services ile etkileşim
devices: cihaz listesini görüntüleme
install: ipa dosyasını cihaza kurma
uninstall: uygulamayı kaldırma
launch: cihazdaki kurulu uygulamayı çalıştırma
XTool kütüphanesi (KIT) kullanımı
- XKit kütüphanesini SwiftPM bağımlılığı olarak ekleyerek, geliştirilmekte olan uygulama içinden Apple Developer Services, iOS cihazları kontrolü gibi işlevler doğrudan çağrılabilir
- Swift geliştiricileri yalnızca
.package() ve .product() bildirimleriyle projeye kolayca entegre edebilir
Avantajların özeti
- Yalnızca macOS değil, Linux ve Windows gibi çeşitli platformlarda da iOS uygulama geliştirme ve dağıtımı mümkündür
- VSCode gibi çeşitli geliştirme araçlarıyla entegrasyon mümkündür
- Açık standartlar temelindedir ve genel amaçlı, otomasyon odaklı geliştirme akışını destekler
- Xcode kullanımının mümkün olmadığı durumlarda güçlü bir alternatif olarak değerlidir
1 yorum
Hacker News görüşleri
Bu araçta "Xcode alternatifi" ve "Xcode olmadan geliştirme" deniyor ama ben Xcode olmadan uygulama derlemenin imkansız olduğunu düşünüyorum. Kütüphane ve derleyici gibi şeyleri nasıl ikame ettiğini biraz daha araştırınca aslında durumun öyle olmadığını gördüm. "Xcode build system kullanılmıyor, ancak iOS SDK ve toolchain için Xcode kurulumu hâlâ gerekli" deniyor. Mesajlarını daha açık vermeleri gerektiğini düşünüyorum. Bu bir ikame ya da tam alternatif değil; mevcut sistemin üstüne eklenen ve daha iyi bir deneyim sunmayı hedefleyen bir katman
JetBrains geçmişte AppCode geliştiriyordu. AppCode, iOS/macOS geliştirme için akıllı bir IDE'ydi ancak 14 Aralık 2022'den itibaren artık ticari bir ürün olarak sunulmuyor
Bu yorum, https://forums.swift.org/t/… ve HN tartışma başlığı https://news.ycombinator.com/item?id=43952239 referans alınarak yazılmış
Teorik olarak bu araç sayesinde Flutter uygulaması geliştirenlerin Linux üzerinde iOS uygulaması derleyip dağıtıp dağıtamayacağını merak ediyorum. Gerçekten öyle olmasını isterim
xcode dediğin, birkaç ayda bir 9 saat süren indirmeler yaptıran ve XML·plist dosyalarını durmadan kurcalayan araç işte
Sweetpad'i hatırlatıyor. Sweetpad'in kurulum süreci biraz zahmetli. XTool daha iyi bir geliştirici deneyimi (DX) sunuyor gibi görünüyor. Bu projenin daha da büyümesini isterim
Daha önce de "Linux ve Windows'ta iOS uygulaması derleme" ile ilgili konuşmalar olmuştu. https://news.ycombinator.com/item?id=43952239 adresine bakın
Github organizasyon adının "xtool-org" olduğunu gördüm. XTool adlı şirketin (lazer oyma ve crafting teknolojileri üreten) bunu sorun edip etmeyeceğini merak ediyorum
XCode'dan bağımsız benzer bir araçta Swift UI tabanlı arayüzler için canlı önizleme özelliği de olsa harika olurdu
Ekran görüntüsünde vscode simgesi mi var?