Rust ekosisteminde bir paradigma değişikliği yaratacak şekilde, Rust'un paket yöneticisi Cargo'nun arkasındaki ekip, paket yönetimine daha kişiselleştirilmiş bir yaklaşım çağrısında bulundu. Geliştiricilerin, Cargo.lock dosyalarını ikili dosyalar içeren ancak kütüphaneleri içermeyen paketler için işlemek şeklindeki önceki tek tip uygulama yerine, projeleri için en iyi kararları vermelerini öneriyorlar.
Önceki tavsiyeler, geliştiricilerin Cargo.lock söz konusu olduğunda, özellikle de dosyanın ikili paketlerle kullanıldığı durumlarda herkese uyan tek boyut kuralına bağlı kalmalarını teşvik ediyordu. Ancak bu direktifler artık ikinci planda kalmıştır. Bu yansıtıcı değişiklik, Rust'un ana akım benimsemeye doğru gelişen gidişatının ardından geldi.
Cargo.lock dosyasının temel rolü, başarılı bir derleme sırasındaki durumu kaydetmektir. Cargo ekibi, daha esnek bir rehberlik sunarken, Cargo.lock uygulanmasının karar verme sürecinde başlangıç noktası olması gerektiğini savunuyor. Ayrıca 'cargo new' komutunun bundan sonra kütüphaneler için Cargo.lock'u bypass etmeyeceği açıklandı.
Genel kaliteyi koruyan ekip, en yeni bağımlılıklara karşı düzenli testlerin öneminin altını çiziyor. Eski prosedürler, kütüphanelerin güncel tutulmasını ve test edilmesini sağlayarak Rust paket ekosisteminin yüksek standardına katkıda bulundu. Uygulamalar, başta geriye dönük uyumluluk olmak üzere olası sorunların hızla tespit edilip çözülmesini sağlayacak şekilde tasarlandı. Bu nedenle ekip, gelişen ekosistemde bir 'kalite kültürünü' teşvik ettiğine inanıyor.
Ancak daha önceki rehberliğin bazı tuzakları vardı. Kod tabanlarından geçmişin silinmesi de bu tür sonuçlardan biriydi; bu da bakımcıların hataları ikiye ayırmasını ve temel nedenini belirlemesini zorlaştırdı. Önceki politikanın istenmeyen bir diğer sonucu da, bir bağımlılık kaldırıldığında veya yeni bir sürümde hata ortaya çıktığında, katkıda bulunanlar için güvenilmez bir CI'dan (sürekli entegrasyon) kaynaklanan olası kafa karışıklığıydı. Rust, erken benimseyenlere yönelik bir dil olmaktan çıkıp daha yaygın bir dil haline geldiğinden, yeni geliştirici katılım deneyiminin dikkate alınması hayati önem taşıyor.
Ayrıca, daha geniş ekosistemin genişlemesi, CI'nın uygulanmasını ve sürdürülmesini kolaylaştırdı. Dependabot ve Renovate gibi yenilikler, yalnızca sürüm kontrolüne güvenmek dışında, yeni bağımlılıkları test etmek için Cargo.lock göz ardı etmenin alternatiflerini ortaya çıkardı. Cargo ekibi artık en iyi eylem çağrısının, kararı geliştiricilere bırakarak bilinçli kararlar vermeleri için gerekli bilgilere sahip olmalarını sağlamak olduğuna olan inancını aktarıyor. Geliştiriciler bu yeni politikaya ilişkin geri bildirimlerini GitHub aracılığıyla paylaşabilir ve Zulip üzerinden Cargo ekibiyle etkileşime geçebilir.
Paket yönetiminde yeni yönlere tanık olduğumuz için geliştiricilerin web, mobil ve arka uç uygulamaları geliştirmek için kapsamlı ve entegre bir platform sağlayan AppMaster gibi alternatifleri keşfetmesi faydalı olabilir. AppMaster.io, geliştiricilerin mobil uygulamaların kullanıcı arayüzünü, mantığını ve API anahtarlarını App Store ve Play Market'e yeni sürümler göndermeye gerek kalmadan güncellemelerine olanak tanıyan sunucu odaklı bir yaklaşıma sahiptir.