JavaScript Nedir? Yeni Başlayanlar İçin Temel JS Rehberi

JavaScript Nedir? Yeni Başlayanlar İçin Temel JS Rehberi

JavaScript, web geliştiricilerinin web sayfaları, uygulamalar, sunucular ve hatta oyunlar geliştirirken daha dinamik etkileşimler oluşturmak için yaygın olarak kullandıkları hafif bir programlama dilidir.

Geliştiriciler genellikle HTML ve CSS‘nin yanında JavaScript’i kullanır Komut dosyası dili, HTML öğelerini biçimlendirmede CSS ile iyi çalışır. Bununla birlikte, JS, CSS’nin kendi başına yapamayacağı bir şey olan kullanıcı etkileşimini sürdürür.

JS’nin web, mobil uygulama ve oyun geliştirme içindeki uygulamaları, betik dilini öğrenmeye değer kılar. Bunu BitDegree gibi öğrenme platformları aracılığıyla veya GitHub gibi kod barındırma platformlarındaki ücretsiz JavaScript şablonlarını ve uygulamalarını keşfederek yapabilirsiniz.

JavaScript Nedir?

JS, dinamik web sayfası içeriği oluşturmak için bir betik dilidir. Açılır menüler, hareketli grafikler ve dinamik arka plan renkleri gibi site ziyaretçilerinin web sayfalarıyla etkileşimini geliştirmek için öğeler oluşturur.

Geçmişten Günümüze JavaScript

JavaScript, bir Netscape çalışanı olan Brandan Eich tarafından 1995 yılının Eylül ayında 10 günlük bir süre içerisinde oluşturuldu. İsmi ilk olarak Mocha idi ve dilin adı daha sonraları Mona ardından da JavaScript olmadan hemen önce LiveScript adını aldı. Dilin ilk sürümleri özellikle Netscape’ye özgü idi ve sınırlı işleve sahipti ancak zaman içinde geliştirici topluluğunun da yardımıyla büyümeye devam etti.

1996 yılında JavaScript resmi olarak ECMAScript adını aldı ve ECMAScript 2 1998’de,  ECMAScript 3 ise 1999 yılında geldi. Bu da günümüzün JS’sine evrildi ve sadece farklı tarayıcılarda çalışmanın dışında aynı zamanda mobil ve masaüstü bilgisayarlar gibi farklı cihazlarda da çalışıyordu.

JavaScript o günden beri büyümeye devam etti ve 2016 yılı itibariyle web sitelerinin %92’si JS kullanmaya başladı. Sadece 20 yıl içerisinde ilkel bir dil halinden dünyanın en popular dili olmayı başardı. Eğer internet kullanıyorsanız, mutlaka JavaScript ile karşı karşıya gelmişsinizdir.

Javascript nedir, JS’inn geçmişi gibi konuların ardında şimdi de kullanım yerlerini açıklayacağız.

JavaScript ile neler yapılabilir?

Betik dilinin ilk sürümleri yalnızca dahili kullanım içindir. Netscape, bunu web tarayıcıları için standart bir özellik olarak ECMA International‘a sunduktan sonra JavaScript, ECMAScript’in yayınlanmasına öncülük etti.

Web sayfalarının farklı tarayıcılar ve cihazlar arasında birlikte çalışmasını sağlamak için genel amaçlı bir komut dosyası diliydi.

JavaScript, o zamandan beri Mozilla Firefox ve Google Chrome gibi yeni tarayıcılarla büyümeye devam etti. Hatta Google Chrome, bayt kodunu yerel makine kodunda derleyen V8 adlı ilk modern JS motorunu geliştirmeye bile başladı.

Günümüzde JavaScript; AngularJS , jQuery ve ReactJS gibi karmaşık projeleri basitleştirmek için birçok çerçeveye ve kütüphaneye sahiptir.

Başlangıçta istemci tarafında çalışan JS uygulaması, Google Chrome JavaScript V8 motorunda oluşturulmuş bir platformlar arası sunucu ortamı olan Node.js‘nin geliştirilmesinden sonra sunucu tarafında dallara ayrıldı.

