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 görüşmelerden toplanan analizlerin derlemesi.

Paul Kinlan, birkaç ay önce 2021'de geliştiricilerin karşılaştığı en önemli sorunlar hakkında bir gönderi yayınladı. Bu nedenle, bu makaleye son 2 üç aylık dönemle ilgili bir güncellemeyle başlamak uygun olabilir. Rakamlar biraz yer değiştirmiş olsa da sıralamada herhangi bir değişiklik olmamıştır.

Zorluk Ç1 2021 Ç2 2021 2021 3. Çeyrek 2021 4. Çeyrek
Web platformu veya web standartlarında yapılan değişikliklere ayak uydurmak. %27 %26 %27 %22
Çok sayıda yeni ve mevcut araç veya çerçeveyi ayakta tutmak. %26 %26 %25 %21
Bir tasarımın veya deneyimin farklı tarayıcılarda aynı şekilde çalışmasını sağlama. %26 %28 %24 %21
Tarayıcılar genelinde test etme. %23 %24 %20 %20
Güvenlik önlemlerini anlama ve uygulama. %23 %25 %20 %19

Pamir'in blog yayınında belirttiği gibi, bu sorunları gidermemiz gerekiyor. Bu doğrultuda, iş arkadaşım Kadir Topal ile 18'den fazla geliştiriciyle röportaj yaptık. Amacımız, geliştiricilerin karşılaştığı sorunları gidermeye yönelik sorunları araştırmak ve anlamlandırmaya başlamak.

Geliştirici Tartışmaları

Sorumluluk reddi beyanı: Bu analizler, geliştiricilerle az sayıda konuşmaya dayanmaktadır. "Tümü" kullanılırken Bu, topluluğun tamamını değil, görüşme yapılan geliştiricileri ifade eder. Bu analizlerin daha geniş çapta ifade edilmesi 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ğunu göstermek için harika bir fırsattı. Bizimle konuşan tüm geliştiricilere teşekkür ederim. Bazı geliştiriciler 25 yıldan fazla deneyime sahiptir. Diğerleri ise 2020 gibi kısa bir süre önce başlamıştır. Bazı geliştiriciler kariyerlerine resmi bir bilgisayar bilimleri derecesiyle başlarken diğerleri kariyerlerine bağımsız olarak başladı. Bazı geliştiriciler aktif bir şekilde yenilikleri arar ve tarayıcı sürüm notlarını okuyarak bunlara uyum sağlarken bazıları da yeni şeyleri iş arkadaşları ve arkadaşları aracılığıyla öğrenir. Kimileri karmaşıklığın işin bir parçası olduğunu düşünür ve zorlukların üstesinden gelmek isterken bazıları sadece işlerini tamamlamak ister. Yaşadığınız sorunları çözerken bu çeşitliliği aklımızda bulundurmak çok önemlidir.

Tüm geliştiriciler arasında ortak olan ortak noktalardan biri, hepsinin işlerini yapmak için bir İYS veya çerçeve kullanmasıdır. Wordpress, React, Bootstrap, Angular ve Tailwind'den bahsedilmişti. Geliştiricilerin hiçbiri üretimde normal web platformunu kullanmıyordu. Bir projeye başlarken çerçeve seçmek zor bir iştir ve geliştiriciler teknik olmayan gereklilikleri sıklıkla dikkate alırlar. Örneğin, bu çerçeveyle çalışması için bir geliştiriciyi işe almanın kolay olup olmayacağı. Çerçeveler ve İYS'ler çözüme dahil edilmezse geliştiricilerin karşılaştığı sorunları gideremeyiz.

Web platformundan bahsetmişken, çoğu geliştirici, platformu üzerinde geliştirdiği şey olarak anlar. Buna yalnızca web platformunun klasik tanımı değil, aynı zamanda İYS'ler, çerçeve, araçlar ve çoklu dolgular da dahildir. Çoğunlukla, bu bilgileri takip etmek en büyük zorlukların kaynağıdır. Bu durum, söz konusu soruya bakışımızı değiştirdi. Artık, anketimizi daha belirsiz olan farklı bölümlere ayırmak için güncellememiz gerektiğini biliyoruz.

Belirsizliğin diğer 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ı izleme konusunda zorluklara dikkat çekti. Ankette bu da netleştirmemiz gereken bir başka konudur.

Geliştiriciler, belirli kullanım alanlarını ve kalıpları uygularken en iyi uygulamaları arar. En iyi uygulamalar kaynağı olarak blog yayınları ve StackOverflow'dan bahsedilir, ancak geliştiriciler genellikle okudukları bilgilerin gerçekten en iyi uygulama olup olmadığını, ayrıca en son özellikler ve API'ler açısından güncel olup olmadığını merak ederler. Bunları okumak için daha resmi bir kaynağın kullanılmasını istiyorlar.

Yeni kullanım alanlarına imkan sağlayan özellikleri ve API'leri yetiştirmek daha az sorun teşkil ediyor. Geliştiriciler özellikler, API'ler ve en iyi uygulamalarda değişikliğe neden olan platform değişiklikleri konusunda daha fazla mücadele ederler.

Çoğu geliştirici, uyumluluğun en büyük zorluklardan biri olduğu konusunda hemfikir. Compat 2021 ve Interop 2022 gibi çalışmalar sayesinde her şey gelişiyor. Ancak geliştiricilerin bunu henüz çözülmüş bir sorun olarak görmedikleri açıkça görülüyor.

Çoğu geliştirici, çoklu dolguları bir şekilde ya da başka bir şekilde kullanır. Bununla birlikte, çoklu dolgu Babel gibi bir araç veya bir çerçeve tarafından otomatik olarak eklenebildiğinden, kullanım çoğu durumda geliştiriciler için şeffaftır. Polyfill'lerini kendileri yönetenler için, bir çoklu dolgunun "iyi" olup olmadığını anlamak bir sorun olabilir. Geliştiriciler, NPM'deki yükleme sayısını kullandıklarından ve çoklu dolguyu sinyal olarak oluşturan kişiden bahsetmişler. Birkaç geliştirici, IE 11 desteğinin kesilmesi nedeniyle gereksiz hale gelen çoklu dolguları kaldırmak için çalışmalar yaptıklarından bahsetti.

Çerçeveler, parçalanma sorunlarına yol açar. Geliştiricilerin "takılıp takıldığı" bildiriler duyduk sınırlı kaldı ve bundan dolayı kullanabilecekleri özellikler sınırlıydı. Ancak aynı çerçevenin yeni sürümüne geçiş yapmanın maliyetli ve gerekçelendirilmesi zor olabilir.

Sonuç

Modern web geliştirmede standartlar, tarayıcılar, kitaplıklar, çoklu dolgular, İYS'ler, çerçeveler, en iyi uygulamalar ve araçlar gibi birçok hareketli parça vardır. Bu çeşitlilik, web'in en güzel yanlarından biridir ancak şu anda, her bir parçayı ve birbiriyle nasıl uyumlu olduğunu anlamak her geliştiriciye kalmıştır.

Çeşitlilikten ödün vermeden geliştiricilere her şeyin nasıl bağlantılı olduğu ve tüm parçalar arasında daha fazla uyumun nasıl sağlanacağı konusuna daha fazla açıklık getirmenin bir yolu var mı? Bu büyük, karmaşık ve tek seferde yapılması zor bir sorun. Ama nereden başlamalısınız?

Paylaşmak istediğiniz görüşleriniz ve görüşleriniz varsa. Seninle de konuşmak isterim. Görüşmeler için doğrudan rezervasyon yapmak üzere bir yöntem ayarlayacağım, ancak bu arada DM'lerim Twitter'da açık. Sohbet etmek için zaman bulalım. Bize ulaşın.