Bugün web.dev adlı yeni bir girişimi başlatıyor takım.raporu. Web geliştiricilerine, çeşitli popüler derleme araçlarında desteklenen özelliklere genel bir bakış sunan bir web sitesidir. Bu siteyi, bir sonraki projeniz için doğru oluşturma aracını seçmenize, bir araçtan diğerine geçiş yapmaya değip değmeyeceğine karar vermenize veya en iyi uygulamaları araç yapılandırmanıza ve kod tabanınıza nasıl dahil edeceğinizi bulmanıza yardımcı olmak için oluşturduk. Araçlar farklı odak alanlarına sahiptir ve farklı ihtiyaçlara hitap eder; bu, araçların seçilmesi ve yapılandırılmasının ödün verilmesini gerektirdiği anlamına gelir. tooling.report ile bu değiş tokuşları açıklamayı ve herhangi bir derleme aracıyla en iyi uygulamaları nasıl takip edeceğinizi belgelemeyi amaçlıyoruz.
Kulağa heyecan verici mi geliyor? Keşfetmeye başlamak için tooling.report adresini ziyaret edin veya bu siteyi neden ve nasıl geliştirdiğimiz hakkında daha fazla bilgi edinmek için okumaya devam edin.
üzerinde GoogleChromeLab’lergibi web uygulamaları oluşturduk Squoosh Ve Proxxbunun gibi web sitelerinin yanı sıra Chrome Geliştirici Zirvesi 2019. Herhangi bir web geliştirme projesinde olduğu gibi, genellikle barındırma ortamı, çerçeveler ve oluşturma aracı kurulumumuz gibi proje altyapısını tartışarak başlarız. Bu altyapı, proje ilerledikçe güncellenir: benimsediğimiz çerçeveleri veya teknikleri barındırmak için yeni eklentiler eklenir veya derleme araçlarımızın neyi başarmaya çalıştığımızı daha iyi anlaması için kod yazma şeklimiz değiştirilir. Bu süreç boyunca, seçtiğimiz araçların yolumuza çıktığını sık sık gördük.
Ekibimiz, kullanıcılara en iyi web deneyimini sağlamaya odaklanmıştır ve bu da genellikle ön uç varlıklarımızın nasıl bir araya getirildiği ve sunulduğu konusunda ince ayarlar yapılmasıyla sonuçlanır. Örneğin, bir ana iş parçacığı betiği ve web çalışanı betiğinin paylaşılan bağımlılıkları varsa, bağımlılıkları her betik için iki kez paketlemek yerine bir kez indirmek isteriz. Bazı araçlar bunu kutudan çıkar çıkmaz destekler, bazıları varsayılan davranışları değiştirmek için önemli ölçüde özelleştirme çabası gerektirir ve diğerleri için bu tamamen imkansızdır.
Bu deneyim, bizi farklı derleme araçlarının neler yapabileceğini ve yapamayacağını araştırmaya yöneltti. Bir dahaki sefere yeni bir projeye başladığımızda, hangi aracın projemiz için en uygun olduğunu değerlendirip seçebilmemiz için özellikler için bir kontrol listesi oluşturmayı umuyoruz.
Bizim yaklaşımımız #
Farklı yapı araçlarını tek bir yerde nasıl değerlendirebilir ve karşılaştırabiliriz? Test senaryoları yazarak buna yaklaştık.
Ekibimiz, web geliştirme için en iyi uygulamaları temsil ettiğine inandığımız test kriterlerini tartıştı ve tasarladı. İki benzersiz sonucu ölçmekten kaçınmak için geliştirici deneyimiyle ilgili testleri kasıtlı olarak hariç tutarak özellikle hızlı, duyarlı ve sorunsuz kullanıcı deneyimlerinin nasıl sunulacağına odaklandık.
Test listesi oluşturulduktan sonra, aracın testin başarı kriterlerini karşılayıp karşılamadığını kontrol etmek için her araç için bir derleme komut dosyası yazdık. İlk set olarak webpack v4, Rollup v2 ve Parcel v2’yi araştırmaya karar verdik. Çok sayıda proje hala bu kurulumu kullandığından Browserify + Gulp’u da test ettik. Bir testin geçmesi için, aracın yalnızca genel olarak belgelenmiş özellikleri veya araç için bir eklenti kullanılabilir. İlk testler yazıldıktan sonra, araçlarını doğru kullandığımızdan ve onları adil bir şekilde temsil ettiğimizden emin olmak için derleme aracı yazarlarıyla birlikte çalıştık.
Pek çok ekipte, yapı altyapısını korumaya kendini adamış kişiler vardır ve ekibin diğer üyeleri, iş araçlar oluşturmaya geldiğinde hiçbir zaman bir seçim yapmayabilir. Güvendiğiniz araçlarla ilgili beklentileri belirlemenin bir yolu olarak bu sitenin sizin için de yararlı olacağını umuyoruz. Her test için, ek kaynaklarla birlikte testin neden önemli olduğuna dair bir açıklama ekledik. Seçtiğiniz araçla en iyi uygulamayı benimsemek istiyorsanız, havuzumuzdaki test kurulumu bunun için gerekli yapılandırma dosyalarını içerir.
Siteye katkıda bulunabilir miyim? #
Şu anda eksik olan belirli bir özelliğin test edilmesi gerektiğini düşünüyorsanız, lütfen bir GitHub sayısında önerin tartışmayı başlatmak için Gerçek dünyadaki kullanım durumlarını özetlemeyi hedefliyoruz ve bu sonuçları daha iyi değerlendiren herhangi bir ek teste açığız.
İlk sete dahil etmediğimiz araçlar için testler yazmak isterseniz, onu da memnuniyetle karşılıyoruz! Bakınız CONTRIBUTING.md daha fazla bilgi için.