En çok web tabanlı programlara hitap ederken, JavaScript programlama özelliklerinin farklı alanlarda başka uygulamaları da mevcut. Aşağıda JavaScript’in birkaç temel kullanım alanını görebilirsiniz.

1. Web ve Mobil Uygulamalar

JS kod kitaplıklarından oluşan JavaScript çerçevelerinin geliştirilmesi, geliştiricilerin projelerinde önceden yazılmış JS kodunu kullanmalarına olanak tanır. Programlama özelliklerini sıfırdan kodlamayacakları için de bu onlara zaman ve emek tasarrufu sağlar.

Her JavaScript çerçevesi, geliştirme ve hata ayıklama sürecini basitleştirmeyi amaçlayan özelliklere sahiptir.

Örneğin, jQuery ve ReactJS gibi önuç JS çerçeveleri tasarım verimliliğini artırır. Geliştiricilerin kod bileşenlerini birbirlerini, işlevi veya değeri etkilemeden yeniden kullanmalarına ve güncellemelerine olanak tanır.

Bu arada Cordova ve Titanium gibi mobil uygulama geliştirme çerçeveleri, yerel veya hibrit uygulamalar (İng.) oluşturmayı mümkün kılar.

JavaScript kodunun Node.js’de uygulanması da web geliştirmede önemli bir rol oynar. Node.js, tek iş parçacıklı yapısı ve engellenmeyen mimarisi nedeniyle sunucu yanıt süresini azaltabilir ve gecikmeleri ortadan kaldırabilir.

Node.js ayrıca mikro hizmetler için ölçeklenebilir bir araç olarak hizmet edecek kadar hafiftir ve bireysel işlemlere sahip küçük hizmetlerden oluşan tek bir uygulama geliştirmenize olanak tanır.

2. Web Sunucuları ve Sunucu Uygulamaları Oluşturma

JavaScript, Node.js aracılığıyla geliştiricilerin web sunucuları ve arkauç altyapısı oluşturmasına olanak tanıyarak web sunucusu oluşturmada zamandan ve emekten tasarruf etmelerini sağlar.

Yerleşik HTTP modülü, kullanıcılar bir web sayfasına eriştiğinde düz metin görüntüleyen temel bir HTTP sunucusu geliştirmenizi sağlar. HTTP isteklerini işlemek için Node.js’nin kendi web sunucusunu, Node-OS’yi veya Microsoft Internet Information Services (IIS) ve Apache gibi üçüncü taraf sunucuları kullanabilirsiniz.

Node-OS’nin Linux çekirdeği üzerine kurulduğu için Linux işletim sistemlerinde en iyi şekilde çalıştığını unutmayın.

3.Web Sitelerinde Etkileşimli Davranış

JavaScript’in temel işlevlerinden biri web sayfalarına dinamiklik kazandırmaktır. Bu, animasyonları görüntülemeyi, metin görünümünü değiştirmeyi ve açılır menüler oluşturmayı içerir.

Bir web sitesi oluşturmak için yalnızca HTML ve CSS kodunu kullanabilseniz de, yalnızca statik bir ekrana sahip olacaktır. JavaScript ile bir kullanıcı, yani ziyaretçi, web sayfalarıyla etkileşime girebilir ve daha iyi bir tarama deneyimine sahip olabilir.

Ayrıca JavaScript, HTML içeriğini ve öznitelik değerlerini önce web sayfasını yeniden yüklemeden değiştirmenize olanak tanır. Bunun nedeni JavaScript’in aşağıdaki veri türlerini desteklemesidir:

  • String (metin)‒ tırnak içine yazılan metinsel verilerden oluşur. Örneğin, “Merhaba dünya”‘Merhaba dünya‘ ve “‘Merhaba dünya’ metnini görüntüle”.
  • Sayı‒ (2^53 – 1) ile -(2^53 – 1) arasındaki tamsayı ve kayan noktalı sayıları kapsar.
  • Boolean ‒  true ve false değerlerine sahip mantıksal veri türleridir..
  • BigInt ‒ keyfi uzunluktaki tamsayı verilerini temsil eder.
  • Null ‒ boş bir değer içerir.
  • Undefined ‒ bildirilen ancak atanmamış değişkenleri içerir.
  • Symbol ‒ nesneler için benzersiz tanımlayıcılar sağlar.
  • Object ‒ kaşlı ayraçlarla yazılmış karmaşık veri yapıları için. Örneğin, {item:”Kitap”, information:”biyografi”}.

