Bire bir görüşmelerden toplanan, geliştiricilerin en önemli sorunlarına dair analizler.
Birkaç ay önce Paul Kinlan, 2021'de geliştiricilerin en çok zorlandığı konular hakkında bir yayın yaptı. Bu nedenle, bu makaleyi son 2 çeyrekte yaşanan gelişmelerle başlatmak uygun olacaktır. Sayılar biraz değişti ancak sıralama değişmedi.
Zorluk | 2021 1. Çeyrek | 2021 2. Çeyrek | 2021 3. Çeyrek | 2021 4. Çeyrek |
---|---|---|---|---|
Web platformunda veya web standartlarında yapılan değişiklikleri takip etme | %27 | %26 | %27 | %22 |
Çok sayıda yeni ve mevcut araç veya çerçeveyi takip etmek | %26 | %26 | %25 | %21 |
Bir tasarımın veya deneyimin tarayıcılarda aynı şekilde çalışmasını sağlama | %26 | %28 | %24 | %21 |
Tarayıcılarda test etme. | %23 | %24 | %20 | %20 |
Güvenlik önlemlerini anlama ve uygulama | %23 | %25 | %20 | %19 |
Paul'un blog yayınında belirtildiği gibi, bu sorunları ele almamız gerekiyor. Bu konuda daha kapsamlı bir çalışmanın parçası olarak, iş arkadaşım Kadir Topal ile birlikte 18'den fazla geliştiriciyle görüştük. Amacımız, geliştiricilerin en çok sorun yaşadığı noktaları tespit edip bu sorunların çözümüne yönelik bir yol haritası oluşturmaktır.
Geliştirici Tartışmaları
Sorumluluk reddi beyanı: Bu analizler, geliştiricilerle yapılan az sayıda görüşmeye dayanmaktadır. "Tüm" veya "bazı" ifadesi, topluluğun tamamını değil, röportaj yapılan geliştiricileri ifade eder. Bu analizleri daha geniş bir kapsamda değerlendirmek için daha fazla araştırma yapılması gerekiyor.
Bu görüşmeler, web geliştirici topluluğunun ne kadar muhteşem ve çeşitli olduğunu hatırlattı. Bizimle görüşen tüm geliştiricilere teşekkür ederim. Bazı geliştiricilerin 25 yılı aşkın deneyimi varken bazıları 2020'de bu işe başladı. Bazı geliştiriciler kariyerlerine resmi bir bilgisayar bilimi diplomasıyla başlarken bazıları bağımsız olarak başlar. Bazı geliştiriciler yenilikleri aktif olarak arar ve tarayıcı sürüm notlarını okuyarak gelişmeleri takip eder. Diğerleri ise yenilikler hakkında bilgi edinmek için iş arkadaşları ve arkadaşlarıyla iletişim kurar. Bazıları karmaşıklığın işin bir parçası olduğunu düşünür ve zorluklardan keyif alır. Bazıları ise sadece işlerini yapmak ister. Bu sorunları çözerken bu çeşitliliği göz önünde bulundurmak önemlidir.
Tüm geliştiricilerin ortak özelliklerinden biri, işlerini yapmak için bir içerik yönetim sistemi veya çerçeve kullanmasıdır. Wordpress, React, Bootstrap, Angular ve Tailwind'den bahsedildi. Geliştiricilerin hiçbiri üretimde standart web platformunu kullanmıyordu. Projeye başlarken bir çerçeve seçmek zordur ve geliştiriciler genellikle teknik olmayan koşulları dikkate alır. Örneğin, bu çerçeveyle çalışacak bir geliştirici bulmanın kolay olup olmayacağı. Çözüme çerçeveler ve içerik yönetim sistemleri dahil edilmezse geliştiricilerin yaşadığı sorunları iyileştiremeyiz.
Web platformundan bahsederken çoğu geliştirici, platformu üzerinde geliştirme yaptıkları şey olarak anlar. Buna yalnızca web platformunun klasik tanımı değil, içerik yönetim sistemleri, çerçeve, araçlar ve polyfill'ler de dahildir. Çoğu durumda en büyük zorluk, bu gelişmelerden haberdar olmaktır. Bu durum, söz konusu soruya dair yorumumuzu değiştirdi. Anketimizi daha net farklı bölümlere ayırmak için güncellememiz gerektiğini anladık.
Belirsizliğin yaşandığı bir diğer alan da web standartlarının tanımıdır. Standartlara ayak uydurmayla ilgili örnekler sorulduğunda birçok geliştirici, en iyi uygulamalara ayak uydurmayla ilgili zorluklara işaret etti. Bu, ankette açıklığa kavuşturmamız gereken bir diğer konudur.
Geliştiriciler belirli kullanım alanlarını ve kalıpları uygularken en iyi uygulamaları arar. En iyi uygulamalarla ilgili kaynaklar olarak blog yayınlarından ve StackOverflow'dan bahsedilir ancak geliştiriciler genellikle okudukları bilgilerin gerçekten en iyi uygulama olup olmadığını ve en son özelliklerle ve API'lerle güncel olup olmadığını merak eder. Bu bilgileri daha resmi bir kaynaktan okumak istiyorlar.
Yeni kullanım alanlarını mümkün kılan özellikler ve API'leri takip etmek daha küçük bir sorundur. Geliştiriciler, özellikler, API'ler ve platformda en iyi uygulamalarda değişiklikle sonuçlanan değişikliklerle daha fazla mücadele ediyor.
Çoğu geliştirici, uyumluluğun en büyük zorluklardan biri olduğunu kabul eder. Compat 2021 ve Interop 2022 gibi çalışmalar sayesinde durum iyileşiyor ancak geliştiricilerin bu sorunun henüz çözüldüğünü düşünmediği açık.
Çoğu geliştirici, polyfill'leri bir şekilde kullanır. Ancak çoğu durumda, polyfill Babel gibi bir araç veya çerçeve tarafından otomatik olarak eklenebilir. Bu nedenle, geliştiriciler bu özelliğin kullanımını net bir şekilde görebilir. polyfill'lerini kendileri yönetenler için bir polyfill'in "iyi" olup olmadığını belirlemek sorun olabilir. Geliştiriciler, NPM'deki yükleme sayısını ve polyfill'in oluşturucusunu sinyal olarak kullandıklarını belirtti. Birkaç geliştirici, IE 11 desteğinin sonlandırılması nedeniyle artık gereksiz hale gelen polyfill'leri kaldırmak için çalıştıklarını belirtti.
Çerçeveler, parçalanma sorunlarına yol açar. Geliştiricilerin bir çerçevenin eski bir sürümünde "takılıp kaldığını" ve bu nedenle kullanabilecekleri özellikler konusunda sınırlı kaldığını, ancak aynı çerçevenin daha yeni bir sürümüne geçmenin maliyetli ve gerekçelendirilmesi zor olabileceğini bildiren raporlar aldık.
Sonuç
Modern web geliştirmede standartlar, tarayıcılar, kitaplıklar, polyfill'ler, içerik yönetim sistemleri, çerçeveler, en iyi uygulamalar ve araçlar gibi birçok değişken vardır. Bu çeşitlilik, web'in en iyi özelliklerinden biridir ancak şu anda her bir parçayı ve bunların birbirleriyle nasıl uyumlu olduğunu anlamak her geliştiricinin sorumluluğundadır.
Çeşitlilikten ödün vermeden geliştiricilere her şeyin nasıl bir araya geldiği konusunda daha fazla netlik ve tüm parçalar arasında daha fazla uyum sağlamanın bir yolu olup olmadığını merak ediyorum. Bu büyük ve karmaşık bir sorundur ve tümünü aynı anda yapmak zordur. Peki işe nereden başlamalısınız?
Paylaşmak istediğiniz görüşleriniz varsa Sizinle de konuşmak isterim. Doğrudan rezervasyon görüşmesi yapabileceğiniz bir yöntem oluşturacağım. Bu esnada Twitter'daki DM'lerim açık olacak. Bizimle iletişime geçerek sohbet edebilirsiniz.