2025 Yılında Web Site Yapmak için Hangi Dili Öğrenmeliyim? HTML? PHP?

Bugün birlikte, Web sitesi yapmak istiyorum ama hangi dili öğrenmeliyim? sorusunun cevabını arıyoruz.

Çünkü web geliştirme dünyası genişledikçe, seçenekler de çoğalıyor.

2025’te Web Sitesi Yapmak İçin Hangi Dili Öğrenmeliyim?

HTML, CSS, JavaScript, React, Node.js, SQL, MongoDB… İşin kötüsü, bunların hepsi de bir şekilde “gerekli” gibi görünüyor. Ama hiç panik yapma. Bu videoda neyi neden öğrenmen gerektiğini, hangi sırayla gitmen gerektiğini, her bir yapının güçlü ve zayıf yönleriyle birlikte, anlaşılır bir dille anlatacağım. Kafanda hiçbir soru işareti kalmayacak.

HTML, yani her şeyin başladığı yer

Web’e adım atmanın ilk durağı, her zaman HTML’dir. Çünkü internette gördüğün her sayfa, aslında HTML dediğimiz bir dilin etiketleriyle yazılmıştır.

Başlık dediğin şey h1 ile, paragraf p ile, buton button ile tanımlanır. Tarayıcı dediğimiz şeyler – Chrome, Firefox, Safari, ne dersen de – HTML’yi okur, onu yorumlar ve bize görüntü olarak sunar.

HTML yazmak kolaydır. Gerçekten çok kolaydır. 10 yaşındaki bir çocuk bile birkaç saatte temelini öğrenebilir. Ama kolay olması, önemsiz olduğu anlamına gelmez.
Çünkü HTML bir bina gibi düşünülürse, temeldir.
Temel zayıfsa, üstüne CSS koysan da, JavaScript döşesen de… hiçbir işe yaramaz.

Ancak HTML’in bir eksiği var: Tek başına yeterli değildir.
Bir HTML sayfası, göze hoş görünmeyen, cansız bir yapıdır. Yani çalışır, açılır… ama düz beyaz sayfa gibi durur. Hiçbir estetik yoktur, etkileşim sıfırdır.

Ama güzel haber şu: Bu temel sağlam olduktan sonra, her şey üstüne eklenebilir.

CSS – Güzelliğin Kod Hali

HTML ile kabaca sayfayı oluşturduk diyelim. Başlıklar, butonlar, paragraflar yerli yerinde.
Şu an elimizde, duvarları örülmüş ama boyanmamış bir ev var. İşte o boyayı, ışığı, tasarımı sağlayan şey: CSS’tir.

CSS, web sitelerine estetik katar. Yazı tipi ne olacak, butonun rengi ne, köşeleri yuvarlak mı, menü sağda mı olsun ortada mı? Hepsi CSS ile belirlenir.
 Ve bu yapı, küçük projelerde çok eğlencelidir. Basit bir color: red yazar, anında sonucu görürsün. Ama site büyüdükçe… işler karmaşıklaşır.

p {
   color: red;
}

Farklı ekran boyutları, mobil tasarımlar, dark mode… Bir süre sonra, hangi class ne işe yarıyor karışır. Tam da bu noktada modern çözümler ortaya çıkıyor.

Örneğin Tailwind. Tailwind, önceden yazılmış stillerle çalışır ve işleri hızlandırır. Ama burada dikkat etmen gereken şey şu: CSS’in mantığını anlamadan bu kütüphaneleri kullanırsan, sorun çıktığında müdahale edemezsin. Yani önce klasik CSS öğren, sonra Tailwind. CSS, dışarıdan “süs” gibi görünür ama iyi yazılmış CSS, bir web sitesinin kullanılabilirliğini milyon kat artırır. Haa kötü yazılmışıysa, kullanıcıyı kaçırır.

JavaScript – Web’e Zeka ve Fonksiyon Kattığımız Yer.

Artık sayfamız hem yapılı, hem boyalı. Ama hâlâ bir şey eksik: hayat. Kullanıcı butona tıklıyor ama bir tepki yok. Formu dolduruyor ama doğrulama yok.

Bir siteyi interaktif yapan, canlı yapan şey işte tam burada devreye giriyor: web’in beyni JavaScript.