Nesne dışındaki tüm veri türlerinden oluşan ilkel veri türleri, yalnızca tek bir veri depolayabilir. Bu arada, nesne veri türü bir değerler koleksiyonu içerebilir.

JS ile, çerezleri kullanarak kullanıcıların web’de gezinme deneyimini de iyileştirebilirsiniz. JavaScript’te tanımlama bilgileri oluşturma, okuma ve silme, tanımlama bilgilerinin değerlerinin alıcısı ve ayarlayıcısı olarak işlev gören document.cookie özelliğini gerektirir.

4. Oyun Geliştirme

JavaScript, HTML5 ve WebGL gibi bir Uygulama Programlama Arayüzü (API) ile kullanıldığında bir oyun oluşturmanıza yardımcı olabilir. Phaser, GDevelop ve Kiwi.js gibi çok sayıda JS tabanlı oyun motoru, grafik oluşturma, kod geri dönüşümü ve platformlar arası uygulamalar için kullanılabilir.

JS oyun motorlarıyla yapılan oyunlardan bazıları Angry Birds,

JavaScript, HTML5 ve WebGL gibi bir Uygulama Programlama Arayüzü (API) ile kullanıldığında bir oyun oluşturmanıza yardımcı olabilir. Phaser, GDevelop ve Kiwi.js gibi çok sayıda JavaScript tabanlı oyun motoru, grafik oluşturma, kod geri dönüşümü ve platformlar arası uygulamalar için kullanılabilir.

JavaScript oyun motorlarıyla yapılan oyunlardan bazıları Angry Birds, The Wizard ve 2048‘dir.

Angry Birds

JavaScript Niçin Harikadır?

JavaScript’in rakiplerinden daha iyi bir seçim olmasını sağlayan birtakım avantajları vardır. JavaScript kullandığınızda aşağıdaki maddelerden faydalanırsınız.

  • Basitlik ‒ basit bir yapıya sahip olması JavaScript’in öğrenilmesini ve uygulanmasını kolaylaştırır ve diğer bazı dillerden daha hızlı çalışır. Hataları tespit etmek ve düzeltmek de kolaydır.
  • Hız ‒ JS, komut dosyalarını önce bir sunucuya bağlanmadan veya bir derleyiciye ihtiyaç duymadan doğrudan web tarayıcısı içinde yürütür. Ek olarak, çoğu büyük tarayıcı, program yürütme sırasında JavaScript’in kod derlemesine izin verir.
  • Çok yönlülük ‒ JS, PHP, Perl ve Java gibi diğer dillerle uyumludur. Ayrıca veri bilimi ve makine öğrenimini geliştiriciler için erişilebilir hale getirir.
  • Popülarite ‒ Sınırlı teknik beceri ve JavaScript bilgisine sahip yeni başlayanlara yardımcı olacak çok sayıda kaynak ve forum mevcuttur.
  • Sunucu yükü ‒ İstemci tarafında çalışmanın bir başka avantajı da JavaScript’in sunucuya gönderilen istekleri azaltmasıdır. Veri doğrulama, web tarayıcısı aracılığıyla yapılabilir ve güncellemeler yalnızca belirli web sayfası bölümleri için geçerlidir.
  • Güncellemeler ‒ JavaScript geliştirme ekibi ve ECMA International, sürekli olarak günceller ve yeni çerçeveler ve kütüphaneler oluşturarak sektördeki uygunluğunu sağlar.

JavaScript Zayıf Yanları Nelerdir?

