Birkaç ay önce, Paul Kinlan hakkında yayınlanan 2021’deki en önemli geliştirici sorunları, bu nedenle bu makaleye son 2 çeyrekte bir güncelleme ile başlamak uygun görünüyor. Rakamlar biraz değişti ama sıralama değişmedi.
Paul’ün blog gönderisinde bahsedildiği gibi, bu sorunlu noktaları ele almamız gerekiyor. Bunu yapmak için daha büyük bir çabanın parçası olarak, meslektaşım Kadir Topal ve 18’den fazla geliştiriciyle röportaj yaptım. Amacımız, en önemli geliştirici sorunlu noktaları düzeltmenin yolunu araştırmak ve anlamlandırmaya başlamaktır.
Geliştirici Tartışmaları #
Feragatname: bu içgörüler, geliştiricilerle yapılan az sayıda görüşmeye dayanmaktadır. “Tümü” veya “bazıları” kullanıldığında bu, topluluğun tamamı değil, görüşülen geliştiriciler anlamına gelir. Bu içgörüleri daha geniş bir şekilde tahmin etmek için daha fazla araştırmaya ihtiyaç vardır.
Bu sohbetler, web geliştirici topluluğunun ne kadar harika ve çeşitli olduğunu bize hatırlattı ve bizimle konuşan tüm geliştiricilere teşekkür etmek istiyorum. Bazı geliştiriciler 25 yıldan fazla deneyime sahipken, diğerleri 2020 gibi yakın bir tarihte başlamıştır. Bazı geliştiriciler kariyerlerine resmi bir bilgisayar bilimi derecesi ile başlarken, diğerleri kariyerlerine bağımsız olarak başlamıştır. Bazı geliştiriciler aktif olarak yenilikleri araştırır ve tarayıcı sürüm notlarını okuyarak ayak uydururken, diğerleri meslektaşları ve arkadaşları aracılığıyla yeni şeyler öğrenir. Bazıları karmaşıklığın işin bir parçası olduğunu düşünür ve meydan okumaktan zevk alırken, diğerleri sadece işlerini bitirmek ister. Bu sorunlu noktaları çözmeyi düşünürken, bu çeşitliliği aklımızda tutmak önemlidir!
Tüm geliştiriciler arasındaki ortak noktalardan biri, hepsinin işlerini yapmak için bir CMS veya çerçeve kullanmasıdır. WordPress, React, Bootstrap, Angular ve Tailwind’den bahsedildi, geliştiricilerin hiçbiri üretimde vanilya web platformunu kullanmıyordu. Bir projeye başlarken bir çerçeve seçmek zorlu bir iştir ve geliştiriciler sıklıkla teknik olmayan gereksinimleri dikkate alır. Örneğin, bu çerçeveyle çalışması için bir geliştirici tutmanın kolay olup olmayacağı. Çözüme çerçeveler ve CMS’ler dahil edilmezse, geliştiricinin sorunlu noktalarını iyileştiremeyiz.
Web platformundan bahsetmişken, çoğu geliştirici, platformu üzerinde geliştirdikleri şey olarak anlar. Bu, yalnızca klasik tanım web platformunun yanı sıra CMS’ler, çerçeve, araçlar ve çoklu dolgular. Çoğu durumda, en büyük zorlukların olduğu yer bunlarla güncel kalmaktır. Bu, bu soruya ilişkin yorumumuzu değiştirdi ve artık anketimizi daha az belirsiz olan farklı bölümlere ayırmak için güncellememiz gerektiğini biliyoruz.
Belirsizliğin bir diğer alanı da tanımıdır. web standartları. Standartlara ayak uydurmayla ilgili örnekler sorulduğunda, birçok geliştirici bunun yerine en iyi uygulamalara ayak uydurmanın zorluklarına dikkat çekti. Bu, ankette açıklığa kavuşturmamız gereken başka bir alandır.
Geliştiriciler, belirli kullanım durumlarını ve modellerini uygularken en iyi uygulamaları arar. Blog gönderileri ve StackOverflow’tan en iyi uygulamalar için kaynaklar olarak bahsedilir, ancak geliştiriciler genellikle okudukları bilgilerin gerçekten en iyi uygulama olup olmadığını ve en son özellikler ve API’lerle güncel olup olmadığını merak ederler. Bunları okumak için daha resmi bir kaynak istiyorlar.
Yeni kullanım durumlarını etkinleştiren özelliklere ve API’lere ayak uydurmak daha küçük bir sorundur. Geliştiriciler, en iyi uygulamalarda değişiklikle sonuçlanan özellikler, API’ler ve platformdaki değişikliklerle daha fazla mücadele ediyor.
Çoğu geliştirici, uyumluluğun en büyük zorluklardan biri olduğu konusunda hemfikirdir. Compat 2021 ve Interop 2022 gibi çabalarla işler gelişiyor, ancak geliştiricilerin bunu henüz çözülmüş bir sorun olarak görmediği açık.
Çoğu geliştirici, çoklu dolguları şu veya bu şekilde kullanır. Bununla birlikte, çoğu durumda, polyfill Babel gibi bir araç veya bir çerçeve tarafından otomatik olarak eklenebildiğinden, kullanım geliştiriciler için şeffaftır. Polyfill’lerini kendileri yönetenler için, bir polyfill’in “iyi” olup olmadığını anlamak sorun olabilir. Geliştiriciler, NPM’deki yükleme sayısını ve polyfill’in yaratıcısını sinyal olarak kullanmaktan bahsetti. Birkaç geliştirici, IE 11 desteğinin kesilmesi nedeniyle gereksiz hale gelen çoklu dolguları kaldırmak için çalıştıklarından bahsetti.
Çerçeveler, parçalanma sorunlarını ortaya çıkarır. Geliştiricilerin bir çerçevenin eski bir sürümüne “sıkışıp kaldıkları” ve bu nedenle kullanabilecekleri özelliklerin sınırlı olduğu, ancak aynı çerçevenin daha yeni bir sürümüne geçişin maliyetli ve haklı gösterilmesinin zor olabileceğine dair raporlar duyduk.
Çözüm #
Modern web geliştirme, standartlar, tarayıcılar, kitaplıklar, çoklu doldurmalar, CMS’ler, çerçeveler, en iyi uygulamalar ve araçlar dahil olmak üzere birçok hareketli parçaya sahiptir. Bu çeşitlilik, web ile ilgili harika şeylerden biridir, ancak şu anda, her bir parçayı anlamlandırmak ve birbirleriyle nasıl uyumlu olduklarını anlamak her bir geliştiriciye bağlıdır.
Geliştiricilere, çeşitlilikten ödün vermeden her şeyin nasıl birbirine bağlandığı ve tüm parçalar arasında daha fazla uyum olduğu konusunda daha fazla netlik getirmenin bir yolu olup olmadığını merak ediyorum. Bu büyük, karmaşık bir problem ve hepsini aynı anda yapmak zor. Ama nereden başlamalı?
Görüş ve görüşleriniz varsa paylaşmak istersiniz. Ben de seninle konuşmayı çok isterim. Doğrudan konuşma rezervasyonu yapmak için bir yol ayarlayacağım ama bu arada DM’lerim açık Twitter’dan. Bize ulaşın ve sohbet etmek için zaman ayıralım!