5 puan yazan GN⁺ 2025-02-02 | 4 yorum | WhatsApp'ta paylaş
  • 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-build deposu 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

 
ganadist 2025-02-03

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.

 
nemorize 2025-02-02

Yani... Özetlemek gerekirse, xcode şu anda da olduğu gibi hâlâ çöp, öyle mi?
hıçkırık

 
roxie 2025-02-02

zzz

 
GN⁺ 2025-02-02
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

    • Rakipleri daha açık kaynak odaklı, daha fazla katkı sağlayana sahip ve kapsamları daha dar
    • Xcode gibi araçlar açık kaynak yapılmazsa diğer dillerle aradaki fark büyüyecek
  • Swift harika bir dil

    • "index out of range" hatasında, hata mesajı bunun nerede oluştuğunu söylemiyor
    • Golang, hatanın oluştuğu dosya ve satır numarasını söylüyor
  • Swift'in durumu bana C#'ın ilk dönemlerini hatırlatıyor

    • C# da açık kaynak ve çapraz platform olarak tanıtılmıştı, ancak beklentileri karşılamadı
  • Swift'in Apple'ın LLVM fork'u yerine genel LLVM üzerine inşa edilmesini isterdim

  • Swift, Xcode'dan ayrışmayı hedeflemeli

    • Xcode, 3.1 puanla olduğundan fazla değer görüyor olabilir
  • SwiftPM'in yeni sürümü, tüm platformlarda birleşik bir build yürütme motoru sunma fırsatı veriyor

    • Bu, Swift'in çok platformlu ekosistemini kurmanın anahtarı olabilir
  • 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

    • Dil sunucusu zaten açık kaynak
  • Swift'in Apple'dan bağımsızlaşmasına seviniyorum

    • Çapraz platform bir projede URLSession.shared.data Linux'ta derlenmediği için başka bir dile geçtiğim bir deneyimim oldu
  • Swift'in gömülü sistemler konusunda ne kadar ciddi olduğunu merak ediyorum