Aklınıza gelen bütün yazılım dillerinin bazı zayıf yanları bulunur. Sorunun bir bölümü de, bir yazılım dili JavaScript gibi popular olduğunda saldırganların, dolandırıcıların ve diğer zararlı üçüncü partilerin de ilgisini çekiyor ve güvenlik açıklarının peşine düşülmesinden kaynaklanıyor. JavaScript’in bazı zayıflıkları şu şekildedir:

  1. Açıklara karşı zayıftır;
  2. Kullanıcı bilgisayarlarında zararlı kod çalıştırmak için kullanılabilir;
  3. Her zaman farklı tarayıcı ve cihazlar tarafından desteklenmez;
  4. JS kodları oldukça büyüktür.
  5. Farklı cihazlarda farklı çalıştırılabilir bu da tutarsızlığa sebep verebilir.

JavaScript Kodu Web Sayfanızda Nasıl Çalışır?

JavaScript ya doğrudan bir web sayfasına gömülür ya da ayrı bir .js dosyası aracılığıyla başvurulur. Bir kullanıcı bu web sayfasını ziyaret ettiğinde, tarayıcısı HTML ve CSS koduyla birlikte komut dosyasını çalıştırır ‒ tarayıcı sekmesi aracılığıyla görüntülenen işlevsel bir sayfa oluşturur.

Komut dosyası, ziyaretçilerin makinelerine indirilir ve orada işlenir. Bu, sunucunun komut dosyasını tarayıcıya göndermeden önce işlediği sunucu tarafı dilden farklıdır.

Bir JavaScript kodu bloğuyla karşılaştığınızda, bir web tarayıcısı onu yukarıdan aşağıya doğru işler. Sıraya duyarlı olduğundan, değiştirmeden önce blok içindeki nesnelere veya değişkenlere başvurduğunuzdan emin olun. Değeri olmayan değişkenlere sahip olmak tanımsız bir hataya neden olur.

JavaScript’in Diğer Programlama Dillerinden Farkı Nedir?

JavaScript’in en popüler programlama dillerinden biri olmasının nedeni, çok yönlü olmasıdır. Pek çok geliştirici, JavaScript’in sağlamadığı belirli bir işleve ihtiyaç duymadıkça bunu birincil tercihleri ​​olarak görür.

En popüler programlama dillerinden birkaçına göz atalım:

C# – .NET ekosisteminde çalışan uygulamalar oluşturmak için nesne yönelimli bir dil. Statik olarak yazılmıştır, yani değişkenler derleme zamanında tanımlanabilir. JavaScript’ten farklı olarak C#, veri türlerini değiştirmenize olanak tanıyan operatör ve dönüştürme aşırı yüklemesine sahiptir.

Java – büyük programları ve uygulamaları desteklemek için tasarlanmış nesne yönelimli bir programlama dili. JavaScript’ten farklı olarak Java, güçlü bir şekilde yazılır, yani değişkenlerinin belirli veri türlerine bağlı olması gerekir. Java, betiğini çalıştırmak için tam zamanında (JIT) bir derleyici gerektirir.

PHP – WordPress gibi PHP tabanlı içerik yönetim sistemlerinde yaygın olarak görülen sunucu taraflı bir dil. Ana hedefleri, bir veritabanına ve veritabanından bilgi aktarmak, HTML dosyalarını birleştirmek ve oturumları izlemektir. JavaScript’ten farklı olarak PHP, veritabanlarına doğrudan erişebilir ve hem küçük hem de büyük harf değişkenlerini kabul eder.

Ruby – metaprogramlamayı destekleyen, diğer programları ve kendisini analiz edip değiştirebileceği anlamına gelen genel amaçlı bir programlama dili. En popüler çerçevesi olan Ruby on Rails, büyük web uygulamalarını maliyet ve zaman açısından verimli bir şekilde oluşturmanıza olanak tanır. JavaScript’in Node.js üzerindeki uygulaması, Ruby on Rails çerçevesinden ilham alır.

Bir Web Sitesine Nasıl JavaScript Eklenir?

Bir HTML web sayfasına JavaScript kodu eklemenin iki yolu vardır: dahili ve harici. Dahili JavaScript, tüm JavaScript kodunu kapsüllemek için HTML komut dosyasının gövdesindeki <script> etiketini kullanır.</p> 

Aşağıda, <script> etiketiyle bir dahili JavaScript örneği bulabilirsiniz:

<html>
<head>
  <title>Inline JavaScript</title>
  <script type="text/javascript">
    alert("Hello World");
  </script>
