
Geliştiriciler neden web platformu yerine yine kendi kodlarını tercih ediyor?
Tarayıcı özelliklerinin tutarsız benimsenmesinin nedenleri tarih, alışkanlık, dokümantasyon sorunları, kendi araçlarını oluşturmanın cazibesi ve platform hakkındaki eksik bilgidir. AI kodlama yeni kullanımı artırabilir veya çoğaltabilir.
Tarih ve Alışkanlık
Tarayıcı özelliklerini kullanmanın faydası için kendi JavaScript'i yerine ana argümanlar verimlilik, kullanılabilirlik ve erişilebilirliktir, ancak bunların dağıtımı her zaman kolay olmamıştır. Web tarihinin büyük bir bölümü için tarayıcılar daha geniş web ekosistemine geride kalmıştır. jQuery gibi kütüphaneler önemli boşlukları doldurmuş ve geliştiriciler yeni API'leri kullanmadan önce eski tarayıcıların, örneğin IE6'ın, emeklenmesini beklemek zorunda kalmıştır. Bu ortamda tarayıcı üzerine inşa etmek mantıklı bir yanıttı. Alışkanlığın da önemi vardır: npm'de bileşen aramaya alışkın React geliştiricileri, CSS'i veya tarayıcı API'sini incelemeden önce bir paket arayabilir. Wrapper'lar bilinmeyen platform özelliklerini daha anlaşılır hale getirirken, paket dokümantasyonu genellikle web platformu için dağınık bilgilere göre daha kolay bulunabilirdi. MDN daha sonra merkezi dokümantasyon odağı haline gelirken, web.dev Google'ın daha yeni bir eğitim çabası olarak sunuldu.
İnşa Etmenin Cazibesi
Bazı geliştiriciler için kendi uygulamaları yeterlidir. Modal diyalog görünür konumlandırma ve arka plan kaydırmasıyla başlayabilir, ardından Escape tuşunun işlenmesi, odağa tıklama ve odağın geri yüklenmesi gerekebilir. Geliştiriciler sonucu yeniden kullanılabilir bir paket haline getirmeden önce animasyonlar, temalar veya kapatma düğmesi ekleyebilir. Kaynak buna IKEA etkisi diyor çünkü elle yazılmış kod, koruma ve özelleştirme isteğini uyandırabilir. Kendi araçlarınızı oluşturmak aynı zamanda bir öğrenme yolu olabilir: yazar, IndexedDB, WebSQL ve PouchDB ile ilgili depolama araçları üzerinde çalışmış, daha sonra IndexedDB spesifikasyonuna da katkıda bulunmuştur. Platformun erken dönem boşlukları polyfill'ler, shim'ler ve kütüphanelerin yardımına muhtaç kılmış, bu da platform uzmanlığının oluşmasına yardımcı olmuştur.
Bilgi Boşlukları ve Platform Davranışı
Her kendi çözümü bilinçli bir uzlaşmayı yansıtmaz; bir kısmı eksik bilgiden kaynaklanır. Float'lar, clear fix ve min-width: 0 gibi CSS özellikleri anlaşılması zordu; satır sınırlama, textarea boyutlandırma ve kaydırma çubuğunu gizleme gibi sıradan ihtiyaçlar ise yıllar boyunca doğrudan yerel çözümler olmadan kaldı. Geliştiriciler istenen davranışı JavaScript'te daha kolay ifade edebiliyordu. ClickHouse örneği aynı sonucu verdi. Bir geliştirici büyük JSON'u depolamadan önce sıkıştırmış, diğeri ise onu ayrı bir key-value deposuna koymuş ve ClickHouse'da yalnızca anahtarları saklamıştı. Dokümantasyonu inceleyip kıyaslama yaptıktan sonra, ClickHouse'un zaten sütun verilerini sıkıştırdığını ve satırlar arasında daha iyi sıkıştırma sağladığını keşfettiler; bu da ayrı bir sistemi daha yavaş ve verimsiz hale getiriyordu.
AI dengeli Değiştirebilir
AI tabanlı kodlama bu davranışı her iki yönde de değiştirebilir. İyimser senaryo, büyük dil modellerinin geniş platform bilgisine güvenip, belirsiz gereksinimlerden uygun yerel API'leri seçebilmesi ve testlerden sonra daha hızlı ve doğru platform özelliklerine öncelik verebilmesidir. Geliştiriciler daha az kod yazdığı için kendi uygulamalarına olan bağımlılık zayıflayabilir. Kötümser senaryo ise modellerin mevcut yardımcıları yeniden oluşturması, platform geleneklerini atlatması ve yeterli test yapılmadan karmaşık çözümler üretmesidir. Yazar her iki sonucu da görüyor ve modeller ile kodlama araçları olgunlaştıkça hangisinin baskın olacağını söyleyemiyor. Sonuç şu: platform kullanımı hâlâ değerlidir, ancak tarih, alışkanlık, dokümantasyon sorunları, inşa etmenin keyfi ve eksik anlayış, geliştiricilerin neden yine kendi kodlarını seçtiğini açıklıyor.
SiTech — AI destekli web geliştirme
Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.