Sadelik Arayışında

Faydalı Alternatif Metin Yazma

Geçen ay ya da öylesine Atom Parçası Geliştirme ekibindeki herkesin yeni bir projeye hızlı ve acısız bir şekilde başlamasını sağlamak için tüm komut dosyalarını, paketleri ve başlangıç ​​dosyalarını içeren bir havuz olan yeni ön uç çerçevemizi (yakın zamanda ‘Snap’ olarak adlandırıldı) oluşturmaya çalışıyorum. Aklımda en üstte, herhangi bir şey olmayan bir ön uç geliştirme ortamında, basitliğin zor hedefidir.

ben sahibim daha önce yazılmış Bu endüstride bazen gereksiz karmaşıklık olabilecek şeylerle ilgili hayal kırıklıklarım ve küçük portföy sitemi yalnızca HTML ve CSS’de oluşturmanın canlandırıcı deneyimi hakkında. Ancak, makalede kabul ettiğim gibi, konu çok basit bir siteden daha fazlasını oluşturmaya gelince, bu yaklaşım neredeyse kesinlikle eksiktir. Engel olmaktan çok yardımcı olmaları koşuluyla, geliştirme araçlarını benimsememiz gerekiyor.

“Basit” ne anlama geliyor?

“Basit” göreceli bir terimdir ve bir kişi için basit olan başkaları için çok daha zor olabilir. Çerçevenin temel amacı, ekipteki geliştiricilerin daha akıllı, daha hızlı ve daha tutarlı bir şekilde oluşturmasını sağlamaktır. Performanslı, erişilebilir kod göndererek harika bir kullanıcı deneyimi sunmak istiyoruz. Bunu yapmak için artıklığı en aza indirmemiz ve modülerliği vurgulamamız gerekiyor. Tasarım ekibi de bunda önemli bir rol oynuyor – sayfalardan ziyade bileşenlerin oluşturulmasına odaklanan modüler bir yaklaşım, ancak bu tutum tüm kuruluşa yayıldığında gerçekleştirilebilir.

Pragmatik basitlik

Ancak sonucun basitliği denklemin yalnızca bir parçasıdır. Sonucun basitliği genellikle (zorunlu olarak) karmaşıklığı perde arkasına gizler. Çerçeve, ekipteki herhangi bir geliştiricinin bir projeyi alıp başlatması için basit olmalıdır. Ancak diğer geliştiricilerin bir kara kutu alıyormuş gibi hissetmelerini istemiyorum. Ekip üyelerinin, çerçeve ve onunla inşa ettiğimiz projeler üzerinde de sahiplik sahibi olduklarını hissetmelerini istiyorum. Ekip olarak, ihtiyaç duyulduğunda ekipteki herkes tarafından bir projenin seçilebilmesi ve üzerinde çalışılabilmesi için tutarlı bir şekilde inşa etmeyi hedeflemeliyiz. Ancak gerçek şu ki, farklı insanlar farklı uzmanlık alanlarına sahipler veya gelişim yolculuklarının farklı aşamalarındalar – herkes aynı teknoloji konusunda rahat ve yetkin değil. Herkesin vanilya Javascript kullanması konusunda ısrar edebilirim, ancak bazı insanlar en çok jQuery ile mutlu olabilir ve insanların işlerini iyi yapmalarına yardımcı olan bir araç kullanmasını engellemeye çalışmak onları sinir bozucu bir deneyime hazırlamaktır. Bu nedenle çerçeve, kısıtlayıcı olmaksızın kuralcı olmalıdır. Esnekliğe ve pragmatizme izin vermelidir.

Araçlar ve takaslar oluşturun

Biraz araştırmadan sonra kullanmayı seçtik Parsel oluşturma aracımız olarak. Parsel, “sıfır yapılandırmalı” bir modül paketleyici olduğunu iddia ediyor ve gerçekten de başlamak çok basit – Ben daha önce yazılmış basit bir projenin onu kullanarak nasıl çalıştırılacağı hakkında. Ancak bir oluşturma aracı seçmek, bazı ödünleşimlerle birlikte gelir: Parsel, örneğin Gulp ve Webpack kadar iyi kurulmuş değildir, bu nedenle sorun yaşarsanız, orada daha az destek vardır. Öte yandan, işleri nispeten basit tutmak (umarım) daha az sorunla sonuçlanacaktır. Ancak, en iyi niyetime rağmen, kendimi beklediğimden daha fazla karmaşıklık içinde bulmadan çok uzun sürmedi. Örneğin, SVG hareketli grafik oluşturma ve şablonlama dili desteği için eklentilerin tümü, sürdürülmesi gereken bağımlılık ek yüküne katkıda bulunur.