</head>
<body>
</body>
</html>

Ayrıca komut dosyasını HTML olay niteliklerine gömerek, bir olay tetiklendiğinde tarayıcının bunu yürütmesini isteyebilirsiniz ‒ bu komut dosyası türüne satır içi JavaScript adı verilir:

<button onclick="alert('Click for more details')">Click</button>

Öte yandan, harici JavaScript, kodu ayrı bir .js dosyasında saklamayı ve ardından onu HTML sayfası içinde geri çağırmayı içerir. Geliştiriciler genellikle bu yöntemi büyük projeler üzerinde çalışırken kullanırlar, çünkü bunu yapmak komut dosyasını düzenli tutar.

Ayrıca, komut dosyasını birden çok HTML sayfasında yeniden kullanmanıza olanak tanır; bu, birçok geliştiricinin çok değer verdiği bir şeydir.

Örneğin, aşağıdaki komut dosyasını bir HTML sayfasına eklemek, script.js adlı harici bir JavaScript dosyasını geri çağırmanıza olanak tanır:

<script src="script.js" defer></script>

Aşağıda, harici bir JavaScript dosyasına nasıl başvurulacağı örneği mevcut:

<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Time right now:</title>
</head>
<body>
  <button type="button" onclick="myFunction()">Select</button>
</body>
<script src="js/script.js"></script>
</html>

Bir metin düzenleyici kullanarak JavaScript kodu oluşturabilir ve değiştirebilirsiniz. Aramanızı daraltmak için 2021 en iyi metin düzenleyicilerini (text editor) derledik.

İki tür metin düzenleyicisi olduğunu unutmayın: WYSIWYG düzenleyicileri ve metin düzenleyicileri. WYSIWYG metin düzenleyici, kod bloklarının bir sayfada nasıl göründüğünü gösterdiği için yeni başlayanlar için daha uygundur.

Örneğin TinyMCE, WordPress’te kullanılan popüler bir WYSIWYG metin düzenleyicisidir.

 TinyMCE

Öte yandan, metin tabanlı bir düzenleyici, kodu özelleştirmede daha fazla özgürlük sunar, ancak çalışması için HTML becerileri gerektirir. En popüler metin editörlerinden bazıları Sublime TextAtom, ve Notepad++.’dır.

JavaScript resmi web sitesi, hem yeni başlayanlar hem de meraklılar için tonlarca demo eğitimi sağlar.

Yani, JavaScript Nedir?

JavaScript, web sitelerine etkileşim eklemek için genellikle HTML ve CSS ile birlikte kullanılır. Bazı durumlarda JavaScript, geliştiricinin her seferinde sıfırdan kodlamasına gerek kalmadan gelişmiş işlevsellik sağlamak için üçüncü taraf kitaplıklarından yararlanabilir.

Değer açısından, JavaScript’e yeni başlayanlar aşağıdaki faydaları bekleyebilir:

  • Öğrenmesi ve belirli web sayfası öğelerine veya olaylarına uygulanması kolaydır.
  • Güçlü bir geliştirici topluluğu tarafından desteklenir.
  • Sunucuya gönderilen istekleri azaltır.
  • Diğer birçok dille uyumludur.
  • Diğer programlama dillerinden daha hızlı ve daha hafiftir.

Umarız bu rehber, JavaScript nedir ve JS’nin web siteleri ile uygulamalardaki işlevini anlamanıza yardımcı olmuştur. JavaScript kodlamayı öğrenmek istiyorsanız, yazılım öğrenme rehberimize de göz atın.

Daha fazla sorunuz veya öneriniz varsa, bize yorum bırakmaktan çekinmeyin.

Author
Yazar

Gürkan M.

Gürkan, Amerikan Kültürü ve Edebiyatı mezunu ve Hostinger’da pazarlama asistanı olarak içerik yönetimi, dijital pazarlama ve çevirilerden sorumlu. Küçük yaşta tanışıp o günden bu yana hayatının büyük bir parçası olan internette web geliştirme ve özel olarak WordPress konularıyla yakından ilgileniyor. Ayrıca, pervasız bir gamer.