Geri Dön
GitHub arayüzünü CSS Modules'e taşıdı ve styled-components'ten vazgeçti
SiTech AI Team2 წთ. საკითხავი

GitHub arayüzünü CSS Modules'e taşıdı ve styled-components'ten vazgeçti

GitHub mühendisleri, arayüzde CSS-in-JS yerine CSS Modules kullanımına geçişi anlattı. Sunucu tarafı render süresi %55, sayfadaki bileşenlerin başlatılma süresi ise %25 azaldı.

GitHub mühendisleri, şirketin arayüzünde CSS-in-JS yerine CSS Modules kullanımına nasıl geçtiğini anlattı. Yazıyı Primer tasarım sistemi mühendisleri Josh Black ve Marie Lucca kaleme aldı; metin 25 Eylül 2026'da GitHub Blog'da yayımlandı.

Stil altyapısı neden darboğaza dönüştü

Sorunlar 2023'te bazı sayfalardaki bileşen sayısının hızla artmasıyla başladı. Stiller istemci tarafında başlatıldığı için sayfaların ilk yüklenmesi uzadı, sunucu tarafı render performansı düştü ve bileşen sayısı arttıkça stil güncellemeleri kontrol edilemez hale geldi. Primer ekibi hem istemci hem sunucu maliyetinden kaçınan, GitHub'ı bozmayan bir çözüm arıyordu.

CSS Modules ve kademeli geçiş

Ekip CSS Modules'te karar kıldı. Bu formatta stiller bileşenin JavaScript koduyla aynı dizindeki bir CSS dosyasında yazılıyor, sınıf adları yerel kalıyor ve çalışma zamanı gerekmiyor: stiller sayfanın HTML'iyle gönderilen stil sayfalarında toplanıyor. Her bileşen, eski ve yeni stiller arasında geçiş yapan bir özellik bayrağının arkasında taşındı; görsel regresyon testleri görüntülerin aynı olduğunu doğruladı ve dağıtım kademeli olarak tüm kullanıcılara açıldı. Geçiş Aralık 2024'te tamamlandı: sayfanın sunucu tarafı render süresi %55, sayfadaki bileşenlerin başlatılma süresi %25 azaldı.

GitHub tablosu: hizmete göre sunucu tarafı render iyileşmesi

sx prop'un kaldırılması

Asıl zor kısım, Primer bileşenlerini özelleştirmenin yerleşik yolu olan sx prop'uydu. Güçlü TypeScript desteği sunuyordu, ama çalışma zamanı maliyeti yüksekti ve ölçeklenmiyordu. GitHub önce bir uyumluluk paketi olan @primer/styled-react'i oluşturdu; böylece mevcut kod bileşenleri içe aktarmaya devam ederken uygulamalar @primer/react'e taşındı. Çalışma Nisan 2025'te başladı ve taşınacak yaklaşık 7.760 sx prop vardı. Sekiz mühendisten oluşan bir rotasyon altı ayda 6.419 prop'u taşıdı; bazı sayfalarda sunucu tarafı render kazancı %1 ile %22 arasında ölçüldü. Nisan 2026'da iki mühendis, Copilot kodlama ajanlarıyla kalan 895 prop'u üç haftada sıfıra indirdi.

GitHub grafiği: toplam sx prop sayısındaki düşüş

Yedi tema ve son temizlik

GitHub yedi temayı destekliyor ve her birinin yüksek kontrast sürümü var; hepsi styled-components üzerinden çalışıyordu. Tema değişkenleri zaten CSS'te tanımlıydı; geriye JavaScript yardımcılarını kaldırmak kaldı ve iki ay sonra bağımlılıklar gitti. GitHub Haziran 2026'dan bu yana %100 CSS Modules üzerinde çalışıyor ve sx, styled-components ile styled-system ana uygulamadan kaldırıldı.

SSiTech

SiTech — AI destekli web geliştirme

Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.