İlk başta biraz korkutucu olabilir. Çünkü HTML gibi düz değil, mantık içerir. Koşullar vardır, döngüler vardır, olaylar vardır. Hata yaparsan affetmez, çünkü çalışmaz. Ama bir kez öğrenmeye başladığında, özellikle küçük etkileşimleri kodladıkça, o sihirli his gelir: “Vay be! Bastım, çalıştı!” dersin.

JavaScript’i öğrenirken çok hata yaparsın. Ama en çok öğrendiğin yer de burasıdır ve JavaScript’i iyi öğrenmen, sadece web için değil, gelecekte mobil uygulama, masaüstü program, hatta oyun geliştirmek için bile kapı açar.

İşte zorluk da burada ortaya çıkıyor: 
Doğru öğrenmezsen, her şey karışır.

Karmaşıklaşan kodda da, hata ayıklamak zorlaşır.
O yüzden yavaş git. Küçük projeler yap. Sonra bunları birbirine ekleyerek devam et.

React – Modern Web’in Yeni Standardı

JavaScript’i çözdün diyelim. Artık bir şeyleri tıklatabiliyor, veri çekebiliyor, sayfa içinde dinamik değişiklikler yapabiliyorsun. Ama işler büyümeye başladıkça, örneğin bir e-ticaret sitesi yapmaya kalktığında, her şeyi elle yazmak acı verici hale gelir.

Kod tekrar eder, sayfa yapısı karmaşıklaşır işin içinden çıkamaz hale gelirsin lanet olsun dersin. İşte bu noktada devreye React giriyor.

Aslında React, Facebook tarafından geliştirilen bir JavaScript kütüphanesi. Ama onu özel kılan şey, her şeyi “bileşen” mantığıyla ele alması.

Yani bir ürün kartı düşün – fiyat, isim, görsel, buton – bu yapıyı bir kez tanımlarsın, sonra onlarca ürüne aynı bileşeni uygularsın. Kodun daha okunur olur, sayfa daha hızlı çalışır. Ve tabii ki: işlerin sürdürülebilirliği artar.

Ama React’in şöyle bir dezavantajı var: JavaScript bilmeden öğrenilmez. Hatta biraz da ileri seviye bilmek gerekir. State yönetimi, component lifecycle, prop yapısı derken… başta kafa karışabilir.

O yüzden önce düz JavaScript öğren, sonra React.

Web Makinası'nın kurucusu Oytun Yalçın, bir söyleşiden hemen önce sahnede.

Kurucumuz Oytun Yalçın’dan kişisel bir not

Buraya kadar anlattığım diller hep frontend’dir. Yani ziyaretçinin gördüğü katmandır ve tarayıcıda çalışır. Şimdi gelelim işin esas tarafına, yani Backend’e.

Web sitesini kurduk, güzelleştirdik, işlev kattık. Ama kullanıcı bir şey satın almak istiyorsa, giriş yapacaksa, yorum bırakacaksa, bu bilgilerin bir yere gitmesi gerekir. İşte o yer, sunucudur. Ve bu kısmı yöneten şeyse backend dediğimiz yapı.

Backend – Yiğidin harman olup kod yazdığı yer

Frontend, ekranın görünen yüzüyse; backend, arka tarafta çalışan motor gibi düşünebilirsin.

Node.js, Express.js, PHP, Python, Go… Hangisiyle yazarsan yaz, amaç aynıdır:

Kullanıcının gönderdiği veriyi al, işle, sakla, gerektiğinde geri getir. İşte burada devreye veritabanları da giriyor. Kullanıcıların bilgisi nerede tutulacak? Sipariş geçmişi nerede saklanacak? Cevap: MySQL, PostgreSQL ya da MongoDB gibi veritabanı sistemlerinde.

Back-end’in güçlü yanı şudur: İşin mantığını taşır. Ama zayıf yanı da var: Kod yazarken sonucu hemen göremezsin.

Yani bir buton tıklanıp sayfa kaymıyor, bir şey “görsel” olarak olmuyor. Loglarla, sorgularla uğraşmak zorundasın.

Ama gerçek dünyadaki bütün ciddi projelerin arkasında sağlam bir backend vardır. Olmazsa, siten sadece süslenmiş bir vitrin olur.

Backend zordur

Fakaaat backend kolay değildir. Frontend’ciler gibi övgü almazsın. Kimse çıkıp “abi veritabanı sorgun ne kadar estetik” demez. Hover’la uğraşmazsın ama sabaha karşı staging çöker, seni ararlar. Ve işin kötüsü, her şey çalışınca kimse seni hatırlamaz. Ama çalışmazsa… herkes sana gelir seni bilir. Backend, öyledir: yiğidin harman olduğu yerdir. Sessiz kahramanlık, kodla yapılır.

Derken işte tam bu anda… Ofiste herkes birbirine bakarken… Frontend’çi hover derdine düşmüş, backend loglara gömülmüşken… Ortama birisi girer:

Full Stack Developer

Bir elinde React, diğerinde Node.js. Gözleri uykusuz, cebinde 17 açık sekme.

İşte o Full-stack geliştiricidir. Ne “ben frontend’ciyim” der, Ne de loglara bakıp susar. O zaten her şeyi görmüştür. Ve çoktan düzeltmiştir bile. Bir bakarsın staging kurulmuş, Padding hatası çözülmüş, API endpoint yeniden 200 dönmeye başlamış.

Ama Slack’e yazmaz, nedense hep offline’dır fakat sadece bir commit mesajı düşer: “fixed.”

İşte saydığımız yapıların hepsini öğrenip kullanabilen biri varsa, ona full-stack developer diyoruz.

Ön yüzü de bilir, arka yüzü de. Görsel tasarımı yapar, veritabanı bağlantısını kurar, formu tasarlar, API’yi yazıp gönderilen veriyi işler. Böyle biri olmak kolay değil. Zaman alır.

Ama iste tek bir projeyi baştan sona çıkarabilmek… esas güç burada.

Bazen insanlar “her şeyden biraz biliyor” diyerek full-stack geliştiricileri küçümser ama gerçek şu ki, projeyi sadece bildiğini iddia eden değil, gerçekten yapan kazanır.

Ve bu yol, parça parça inşa edilir.
Yani sabırla, sırayla öğrenilir.

Ama burada durup şunu net söylemek gerekir:
Gerçek anlamda bir full-stack geliştirici olmak, bir bootcamp’le, bir YouTube listesiyle ya da birkaç hafta “çalışmayla” olacak iş değil. Bu, zamanla büyüyen bir düşünce yapısıdır.

Bir gün frontend’te yaşadığın bir sorun, üç ay sonra backend’de sana çözüm olur. Yıllar içinde bu tecrübe üst üste oturur.

Çünkü full-stack geliştirici, her şeyi aynı anda bilen kişi değildir. Her şeyi sırasıyla öğrenip, nerede neyin çalıştığını bilen kişidir. O yüzden full-stack olmak için koşma, yürü. Hatta emekle ve her adımı bilerek, sindirerek geç.

HTML’de harf hatası yapmadan, SQL’de veritabanını uçurmadan ilerle. Ve bir gün… Sistemi baştan sona kurup hata çıktığında kimin sorunu olduğunu düşünmeden, direkt çözmeye başlıyorsan…

İşte o zaman, sen de full-stack olmuşsundur.

Peki Nasıl İlerlemelisin?

Eğer şimdi başlıyorsan: HTML ile başla.
CSS ile sayfayı güzelleştir. JavaScript ile etkileşim ekle. Sonra React’e geç.
Ve son olarak backend dünyasına adım at. Bu sırayı takip ettiğinde sadece bir site yapmayı değil, web’i anlamayı öğrenmiş olursun. Ve bir gün dönüp baktığında şunu diyebilirsin: “Ben kendi sitemi sıfırdan yaptım.”

İşte o zaman, gerçekten başlamış olursun.

Web Makinası’nda, sistem kurar ve sadece doğru yapılarla çalışırız.

KİMLERLE ÇALIŞIYORUZ

İŞ KOLLARIMIZ

KURUMSAL

İLETİŞİM

Telefon
+90 (216) 706 15 70

WhatsApp
+90 (216) 706 15 70

E-posta
operasyon@webmakinasi.co

SİSTEM MERKEZİ

Web Makinası logosu

Web Makinası, bir Oytun Yalçın iştirakidir.
YouTube’da yayınlanan Web Makinası kanalının resmi websitesidir.

WEDRA Group

Web Makinası, bir WEDRA Group şirketidir.