Web geliştiricilerinin en sık karşılaştığı sorunları ayrıntılı olarak inceleyin

Geliştiricilerin en sık karşılaştığı sorunlar hakkında bire bir yapılan görüşmelerden toplanan analizler koleksiyonu.

Birkaç ay önce Paul Kinlan, geliştiricilerin 2021'de karşılaştığı en önemli sorunlar hakkında bir gönderi paylaşmıştı. Dolayısıyla bu makaleye, son iki çeyrekle ilgili bir güncellemeyle başlamayı düşünebilirsiniz. Sayılar biraz değişmiş olsa da sıralama değişmedi.

Meydan okuma Ç1 2021 Ç2 2021 Ç3 2021 Ç4 2021
Web platformunda veya web standartlarında yapılan değişiklikleri takip etmek. %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 tüm tarayıcılarda aynı çalışmasını sağlamak. %26 %28 %24 %21
Tarayıcılar arasında test etme. %23 %24 %20 %20
Güvenlik önlemlerini anlama ve uygulama. %23 %25 %20 %19

Paul'un blog yayınında da belirtildiği gibi, bu sorunları gidermemiz gerekiyor. Bu amaç doğrultusunda, iş arkadaşım Kadir Topal ve ben 18'den fazla geliştiriciyle görüştük. Amacımız, araştırmalar yapıp geliştiricilerin karşılaştığı en önemli sorunları gidermeye başlamaktı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ıları" kullanıldığında bu, topluluğun tamamı yerine görüşülen geliştiricileri ifade eder. Bu analizleri daha geniş çapta değerlendirmek için daha fazla araştırma yapılması gerekiyor.

Bu sohbetler web geliştirici topluluğunun ne kadar muhteşem ve çeşitli olduğunun güzel bir göstergesiydi. Bizimle konuşan tüm geliştiricilere teşekkür ederim. Bazı geliştiriciler 25 yıldan fazla deneyime sahipken diğerleri 2020'de başladılar. Bazı geliştiriciler kariyerlerine resmi bir bilgisayar bilimleri diplomasıyla başlarken, bazıları da kariyerlerine bağımsız olarak başlamıştır. Bazı geliştiriciler etkin bir şekilde yenilikler arar ve tarayıcı sürüm notlarını okuyarak yeniliklere ayak uydurabilirken bazıları da iş arkadaşlarından ve arkadaşlarından yararlanarak yeni şeyler öğrenir. Bazıları karmaşıklığın işin bir parçası olduğunu düşünür ve zorlanmaktan keyif alırken diğerleri sadece işlerini tamamlamak ister. Bu sorunlu noktaları çözmeyi düşünürken, bu çeşitliliği göz önünde bulundurmak çok önemlidir.

Tüm geliştiriciler arasındaki ortak noktalardan biri, işlerini yapmak için bir İYS veya çerçeve kullanmasıdır. Wordpress, React, Bootstrap, Angular ve Tailwind'den bahsedildi, geliştiricilerden hiçbiri üretimde vanilla web platformunu kullanmıyordu. Projeyi başlatırken bir çerçeve seçmek zordur ve geliştiriciler genellikle teknik olmayan gereksinimleri göz önünde bulundururlar. Örneğin, bu çerçeveyle çalışacak bir geliştiriciyi işe almanın kolay olup olmayacağı. Çerçeveler ve İYS'ler çözüme dahil edilmezse geliştiricinin karşılaştığı sorunlu noktaları iyileştiremeyiz.

Web platformundan söz etmişken, çoğu geliştirici, platformu temelde geliştirdikleri şey olarak anlar. Buna web platformunun klasik tanımının yanı sıra İYS'ler, çerçeve, araçlar ve çoklu dolgular da dahildir. Birçok durumda, en büyük zorluklar bu bilgileri takip etmektir. Bu durum söz konusu soruya yönelik yorumumuzu değiştirdi ve artık anketimizi, soruyu daha az belirsiz olan farklı bölümlere ayırmak için güncellememiz gerektiğini biliyoruz.

Belirsizliğin başka bir alanı da web standartlarının tanımıdır. Standartlara uymayla ilgili örnekler sorulduğunda birçok geliştirici, bunun yerine en iyi uygulamaları takip etmenin zorluklarına dikkat çekti. Ankette netleştirmemiz gereken başka bir alan da budur.

Geliştiriciler, belirli kullanım alanlarını ve kalıpları uygularken en iyi uygulamaları ararlar. En iyi uygulamalara kaynak olarak blog yayınları ve StackOverflow bahsediliyor, ancak geliştiriciler genellikle okudukları bilgilerin gerçekten en iyi uygulama olup olmadığını ve en son özellikler ve API'larla güncel olup olmadığını merak ederler. Bunları okumak için daha resmi bir kaynak istiyorlar.

Yeni kullanım alanlarına olanak tanıyan özellikler ve API'lere ayak uydurmak daha küçük bir sorundur. Geliştiriciler; özellikler, API'ler ve platformda en iyi uygulamaların değişmesine neden olan değişiklikler konusunda daha fazla zorlanırlar.

Çoğu geliştirici, uyumluluğun en büyük zorluklardan biri olduğu konusunda hemfikirdir. Compat 2021 ve Interop 2022 gibi çalışmalar sayesinde işler iyiye gidiyor. Ancak geliştiriciler bunu henüz çözülmüş bir sorun olarak görmüyor.

Çoğu geliştirici, çoklu dolguları bir şekilde kullanır. Bununla birlikte, çoklu dolgu Babel gibi bir araç veya bir çerçeve tarafından otomatik olarak eklenebileceği için çoğu durumda kullanım geliştiriciler açısından şeffaf değildir. Çoklu dolgularını kendileri yönetenler için bir çoklu dolgunun "iyi" olup olmadığını anlamak sorun olabilir. Geliştiriciler, NPM'deki yükleme sayısını ve çoklu dolgunun oluşturucusunu sinyal olarak kullandıklarını belirtmişlerdir. Bazı geliştiriciler, IE 11 desteğinin kesilmesi nedeniyle gereksiz hale gelen çoklu dolguları kaldırmak için çalışma yaptıklarından bahsetti.

Çerçeveler, parçalanma sorunlarına yol açar. Geliştiricilerin bir çerçevenin eski bir sürümüne "sıkıldığı" ve bundan dolayı kullanabilecekleri özelliklerin sınırlı olduğu, ancak aynı çerçevenin daha yeni bir sürümüne geçiş yapmanın maliyetli ve gerekçelendirmesinin zor olabileceği raporlar aldık.

Sonuç

Modern web geliştirmede standartlar, tarayıcılar, kitaplıklar, çoklu dolgular, İYS'ler, çerçeveler, en iyi uygulamalar ve araçlar gibi pek çok değişken vardır. Bu çeşitlilik web'in en güzel yanlarından biridir, ancak şu anda her parçayı ve bunların birbirleriyle nasıl uyumlu olduğunu anlamak her geliştiriciye ayrı ayrı düşer.

Geliştiricilere, çeşitlilikten ödün vermeden her şeyin nasıl birbiriyle bağlantılı olduğu ve tüm parçalar arasında daha fazla uyum hakkında daha fazla netlik kazandırmanın bir yolu var mı? Bu büyük, karmaşık ve tek seferde yapılması zor bir sorundur. Peki işe nereden başlayabilirsiniz?

Paylaşmak istediğiniz görüş veya düşünceleriniz varsa. Seninle konuşmak isterim. Görüşme rezervasyonlarını doğrudan yapmak için bir yöntem ayarlayacağım ancak bu arada DM'lerim Twitter'da açık. Bize ulaşın, sohbet edelim.