Javascript Programlama dili, tümü ile nesnelerle tasarlanmış, modern ve son derece kullanıcı dostu bir programlama dilidir. Genel amaçlı programlar için C++ ve Java kadar etkindir. Yazılmış olan kodların okunması çok kolaydır. Sadece güvenlik açısından Web Sayfalarında güvenlik gerekçeleriyle yerel disk dosyalarına erişim sağlanması kısıtlanmıştır. JavaScript programla dili, nesneye yönelik programlamayı tam olarak destekleyen, modern ve etkin bir programlama dilidir.

JavaScript programlama dili, Unicode karakterini tam olarak destekler. Tüm program adımları, değişken fonksiyon ve nesne isimlerine tüm yerel diller kullanılarak verilebilir.

JavaScript programlama dili, son derece geniş ve zengin programlama dilidir. Bu dil, her türlü matematik işlemleri, tarih ve saat değerlerinin, karakter dizgilerinin, düzenli işlemlerin kolaylıkla yapılabilmesini sağlayan geniş ölçüde ön tanımlı nesneler ve metotlar içerir.

JavaScript programlama dili, değişkenlerin kullanılmadan önce tanıtılmalarını gerektirmez. Değişkenlerin tipleri kullanıcı tarafından önceden belirlenmesine gerek yoktur. Otomatik çöp toplayıcısına sahiptir, yani kullanımı tamamlanmış program öğeleri, bellekten otomatik olarak kaldırılır.

JavaScript programlama dili, web sayfalarında kullanıldığında çıktıları görüntülendiği sayfalardır. Bu sayfalar, günümüzde çok gelişmiş XHTML işaretleme dili ve CSS stil programlarının birlikte kullanımı ile çok renkli, multimedya destekli giriş/çıkış sayfaları haline getirilebilir. Günümüzde XHTML sayfaları, bilgisayar programcıları için en gözde giriş/çıkış ortamlarından biridir.

Sunucu İstemci Etkileşimi

WWW (World Wide Web) tüm Dünya’yı kapsayan bir uzak ağ (Wide Area Network) olarak tanımlanmıştır. Bu ağın üzerinde bulunan sunucularda bulunan belgelerin indirilmesi için, aynı ağa bağlanan istemciler istekte bulunurlar. Bu şekilde oluşan sunucu/istemci iletişimi ile sonucundaki belgenin bir kopyası istemciye indirilir ve istemci de öngördüğü şekilde işlenir. Bu işlemler, sunucuya veri iletimini de kapsarda, kullanıcının girdiği veriler, önce JavaScript ile kontrol edilir, uygun olmayan veriler kullanıcılar tarafından yenilenmesi istenir ve düzgün şekilde sunucuya gönderilmesi sağlanır. Bu şekilde de sunucunun yapması gereken işlemler bir miktar azaltılmış olur.

JavaScript Programalama Dilinin Güvenlik Önlemleri 

JavaScript programlama dilinin kullanıcı bilgisayarlarına zararlı kod yerleştirilmesinin önüne geçmek için bir miktar kısıtlama yapılarak bazı kurallar konulmuştur. Bunlar ilki Aynı Kaynak Kuralı‘dır. Yani JavaScript ağ üzerinde aynı bölge (domain) de olmayan hiç bir bilgisayara çıktı veremez. Yani web üzerinden istemci bilgisayarına (cookie, SQLite, IndexDB, Session Storage, Local Storage vs… dışında) hiç bir şey yapamaz.

JavaScript web ortamında kullanıldığında istemci bilgisayarın hiç bir dosyasına erişemez. ECMA-262 standartlarında hiç bir dosyalama işlemi bulunmaz. Özetle JavaScript son derece güvenlidir.

JavaScript Programlama Dillerinin Çekirde, BOM ve DOM Bölümleri

Web ortamında kullanılan JavaScript üç bölümden oluşur. Bunlar,

  • Çekirdek Kısım (Core – ECMA-262).
  • Belge Çözümleyicisi Nesne Modeli (Browser Object Model – BOM – Herhangi Standardı yoktur).
  • Belge Nesne Modeli (Document Object Model – DOM – W3C Düzey 1, 2 (Çekirdek) ve 3 (Çekirdek).

olarak adlandırılmaktadır.

Çekirdek (CORE) kısmı, JavaScript programlama dilini değişken, fonksiyon vs.. yazımı gibi, temel öğelerin tanımlandığı bölümdür. Bu bölüm ECMA tarafından ECMA-262 olarak standartlaştırılmış ve ECMAScript olarak tanımlanmıştır.

Belge Çözümleyici Nesne Modeli, JavaScript programlama dilinin belge çözümleyicisi içinde çalışmasından kaynaklanan ve belge çözümleyicisinin sağladığı öntanımlı özellik, metot ve nesnelerden oluşur. Bu öntanımlı ögeler, çekirdek öğelerine eklenerek kullanıcının erişebileceği öntanımlı öğelere katkıda bulunurlar. Belge çözümeyici kaynaklı öğeler, istemci tarafı JavaScript veya kısaca Belge Çözümleyici Nesne Modeli (BOM – Browser Object Model) olarak adlandırılır ve window nesnesinin alt nesnelerini oluştururlar. BOM yöntemleri, yeni pencerelerin açılması ve pencere işlemlerinin yapılmasının sağlanması için belge çözümleyicilerle ilişki kurulmasını sağlayan yöntemleri kapsamaktadır. Bu yöntemlerin tamamı belge çözümeyicisine özel metotlar olduğundan, bugüne kadar, belge çözümleyiciler sağlayan şirketler arasında bir uyum sağlanarak standartları oluşturma olanağı bulamamıştır.

Belge Nesne Modeli (Document Object Model – DOM) window nesnesinin bir alt nesnesi olan document nesnesinin metotlarını kapsamaktadır. Bu metotlar, web belgesinin içeriğindeki elemanlara erişim, bu elemanların görüntücüsünü değiştirmeye, yeni CSS stil kuralları yaratmaya, yeni olay yöneticileri oluşturmaya veya eski olay yöneticilerine yeni görevler yüklemek vs.. gibi araçlardan oluşmaktadır. Bir web sayfasını oluşturan elementler, prensip olarak standart olduğunda, JavaScript programalama dilinin bu kısmı belge çözümleyicisine bağlı olması gerekir. Bu düşünce doğru olmakla beraber ancak yeni olarak ortak standartlar geliştirilebilmiş ve daha da kötü olarak, bu standartların ancak az bir kısmı uygulamadaki belge çözümleyicilerce desteklenebilmiştir. Burada önemli olan standardın olması değil, var olan standarda sağlanan gerçekte destektir. JavaScript programlama dilinin web belgesinin içeriğini etkilemek için Netscape 3 sürümünden kalan DOM-öncesi, DOM-Düzey-0 veya Legacy DOM olarak adlandırılan eski bilgirimler uzun kullanılmıştır. Bu yöntemler, kontrolsüz ve standarda bağlı değildir. Günümüzde W3C, DOM yöntemlerini tamamen standartlaştırmıştır. Bu standartlar, kullanılmakta olan belge çözümleyiciler tarafından yeterince desteklenmektedir.

Kaynaklar :
https://developer.mozilla.org
http://bedriemir.com/

0 cevaplar

Cevapla

Want to join the discussion?
Feel free to contribute!

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir