Teknik borç: jQuery’yi kaldır | sıcak çevrimiçi

bencede

New member


  1. Teknik borç: jQuery’yi kaldır

jQuery, özellikle ilk günlerinde ön uç geliştirme için kullanışlı ve neredeyse gerekli bir araçtı. Kodumuza bu şekilde girdi. Ama onlardan nasıl kurtulursun?


jQuery 2006 yılında tanıtıldı ve yaklaşık on yıldır Haberler online’da kullanılıyor. Tarayıcıların API’leri sağlamada hâlâ büyük farklılıklar gösterdiği o dönemde jQuery, anlaşılır ve açık kod yazma fırsatı sağladı ve tarayıcı uyumluluğuyla gizliden gizliye ilgilendi. Kısacası: jQuery bir nimet oldu! Tarayıcı tuhaflıklarıyla uğraşmak yerine kodunuzun gerçek akışına odaklanmanıza izin verdi.

Haberler online, forum gibi birçok farklı (bağımsız) alandan oluştuğu için, yıllar boyunca, bazıları paket halinde, bazıları doğrudan entegre bir kitaplık olarak renkli bir jQuery sürümleri hodgepodge’umuz oldu. Grunt ve Gulp gibi oluşturma araçlarının ortaya çıkmasıyla birlikte, betiklerimizden bazıları bu çerçevelere taşındı ve uygun bağımlılık yönetimiyle birlikte jQuery’i de getirdi. Tabii ki amaç, tüm JavaScript’i bu şekilde sağlamaktı, ancak çoğu zaman olduğu gibi, son yüzde 20 en az ilk yüzde 80 kadar zor. Sürüklemek.

Ancak, jQuery’den kurtulmaya kesinlikle karar vermiştik, çünkü çerçeve için önceki gerekçe artık mevcut değildi: tarayıcı API’leri büyük ölçüde standartlaştırıldı, özellik algılama için yararlı seçenekler ve jQuery’den CSS’den ilham alan seçiciler gibi kullanışlı özellikler var. artık “Vanilla” JavaScript’e girmenin yolunu buldular.

yaklaşık yaklaşım


İlk adımda, jQuery’yi dışarıda bırakarak sadece ana sayfa için ayrı bir JavaScript dosyası oluşturduk. Bu süreçte jQuery’i de kısa bir süreliğine tamamen kapatıp kodun nereye düştüğüne baktık.

Basit bir düzeltme bulunamazsa, önce jQuery’yi yeniden oluşturduk. Sonuç olarak, bir günlük bir olaydı. daha sonra olabiliriz git grep ancak jQuery’nin hala nerede kullanıldığını ve onu değiştirmek için daha fazla çalışmaya ihtiyaç duyacağını öğrenin. Bu içgörülerden, kalan tüm jQuery oluşumlarını yakalayan ve bağımlılıkları netleştiren kapsamlı bir görev listesi oluşturduk. Haberler güvenliği veya geliştiriciler gibi alanlar için dahili formülasyonumuz olan bazı kanalların kendi jQuery bağımlılıkları yoktu, ancak JavaScript paketimizi Haberler düzeyinde bağladılar (i.js veya. Haberler.js) burada biraz daha jQuery betiğine ihtiyacımız vardı. Sonunda, bazıları sadece birkaç satır jQuery referansı içeren, diğerleri yüzden fazla satır içeren yaklaşık 30 kod pasajı ortaya çıktı.


zor iş


Hazırlık çalışmaları liste ile sona erdi. Zaman buldukça, departmanımızdaki çeşitli kişiler senaryolardan birini alıp jQuery olmadan çalışacak şekilde yeniden yazardı. Bu günlerde artık böyle yazmayacağımız çok eski kod bölümleriyle karşılaştığımızı hayal edebilirsiniz (zaman uyumsuz/bekleme yok, ok işlevleri, vb.). Ancak, asıl amaç jQuery’den kurtulmak olduğu için, yak tıraşına düşmemek ve aynı zamanda JavaScript yeniden düzenlemesini tamamlamamak için kendi başımıza kalmamız gerekiyordu.

Motivasyonumuz için, ama tabii ki zaman zaman geçici sonuçlar da almak için, bireysel alanları (örn. Bu kadar uzun bakım projelerinde, başarı duygusu hafife alınmamalıdır!

Çözüm


Kesinlikle buna değer! Bizim için, ama elbette kullanıcılarımız için de! Nisan ayında zaten yükümüzden çıkmayı başardık. i.js son bağımlılığı kaldırın ve tek seferde 88 KB tasarruf edin. Bu nedenle Mayıs ayının sonunda Haberler Developer, Security, iX ve Mac & i’den bir jQuery referansını (jQuery 2.1.1, 34 kB), Newsticker ve Make and’den bir başkasını (jQuery 1.7.1, 38 kB) genişletebildik. Make’den başka bir jQuery UI (31 kB). O günden bu yana, genel olarak 103 KB daha az veri sağladık ve tabii ki tarayıcılara yorumlamaları için daha az JavaScript veriyoruz. Toplamda 192 kB jQuery sayfalarımızdan kayboldu.

Şu anda her şey sadece motive edici bir ara sonuç olarak görülebilir, çünkü ne yazık ki bazı alanlar henüz listede yer almadı, ancak elbette hala üzerinde çalışıyoruz. Yol uzun ve kayalık ama buna değer!


(hehe)



Haberin Sonu
 
Üst