Frontend'de çalışırken kafam çoğunlukla "nasıl" sorusunda oluyor: bu component neden gereksiz yere render alıyor, bu layout şu ekranda neden bozuluyor, bu state'i nerede tutsam? Geçen gün eski bir browser uyumluluk bug'ıyla uğraşırken bir an durdum. Her gün kullandığım onca araç, çözmeye çalıştığım her problem aslında otuz yıllık bir birikimin üstünde duruyordu. O an içinde yaşadığım bu dünyanın nereden geldiğini merak ettim.
Bu yazı da o merakın sonucu. Web basit bir CERN belgesinden bugünkü uygulama platformuna nasıl döndü; HTML, CSS ve JavaScript neden bu hâle geldi; browser'lar birbiriyle nasıl kapıştı ve bütün bunların ortasında arama motorları işi nasıl baştan kurguladı? Hepsini kendi açımdan, geliştirici gözüyle anlatacağım.

Her Şey 1989'da Bir Öneriyle Başladı
Web'in doğum tarihi olarak genelde 1989 gösterilir. O yıl CERN'de çalışan Tim Berners-Lee, dünyanın farklı yerlerindeki araştırmacılar belgeleri rahatça paylaşabilsin diye bir sistem önerdi; adını da World Wide Web koydu. Bugün hâlâ kullandığımız üç şey o öneriden çıktı: belgeyi tanımlayan bir dil (HTML), belgeye adres veren bir yapı (URL) ve belgeyi taşıyan bir protokol (HTTP).
1991'de ilk web sitesi açıldığında sayfa tamamen statikti. Ne etkileşim vardı ne de kişiye özel bir şey; herkes aynı içeriği görüyordu. Şimdi düşününce garip geliyor, çünkü benim işimin neredeyse tamamı etkileşim üzerine kurulu. Ama o günün web'i, sonradan Web 1.0 dediğimiz şey, okunabilen ama yazılamayan bir kütüphaneydi.
Gerisi hızlı geldi. 2000'lerin ortasında blog'lar, sosyal ağlar ve kullanıcı içeriğiyle Web 2.0 açıldı; AJAX sayesinde sayfalar tüm sayfayı yenilemeden veri çekmeye başladı. Sonra mobil patladı ve responsive tasarım benim gibiler için tercih olmaktan çıkıp zorunluluk oldu. Bugünse SSR, static generation ve edge derken web artık belge sunmuyor, resmen uygulama çalıştırıyor. Bu yolun her durağında o üç temel teknolojinin birlikte büyüdüğünü görüyorum.
HTML: En Çok Hafife Alınan Katman
HTML bir sayfanın iskeleti. Berners-Lee'nin ilk versiyonunda bir avuç tag vardı; bugün yüzlerce semantic tag'le çalışıyoruz.
HTML'in en önemli anı bence 2014'teki HTML5'ti. <header>, <nav>, <article>, <section> gibi semantic tag'ler; plugin istemeyen <video> ve <audio>; çizim için <canvas>... Bunlar sadece işimi kolaylaştırmadı, sayfanın ne anlama geldiğini de browser'a ve botlara açık etti.
Bir şeyi sürekli unutuyoruz: temiz, anlamlı HTML doğrudan SEO'yu etkiliyor. Bir crawler sayfadaki asıl içeriği, menüyü ve yan bilgiyi ancak doğru tag'lerle ayırabiliyor. Yani div çorbası yerine doğru element'i seçmek estetik bir tercih değil, keşfedilebilirlik kararı.
CSS: Web'i Çirkinlikten Kurtaran Katman
İlk sayfalar çirkindi, çünkü HTML görünümü değil yapıyı tanımlıyor. CSS tam da bu boşluğu kapatmak için 1996'da çıktı ve içeriği görünümden ayırdı.
CSS benim için hep çözdüğü klasik dertlerle anlam kazandı. Bir zamanlar bir element'i dikeyde ortalamak başlı başına bir uğraştı; Flexbox bunu sıradan bir işe çevirdi. 2017'de gelen Grid ise iki boyutlu, gerçek bir layout sistemi getirdi. Eskiden table'larla ya da float'larla zar zor kurduğumuz karmaşık düzenler artık birkaç satır.
Bugün custom property'ler, clamp( ) ile fluid typography ve container query'lerle CSS eskisinden çok daha güçlü. Ama tecrübeyle şunu rahat söyleyebilirim: asıl fark tek tek hile'lerden değil, tutarlı bir design system'den ve disiplinli bir CSS mimarisinden geliyor.
JavaScript: Sayfayı Uygulamaya Çeviren Dil
1995'te Brendan Eich'in Netscape'te (efsaneye göre on günde) yazdığı script dili, web'i kalıcı olarak değiştirdi. Önce Mocha, sonra LiveScript, en sonunda da pazarlama yüzünden JavaScript oldu. İsmine rağmen Java ile bir akrabalığı yok.
Asıl devrim sonradan geldi. AJAX, sayfayı baştan yüklemeden veri çekmeyi mümkün kıldı. 2009'da Node.js, JavaScript'i browser'ın dışına, server'a taşıdı; artık tek dille hem frontend hem backend yazabiliyordun. ES2015 (ES6) ise dili bugünkü hâline getirdi: let/const, arrow function'lar, class'lar, module'ler, promise'ler... Yazdığım kodun çoğu hâlâ bu sürümün üstünde duruyor.
Bu evrimin sonucunu her gün yaşıyorum. Modern frontend'in merkezinde React var; production ölçeğindeki işlerde ise React'i SSR, routing ve performansla tamamlayan Next.js benim default'um oldu. Kod tabanı büyüdükçe type safety şart hâline geliyor, o yüzden TypeScript olmadan ciddi bir projeye girmeyi artık düşünemiyorum. Detartech'te kurduğumuz stack'in belkemiği tam olarak bu üçlü.
Browser Savaşları: Aslında Bizim Savaşımızdı
Web geliştirmeyi anlamak için browser tarihini anlamak gerekiyor; çünkü bir browser'ın neyi desteklediği, benim neyi kullanabileceğimi doğrudan belirliyor.
İş 1993'te çıkan Mosaic'le halka açıldı; görseli metinle aynı sayfada gösteren ilk popüler browser'dı. Ardından Netscape Navigator ile Internet Explorer arasında birinci browser savaşı patladı. İki taraf da standart dışı, kendine has tag'ler ekledi ve bu yıllarca süren bir uyumluluk kâbusu yarattı. Eski kodlarda hâlâ o dönemin izine denk gelen biri olarak söyleyeyim: o kavganın faturasını uzun süre biz geliştiriciler ödedik.
2004'te Firefox ortamı biraz tazeledi, 2008'de Chrome hızlı V8 engine'iyle dengeyi yeniden kurdu. Bugün sahnede üç rendering engine var: Chrome ve Edge'in altındaki Blink, Safari'nin WebKit'i ve Firefox'un Gecko'su. Edge'in 2020'de Chromium'a geçmesiyle standartlar büyük ölçüde aynı noktada buluştu. Bu benim için ciddi bir rahatlama oldu; browser'lar arası tutarsızlıkla eskisi kadar boğuşmuyorum, onun yerine WebAssembly, PWA ve WebGPU gibi yeni şeylere bakabiliyorum.
Modern Stack: Göründüğünden Fazlası
Bugün ciddi bir web uygulaması sadece frontend değil; frontend, backend, database ve infra'nın birlikte çalıştığı bir bütün. Frontend'i React, Next.js ve TypeScript ile kuruyorsam, arkada Node.js ile business logic'i yürüten, bir database'e bağlanan ve container'larla ölçeklenen bir yapı oluyor.
Bu katmanları doğru seçmek bir projenin performansını ve büyüme kapasitesini en baştan belirliyor. Detartech'te bu stack'i tek elden, uçtan uca kurmamızın sebebi de bu: parçalar birbirine düzgün bağlanmadığında en iyi frontend bile çöküyor. Kullandığımız araçların tamamını merak edenler için teknoloji stack'imizi ayrı bir sayfada topladık; bütün sistemi bizimle kurmak isteyenler de web geliştirme hizmetimize bakabilir.
Arama Motorları ve SEO: Kimse Bulamıyorsa O İçerik Var mı?
Web büyüdükçe yeni bir problem çıktı: milyonlarca sayfanın içinden aradığını nasıl bulacaksın? 90'larda AltaVista, Yahoo gibi isimler bu işe girdi ama oyunu 1998'de Google değiştirdi. Larry Page ve Sergey Brin'in PageRank'i, bir sayfanın sadece içeriğine değil, ona verilen link'lerin otoritesine de baktı. Bir link'i "oy" gibi sayan bu fikir hâlâ modern SEO'nun kalbinde.
SEO'yu işimin ayrılmaz bir parçası olarak görüyorum, çünkü kimsenin bulamadığı bir uygulama ne kadar iyi yazılırsa yazılsın işe yaramıyor. Kabaca üç başlıkta düşünüyorum: crawler'ın siteyi sorunsuz tarayıp index'leyebilmesini sağlayan technical SEO (site hızı, Core Web Vitals, structured data); başlıkları, semantic hiyerarşiyi ve içerik kalitesini kapsayan on-page SEO; ve güvenilir kaynaklardan gelen link'lerle oluşan off-page SEO. Bunların içinde hızlı ve teknik olarak sağlam bir site, technical SEO'nun yarısını daha ben kod yazarken hallediyor.
Son dönemde işin rengi de değişti. Artık arama sadece "on mavi link" değil; ChatGPT, Perplexity ve Google AI Overviews gibi araçlar soruya doğrudan cevap üretip kaynak gösteriyor. Bu yeni döneme GEO (Generative Engine Optimization) deniyor; amaç markanın AI cevaplarında kaynak olarak geçmesi. Burada technical SEO, içerik mimarisi ve otorite işinin birlikte ele alınması gereken ayrı bir uzmanlık olduğunu da ekleyeyim; biz bunu ayrı bir SEO hizmeti olarak yürütüyoruz.
Peki Bütün Bundan Çıkardığım Ders Ne?
Web'in otuz yıllık hikâyesine bakınca gördüğüm şu: her yeni katman bir öncekinin açığını kapatmak için çıkmış. HTML yapıyı koydu, CSS görünümü ekledi, JavaScript etkileşimi getirdi; browser'lar bunları yarıştırarak olgunlaştırdı, arama motorları da keşfedilebilirliği baştan tanımladı.
Bir geliştirici olarak bana kalan en büyük ders, temellerin değişmediği. Araçlar her sene değişiyor, framework'ler gelip geçiyor; ama anlamlı HTML, disiplinli CSS, doğru anladığın JavaScript ve baştan düşünülmüş bir SEO yaklaşımı hâlâ iyi bir web ürününün belkemiği. Yeni bir projeye başlarken kendime sorduğum soru "hangi framework?" değil; "bu sistemi gerçekten anlıyor muyum?" oluyor.
Aklında performanslı, SEO uyumlu ve ölçeklenebilir bir web projesi varsa ve bunu uçtan uca teknik sahiplenmeyle hayata geçirmek istiyorsanız, bizimle bir ön görüşme talebinde bulunabilirsiniz.