Şimdilik geldiğimiz için memnunum sadece Parsel’i kullanmayı değerli kılmak için yeterince basit – daha karmaşık bir yapılandırmaya ihtiyacımız varsa, başka bir seçenek düşünmenin zamanı gelebilir.

atomik CSS

ile aşk/nefret ilişkim var atomik CSS, ki size ayrıntılarını vereceğim. (Bu makaleyi okuyun Duygularımı bilmek istiyorsanız!) Genel olarak, ekibimizin yararlarının acı noktalarından daha fazla olduğuna inanıyorum ve dikkatli bir şekilde uygulandığında, UI gelişimini hızlandırıyor. Atomic Smash’ta yakın zamanda kullanmayı seçtik Arka rüzgar CSS’si, ki zaten oldukça aşinaydım. Ancak hayal kırıklıklarımdan biri, Javascript geliştiricileri tarafından ve onlar için bir araç gibi hissetmesidir. Tüm yapılandırma Javascript’te gerçekleşir ve araç zincirine eklediği karmaşıklık tartışmadan büyük ölçüde çıkarılır.

Örneğin, Tailwind kullanıyorsanız, kullanmak oldukça önemlidir. PurgeCSS Kullanılmayan CSS’yi kaldırmak için yapınızda, aksi takdirde büyük bir eski ~ 800kb CSS dosyası gönderirsiniz. Ancak Purge’ı etkili bir şekilde kullanmak için, örneğin dinamik olarak eklenen seçicilerin temizlenmediğinden emin olmak gibi daha fazla yapılandırma yapmanız gerekir. UI oluşturma sürecinin basitliği, bu makineyi canlı tutmanın ek karmaşıklığıyla bir şekilde dengeleniyor. Meslektaşımdan önce çok fazla stili kaldıran Purge hatalarını ayıklamak için saatler harcadım Dave cevabı kanepenin arkasının çevrimiçi eşdeğerinde buldu (bir Yığın Taşması cevabı): eksik ! bir kod yorumunda (Purge’in belgelerinde de eksik, ekleyebilirim).

Biri bana atomik CSS çerçevelerinin faydalarını “anlamadığımı” söylemeden önce – onları gayet iyi anlıyorum, Tailwind kullanmayı seviyorum ve bunun doğru durum için doğru araç olduğuna inanıyorum. Sadece eski düz CSS/Sass yazmaktan “daha ​​basit” olduğu konusunda kendinizi kandırmayın, çünkü öyle değil. CSS geliştiricilerinize değer verin, insanlar.

Dokümantasyon ve iletişim

Her gün kullanımı kolay, sezgisel araçları iyi belgelenmiş araçlardan alırdım, ancak ilkinin yeterince olmadığı bir dünyada, umut edebileceğimiz en iyi şey ikincisidir. kullanmayı sevdiğim şeylerden biri Gatsby React veya statik site oluşturucular hakkında önceden bilgi sahibi olmadan bile kullanımı nispeten kolaylaştıran belgeleridir.

Belgeleme güç veriyor ve çerçevemizi doğru bir şekilde belgelemek için zaman ayırmak benim için büyük bir öncelik, onu alan herhangi bir geliştiricinin nasıl başlayacağını öğrenebilmesi, en iyi uygulamaları öğrenebilmesi ve yaygın hataları giderebilmesi hedefiyle. Umuyorum ki, bu dokümantasyon organik olarak büyümeye devam edecek ve diğerleri, onu kullanmaya daha aşina hale geldikçe, çerçevenin kendisine katkıda bulunmanın yanı sıra ona katkıda bulunacak.

Ancak dokümantasyon, doğrudan iletişimin yerini tutmaz – yüz yüze yapabilirseniz veya uzaktaysanız hava dalgaları üzerinden yapabilirsiniz. İşleri basit tutmanın anahtarının birbirimizle konuşmak olduğuna ve iletişimimizin değerinin araçlarımızın değerinden daha büyük olduğuna yarı ikna oldum. Böyle “yumuşak” bir beceri olarak görülmesi çok kötü.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.