Apple, Swift Build'ü açık kaynak yaptı
(swift.org)- Swift, çeşitli platformları destekleyen bir dil olarak popülerlik kazanıyor ve farklı gömülü cihazlar ile işletim sistemlerinde kullanılabiliyor
- Apple, Swift Build adlı güçlü ve ölçeklenebilir build motorunu açık kaynak olarak yayımladı
- Swift Build, Xcode'un build motoru olarak kullanılıyor ve "App Store uygulamaları ile Apple'ın kendi işletim sistemlerinin build süreçlerinde" de kullanılıyor.
- Linux ve Windows hedef build'lerini de destekliyor
-
Swift Build'ün temel özellikleri
- Build sistemi, proje tanımı ve kaynak kodu komut satırı araçları, kütüphaneler ve uygulamalar gibi çıktılara dönüştürür
- Swift Build, Swift Package Manager veya Xcode gibi üst düzey istemcilerin talep ettiği build'leri planlayan ve çalıştıran bir altyapı bileşenidir
- Swift derleyicisiyle güçlü entegrasyonu sayesinde Swift projelerinin build sürecini güvenilir ve verimli biçimde koordine eder
- Farklı ürün türlerini destekler ve gelişmiş build yapılandırma seçenekleri sunar
- Swift ve C kodu build edilirken paralelliği en üst düzeye çıkaran build grafiği optimizasyonlarını içerir
-
Swift Build'ün yol haritası
- Xcode'un build motoruyla karşılaştırıldığında, Swift Package Manager'ın build motoru görece daha basittir
- Apple platformlarında paket build etmek için iki farklı yöntem bulunması kullanıcılar için kafa karışıklığı yaratıyordu
- Apple, bu sorunları çözmek için Xcode'un build motorunu Swift projesine katkı olarak sunmayı ve Swift derleyicisiyle birlikte açık kaynak olarak geliştirmeyi hedefliyor
- Böylece SwiftPM, tüm platformlarda birleşik bir build yürütme motoru sunma fırsatı elde edecek
- Bu değişiklik kullanıcılar açısından şeffaf olacak ve mevcut tüm paketlerle tam uyumluluk korunacak
- Ayrıca tüm platformlar ve araçlar genelinde yeni özellikler ile iyileştirmeler sunabilmek için bir temel oluşturacak
- Swift Build'ün SwiftPM için alternatif build motoru olarak entegre edilmesine yönelik bir PR gönderildi
- Toplulukla birlikte çalışarak, tüm platformlar ve proje modellerinde gelecekteki araç iyileştirmelerinden yararlanılabilmesi için build sistemi entegrasyonunun tamamlanması hedefleniyor
-
Katkı çağrısı
- Swift kodunun build edilme biçimini geliştirmeye devam etmek için toplulukla iş birliği yapılması bekleniyor
- GitHub'daki Swift organizasyonunda
swift-builddeposu bulunabiliyor; burada build ve katkı yöntemlerini açıklayan README ile belgeler yer alıyor - Pull request ve issue'lar üzerinden katkılar memnuniyetle karşılanıyor; ayrıca Swift forumlarında iyileştirmelere yönelik geri bildirim ve fikirler bekleniyor
- Bunun, Swift'in build sistemi için heyecan verici yeni bir dönem olduğu ve Swift'in tüm potansiyelini ortaya çıkarmaya yardımcı olacağı düşünülüyor.
4 yorum
https://llvm.org/devmtg/2016-11/… belgesinin 12. sayfası önemli kısım gibi görünüyor.
Geleneksel UNIX derleyici/build sistemi modeli
• Derleyici ayrı bir süreç olarak çalışır
• Bağımlılıkları iletmek için ilkel mekanizmalar
• Komut satırı tarafından tanımlanan sabit giriş/çıkış hattı
• Bu bir API ...
• ... ve bunu onlarca yıldır değiştirmedik
• API'leri bozmayı ❤ seviyoruz
Java tarafında, kodlar arasındaki bağımlılıkları bildiren bir API var gibi görünüyor; bu da build araçlarına incremental build'in nasıl yapılacağını söylemelerini sağlıyor,
ör: Gradle
Görünüşe göre Native build tarafında da bu yöntemin uygulanacağı bir yöne gitmek gerekiyor.
Yani... Özetlemek gerekirse, xcode şu anda da olduğu gibi hâlâ çöp, öyle mi?
hıçkırık
zzz
Hacker News görüşleri
Swift'in "her şey için iyi ama Apple platformlarında daha iyi" şeklinde algılanması dile zarar verebilir. Bu, Swift ekosistemine daha fazla insan çekemiyor
Swift harika bir dil
Swift'in durumu bana C#'ın ilk dönemlerini hatırlatıyor
Swift'in Apple'ın LLVM fork'u yerine genel LLVM üzerine inşa edilmesini isterdim
Swift, Xcode'dan ayrışmayı hedeflemeli
SwiftPM'in yeni sürümü, tüm platformlarda birleşik bir build yürütme motoru sunma fırsatı veriyor
Xcode olmadan Swift geliştirmenin yolunu açıp açamayacağını merak ediyorum
Swift build'in Swift'in araçları ve dil sunucusuyla ne kadar iyi entegre olduğu net değil
Swift'in Apple'dan bağımsızlaşmasına seviniyorum
URLSession.shared.dataLinux'ta derlenmediği için başka bir dile geçtiğim bir deneyimim olduSwift'in gömülü sistemler konusunda ne kadar ciddi olduğunu merak ediyorum