Javascript’e Bir Bakış Bir Giriş

Yıl 1995. Her şey Netscape’de Baş Mimar olarak görev alan Brendan Eich isimli personel ile başlıyor. Brendan, Netscape Communication Corporation için 10 günde Javascript’i yani ilk piyasaya sürüldüğü isim olan Mocha’yı geliştirdi. Bu isim Netscape’in kurucusu olan Marc Andressen tarafından seçilmişti. Aynı yılın Eylül ayında Mocha ismi yerini LiveScript’e bırakıyor olsada yine aynı yılın aralık ayında bu isim son kez günümüzde de bilinen ismiyle Javascript olarak değiştiriliyor. Bu isim o dönemde de oldukça popüler olan Java dilinin isminden esinlenilerek oluşturuluyor. Buradaki asıl amaç Java’nın popülaritesini kullanmaktı.

Sonrasında 1996-1997 yılında Javascript’in bir standartının oluşturulması amacıyla işe ECMA müdahale etti. ECMA yani Standartlar Birliği. Günün sonunda diğer tarayıcı üreticileri, sadece Netscape Browser için hazırlanan bu teknolojiyi kullanabilmek için Netscape’de hazırlanan temeli baz aldı. Bu standartın resmi ismi ECMAScript’dir. Javascript ise bu standartın en çok bilinen uygulamasıdır. Ardından 1998’de ECMAScript 2 ve 1999’da ECMAScript 3 yayınlandır. Yani Javascript, ECMAScript adı verilen bir standart belgesine dayanmaktadır. Bunu bıraz daha detaylandıracak olursak: ECMAScript, Javascript dilini tanımlayan bir standart belgesidir ve bu belge, dilin özelleklerinin nasıl uygulanacağına ddair krallar ve öneriler içerir. ECMAScript standartları, her yıl yeni bir sürümle güncellenmektedir.

Javascript bir betik dilidir ve kendi deyimleri ile “web belgelerine canlılık” getirmek için oluşturulan Javascript günümüzde web sitelerinin modern hale gelmesindeki en büyük etken oldu. Javascript sayesinde gelişmiş ve kullanıcı ile reaksiyon içeren web sayfaları geliştirebiliyoruz. Javascript’in popüleritesinin hızla artmasıyla beraber Javascript hem back-end hem de front-end tarafında kullanılabilir hale gelmiştir.

Javascript’in birçok kullanım alanı olsa da bunlardan en yaygın olanı web tarayıcılardır. Javascript, Javascript Motoru olan her yerde çalışmaktadır. Javascript ile hem back-end olarak hem de front-end olarak geliştirme yapılabilmektedir.

Popüler Javascript Front-End Framework’leri

  • React
  • Angular
  • Vue
  • MeteorJs

Popüler Javascript Back-End Framework’leri

  • Expres.js
  • Nest.js
  • Koa.js
  • Hapi.js

Bazı Javascript Motorları

  • V8 – Chrome ve Opera
  • SpiderMonkey – Firefox
  • Nitro – Safari
  • ChakraCore – Microsoft Edge

En Popüler Javascript Oyun Motorları

  • Babylon.js
  • Phase
  • Three.js
  • PlayCanvas

Betik Dili ne demek?

Bir dilde yazılan kod kümelerine betik denir. Doğrudan HTML kodu içerisine yazılıp sayfa yüklendiğinde doğrudan çalıştırılabilir. Komutlar herhangi bir derleme ve hazırlığa gereksinim duymadan doğrudan çalışırlar.

Önceden belirlenmiş görevleri gerçekleştirmek için tasarlanmış bir programlama dili türüdür. Betik dilleri genellikle bir betik motoru veya yorumlayıcı lullanarak çalıştırılır ve önceden belirlenmiş görevleri yürütmek için kısa bir kod kümesi içerir.

