(Turkish) NPM'e büyük rakip: Facebook'tan Yarn
Facebook, Yarn’ı yayınlarken vurguladığı 2 önemli özellik var. Hızlı ve güvenilir olması. Ben bu yazıda sadece hız konusu ele alacağım. NPM ile hız karşılaştırması yapıp ne kadar hızlı olup olmadığını göreceğiz.
Yarn’ın diğer özellikleri;
Offline mode: Daha önce yüklemiş olduğunuz bir paketi, internetiniz olmadığı zamanlarda tekrar kullanabiliyorsunuz. (global cache)
Deterministic: Yüklediğiniz dependency’ler (paketler), hangi makinada olursanız olun sırası farketmeden aynı şekilde yükleniyor (yarn.lock dosyası aracılığı ile).
Network Resilience: Yüklediğiniz herhangi bir pakette hata oluştuğunda, bu hata diğer paketlerin indirilmesini etkilemiyor. Hatalı paketler daha sonra tekrar isteniyor.
En önemli özellik => Daha fazla emoji. Console ekranında artık daha fazla emoji görebilirsiniz :scream:
En kolay yolları sırasıyla;
ya da npm ile :grin:
Kullanımı npm ile oldukça benzer;
yarn                        # package.json'daki tüm paketleri yükle
yarn install                # yarn alternatifi
yarn init                   # npm reposu başlat (package.json oluşturma)
yarn add [package]          # npm paketi yükle
yarn upgrade [package]      # npm paketi güncelleme
yarn remove [package]       # npm paketi silme
Yarn’ın en önemli özelliğide hızı. Birçok geliştiricinin Yarn’a geçme sebebi de bu olsa gerek. Bakalım Yarn ne kadar hızlı..
Hız testini Jekyll Admin projem üzerinden yaptım. Ne kadar modül yüklü olduğunu burdan görebilirsiniz.
time npm i
Sonuç, testi yaptığım projeyi geliştirirken keşke yarn olsaydı dedirttiren cinsten. Modüller yarn ile neredeyse 6 kat daha hızlı yüklenmiş. Hele Travis gibi CI toolları kullanıyorsanız projenizin build time’ı oldukça düşüyor ve her bir feature için daha az bekliyorsunuz.
Yarn’ın bir anda bu kadar popüler olması, yukarıda bahsettiğim özelliklerin dışında, arkasında Facebook gibi büyük bir şirketin olması. İşin içinde Facebook olunca arkasındaki community de oldukça büyük oluyor. Bu sayede de ortaya çıkan ürünler muazzam bir destek alıyor ve bizler de iyi bir yazılımın keyfini sürebiliyoruz.
Facebook ekibine, bizi npm tekelinde bırakmadığı ve daha hızlı bir paket yöneticisi sağladığı için teşekkürlerimi sunuyorum.
yarn paket yöneticisi