JavaScript

JavaScript, her tarayıcıda çalışan ve web sayfalarını etkileşimli kılan programlama dili. Menüleri, formları, filtreleri ve animasyonları onunla kuruyor, her sayfada yalnızca gereken kodu yükleyerek sitenizi hızlı tutuyoruz.

JavaScript Nedir?

JavaScript, web sayfalarına davranış kazandıran programlama dilidir: HTML ve CSS ile birlikte her tarayıcının anladığı üç dilden biridir. Brendan Eich onu 1995'te Netscape'te, sayfalara basit bir etkileşim katmak için geliştirdi. Bugün çok daha fazlasını yapıyor ve tarayıcının dışında da çalışıyor; örneğin Node.js ile sunucularda.

Tarayıcıda JavaScript, sayfanın canlı modeli olan DOM ile çalışır: içerik ekleyebilir, değiştirebilir, gizleyebilir; tıklama, tuşa basma ya da kaydırma gibi olaylara tepki verebilir. Fetch API ile sayfayı yeniden yüklemeden veri getirir; modüller de kodu yalnızca gerektiğinde yüklenen küçük dosyalara böler. Ağdan yanıt beklenirken sayfanın donmamasını da async ve await anahtar sözcükleri sağlar.

Dil, Ecma International tarafından ECMAScript adıyla standartlaştırılır; ilk sürümü 1997'de yayımlandı. Tarayıcı üreticilerinin ve diğer üyelerin birlikte çalıştığı TC39 komitesi dili açık bir süreçle geliştiriyor ve 2015'ten beri her yıl yeni bir sürüm yayımlanıyor. JavaScript kullanmak ücretsizdir ve lisans gerektirmez.

JavaScript'i Nerede Kullanıyoruz?

JavaScript'i ziyaretçiye gerçekten yardımcı olduğu yerlerde ekliyoruz; içeriği görmenin şartı hâline getirmiyoruz. En sık şu işleri üstleniyor:

  • Menüler ve Gezinme

    Akıcı açılan, klavyeyle kullanılabilen ve odağı doğru yere taşıyan mobil menüler, açılır listeler ve dil seçiciler. Böylece ekran okuyucu kullananlar da yolunu kaybetmiyor.

  • Yardımcı Formlar

    Yazarken bilgiyi denetleyen, hataları açıkça anlatan ve sayfayı yenilemeden gönderilen formlar. Aynı denetimler sunucuda yeniden yapılıyor; böylece gelen veriye güvenilebiliyor.

  • Filtreleme ve Arama

    Ziyaretçilerin anında süzüp sıralayabildiği proje listeleri, kataloglar ya da iş ilanları. Tarayıcıdaki adres de birlikte güncelleniyor; filtrelenmiş görünüm paylaşılabiliyor ya da yer imlerine eklenebiliyor.

  • Animasyon ve Etkileşimli Bölümler

    GSAP ile kaydırmaya bağlı anlatımlar, Three.js ile üç boyutlu ürün görünümleri ya da ziyaretçinin sorusunu onu başka bir sayfaya göndermeden yanıtlayan hesaplayıcılar ve karşılaştırmalar.

Neden JavaScript?

  • Her Cihazda Çalışır

    Telefon, tablet ya da bilgisayar fark etmeksizin her tarayıcı JavaScript çalıştırır; yüklenecek bir eklenti ya da uygulama yoktur. Etkileşimli özellikler bütün ziyaretçilerinize aynı şekilde ulaşır.

  • Önce İçerik, Sonra Kolaylıklar

    Aşamalı geliştirme (progressive enhancement) ilkesini izliyoruz: metinler, bağlantılar ve temel formlar düz HTML'de çalışır, JavaScript bunların üzerine kolaylık ekler. Zayıf bir bağlantıda bir betik yüklenemese de sayfa işini görür.

  • Yalnızca Gereken Kadar

    Her sayfa için bir performans bütçesi belirliyor, betikleri yalnızca gerektiğinde, örneğin ilgili bölüm ekrana yaklaştığında yüklüyoruz. Daha az kod, daha hızlı açılış ve telefonda dokunuşlara daha çabuk tepki demek.

Projenizde Nasıl İlerliyoruz?

Tasarım aşamasında sayfanın hangi bölümlerinin etkileşimli olacağına ve her birinin, betiği yüklenmeden önce nasıl görüneceğine karar veriyoruz. Ardından önce HTML'yi kuruyor, JavaScript'i küçük modüller hâlinde ekliyor ve her etkileşimi fareyle, klavyeyle ve dokunmatik ekranda deniyoruz.

Yayından önce her sayfanın ne yüklediğini Lighthouse ve PageSpeed Insights ile kontrol ediyor, bütçeyi aşanı kırpıyor ve tarayıcı konsolunda hata arıyoruz. Analiz etiketleri gibi üçüncü taraf betiklerin, gereken durumlarda ancak ziyaretçinin çerez onayından sonra yüklendiğinden de emin oluyoruz.

Web Tasarım ve Yazılım

Sıkça Sorulan Sorular

Yardım Merkezi
JavaScript sitemi yavaşlatır mı?

Özenle kullanıldığında hayır. Her sayfada yalnızca gereken kodu yüklüyor, acil olmayanı erteliyor ve yayından önce hızı ölçüyoruz. Ağır üçüncü taraf betikler yavaş sayfaların sık görülen bir nedeni; onları da kontrol altında tutuyoruz.

Ziyaretçinin tarayıcısı JavaScript'i engellerse ne olur?

İçerik, bağlantılar ve temel formlar yine çalışır, çünkü bunları önce HTML ile kuruyoruz. Animasyonlar ya da anında filtreleme gibi bazı kolaylıklar ise devreye girmez.

Kod güvenli mi?

Bakımı düzenli yapılan kütüphaneler kullanıyor, onları güncel tutuyor ve tarayıcıda çalışan koda asla şifre ya da gizli anahtar koymuyoruz. Hassas olan her şey sunucuda işlenir.

Sonradan yeni özellik eklenebilir mi?

Evet. Kodu küçük ve birbirinden bağımsız modüller hâlinde yazdığımız için yeni özellikler siteyi baştan kurmadan eklenebilir; hangilerinin eklemeye değer olduğu konusunda da size yol gösteririz.

Doğru Araç, Doğru Ekiple

Hangi araçların işinize yarayacağını birlikte belirleyelim; projenize uygun bir yol haritasıyla dönelim.