Javascript, web tarayıcılarında web sayfalarını canlandırmak, dinamik ve etkileşimli hale getirmek için kullanılan bir betik dildir. Javascript kodu, HTML belgesinin içinde <script> etiketi kullanılarak yerleştirilir ve tarayıcı tarafından yorumlanarak çalıştırılır. Javascript, tarayıcılar dışında da kullanılabilir. Örnek olarak, Node.js gibi birççok sunucu tarafı uygulaması, javascript kodunu çalıştırmak için bir betik motoru kullanır. Bu sayede, Javascript geliştiricileri, sunucu tarafı uygulamalarını da geliştirebilirler.

Betik diller, genellikle büyük ve karmaşık programların geliştirilmesi için tercih edilmezler, ancak küçük, önceden belirlenmiş görevleri gerçekleştirmek için ideallerdir. Betik diller, özellikle web geliştirme alanında, etkileşimli web sayfaları oluşturmak için yaygın olarak kullanılmaktadır.

Javascript Motoru Nasıl Çalışır

Javascript, yorumlanan bir programlama dilidir, yani kod yürütülmeden önce tarayıcıda yorumlanır. Bu yorumlama işlemi, kodun derlenmesi yerine kodu çalıştırmak için gerekli olan ttalimatların tek tek yorumlanması anlamına gelir. Tarayıcı, Javascript kodunun çalıştırılması sırasında birçok işlemi gerçekleştirir. bunlar kodun derlenmesi, değişkenlerin oluşturulması, fonksiyonların tanımlanması, döngülerin ve koşullu ifadelerin çalıştırılması ve daha birçok işlem yer alır. javascript moturu, tarayıcıda çalışan kodun hızını ve performansını arttırmak için çeşitli optimizasyon teknikleri kullanır. Bu tekniklerarasında, kodun yürütülmesini hızlandıran JIT (Just-In-Time derlenmesi, hafıza yönetimi ve çöp toplama gibi teknikler yer alır. Javascript kodu, web tarayıcısında yorumlanarak işletilir ve tarayıcı tarafından sağlanan birçok optimizasyon teknolojisiyle hızlandırılır.

Javascript motoru, tarayıcıların içinde çalıştırdığı ve Javascript kodunu yorumladığı yazılımdır. Javascript motoru, genellikle C++ programlama dilinde yazılmıştır. javascript motorları, C++ gibi düşük seviyeli bir programlama dilinde yazılır, çünkü yüksek performans gerektiren kodların çalıştırılması için optimize edilmelidirler. Ayrıca, C++’ın sağladığı düşük seviye kontrol sayesinde, Javascript motorları hafıza yönetimi, nesne modeli ve diğer önemli özelleri optimize edebilirler.

Örnek olarak, popüler bir javascript motoru olan V8, Google tarafından C++ programlama dili kullanılarak geliştirilmiştir. V8, Google’ın Chrome tarayıcısında ve Node.js gibi diğer Javascript uygulamalarında kullanılır. Diğer popüler Javascript motorları arasında SpiderMonkey(Mozilla), Chakra(Microsoft) ve JavaScriptCore(Apple) yer alır.

Motorlar çok karmaşık yapılar olsa da kolay öğelere dayanırlar.

1- Eğer bu motor taracıya gömülmüş ise yazılan Javascript kodları ayrıştırılır.

2- Sonra bu kodları makine diline çevirir.

3- Malkine bu kodları çok hızlı bir biçimde çalıştırır.

Motor bu sürecin her bir adımında iyileştirme yapar. Hatta derlenmiş ve çalışır durumda bulunan kodlardaki veri yapılarını inceler ve bunları iyileştirerek daha hızlı duruma getirir. Sonuç olarak yazılan bu kodlar çok hızlı bir biçimde çalışır.

Javascript’in Tarayıcı İçerisindeki Yapabilitesi

Tarayıcı içerisinde bulunan Javascript kullanıcı güvenliği amacıyla sınırlandırılmıştır. Amaç zararlı web sitelerinin özel bilgilere erişiğ kullanıcıya zarar vermesini engellemektir. Javascript güvenli bir programlama dilidir. Düşük düzeydeki diller gibi bellek veya işlemciye doğrudan erişim sağlamaz. Tarayıcı için olduğundan böyle bir şeye gereksinim duymaz. Javascript’in yapabilecekleri büyük bir oranda ortana dayanır. Örneğin Node.js, Javascript işlevleri ile dosyaları okuma, yazma veya ap üzerinden isteme işlemlerini yapabilir. Tarayıcı içerisindeki Javascript ise web sayfalarında görsel değişikliklere ve kullanıcı ile sunucu arasındaki etkileşimle ilgili her şeyi yapabilir.

Örneğin tarayıcı içerisindeki javascript şunları yapabilir:

  • Sayfaya yeni HTMl kodları ekleme veua öncekileri değiştirme, stilleri değiştirme veya ekleme.
  • Kullanıcının eylemlerine karşılık verme. Tıklama veya fare imlecinin hareketine göre işlem yaptırabilme.
  • Ağ üzerinden talep gönderebilme. Dosya yükleme veya indirebilme (buna AJAX ve COMET teknolojileri denir).
  • Tarayıcı çerezleri silme, ekleme veya düzeltme işlemlerinin yapılması. İleti gösterilmesi.
  • Kullanıcı tarafından verilerin saklanması (“local stroge”).

Güvenlik için engellemeleri şu biçimde sıralayabiliriz:

  • Web sayfalarında çalışan javascript dosyalara erişim sağlayamaz, saklama alanınızda bulunan programları kopyalayamaz veya çalıştıramaz. İşletim sisteminizin fonksiyonlarına doğrudan erişimi yoktur. Günümüz tarayıcıları dosyalarla çalışmanıza izin vverebilir ancak bu izin oıldukça sınırlıdır. Örnepğin, yalnızca dosyayı tarayıcıya taşıytığ bırakabilirsiniz veya <input> kullanarak dosyayı seçebilirsiniz. Her zaman kullanıcıyla kamera veya mikrofon vasıtası veya diğer aygıtlar aracılığıyla etkileşime geçebilirsiniz ancak kullanıcının kesin iznini almanız gerekir. Dolayısıyla bir web sayfası Javascript ile gizliden sizin kameranızı izleyemez.
  • Farklı sekmeler birbiri ile iletişime geçemez ve bilgi alışverişi yapamazlar. Bazı sitelerde aynı sekmeler iletişimde bulunabilir, örneğin bir sekmeden Javascript ile diğer sekmeyi açabilirsiniz. Bu durumda bile, bir sayfa diğerinden farklı alan adı, kural veya kapılarda ise erişemez. Bu olaya “Same Origin Polyicy” (Açık Kaynak kuralı) denir. Bunu çözmek için her iki sayfa özel bir javascript kodu ile birbirlerini onaylamalıdır. Bu engellemeler yine kullanıcının güvenliği içindir. kullanıcının açtığı http://example.com sitesi diğer sekmede bulunan http://example.org sitesinden bilgi çalamamalıdır.
  • Javascript kolayca bulunduğu saydadan veri alabilir ancak başka site veya alan adlarından veri alması sorunludur. Olanakları olmasına karşın her iki yanın onauo gereklidir. Yine, bunun güvenlik sınırlarıdır diyebiliriz.

Bu sınırlar, tarayıcı dışında kullanıldığında ortadan kalkar. Örneğin, sunucular daha geniş yetkilere sahiptir veya Node.js de HTML’deki dom elementlerine erişim yoktur.

Javascript dışında farklı yapılarda ve söz dizimlerinde Javascript kullanılarak yeni framewırkler geliştirilmiştir. Bu frameworkler çalıştırılmadan önce javascript’e çevriliyor. Günümüz araçları bu çeviri işini çok hızlı bir biçimde yapmaktadır. Gerçekte, doğrudan(siz yaparken bile) çevirme işini yapıp bu yeni dosyayı kullanılabilir duruma getirir.

Sonuç olarak Javascript başlangıçta sadece tarayıcıda kullanılmak üzere geliştirilen bir dilken günümüzde birçok çevrede çalışılabilir durumda. Javascript şu anda HTML/CSS ile bütünleşik olmasından ve geniş uyumluluğundan dolayı benzersizdir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir