Bilgi/Açıklama

JavaScript Kursu

JavaScript Üzerine

JavaScript, bir gözatıcı (browser) içinde HTML ve CSS ile oluşturulan örün betlerinde geliştirme (development) yapmak için kullanılan bir izlendirme dili (programming language) olarak kullanılır. Tüm gözatıcılar bu dili desteklediği için başka bir almaşık yoktur. Öte yandan JavaScript diliye sunucu (server) yakasında geliştirme yapmak da olanakdır.
JavaScript adının Java diliyle ilişkisi, ilk çıktıklarında uyumlu bir işbirliği içinde çalışmaları için verilmiştir. Ancak Java dili sunucu yakasında yaygın kullanılırken JavaScript istemci yakasında kullanılmaktadır. Onun dışında, söz dizimi benzerliğinden başka bir ilgileri yoktur.

JavaScript İleri KOnular

ECMAScript

JavaScript dilinin ilerlemesiyle birlikte ECMAScript ölçününe bir çok gelişmiş yapı eklenmiştir. Örneğin nesne yönelimli izlendirme (object-oriented programming) tekniği tüm özellikle dilde bulunmaktadır. Bunun dışında, olağan koşullarda bir çatı (framework) ile gerçekleştirilen, AJAX gibi işlemler için bulunan işlevler dilin kendisine içerilmiştir. ECMAScript dilin son sürümleri gözatıcı (browser) uygulamalarınca tanınmaktadır.

TypeScript

ECMAScript dili son derece gelişmiş özellikleri desteklese de kimilerince eksik bulunur. En önemli eksiği tür güvenli (type-safe) olmamasıdır. Ancak bu eksiklik kimilerine göre olumsuz değil, kolaylaştırıcı bir niteliktir. ECMAScript diline tür (type) desteği eklenmesiyle TypeScript adı verilen bir dil oluşur. Doğallıkla başka bir takım eklemeler de bulunmaktadır ama en belirleyici ayrım tür konusudur. Bununla birlikte, istemci yakasındaki gözatıcılar bu dili tanımaz. Bu nedenle sunucuda TypeScript dilinden JavaScript (daha doğru bir deyişle, ECMAScript) diline dönüştürmek gerekir.

Node.js ve NPM

Node.js, sunucu yakasında JavaScript ile geliştirme yapmak için tasarlanmış bir çevredir. Olağan durumlarda istemci yakasında kullanılan JavaScript dilinin sunucu yakasına aktarılmış biçimidir. Bunda amaç Java, C#.NET ve PHP gibi dillere yarışmacı olabilmektir. Ancak bu biçimde kullanımı oldukça sınırlı kalmış, ancak belli bir kullanım alanı da bulmuştır.
Öte yandan sunucu yakasında geliştirme için kullanılan Node.js, ECMAScript desteği dışında NPM (Node Package Manager - Düğüm Bohça Yöneticisi) adı verilen, geliştirici için gerekli bohça (package) yüklemeye yarayan bir araç içermektedir. Bu araç, Node.js ile geliştirme için değil, sunucu yakasında işlem yapılmasını gerekli kılan TypeScript, SASS ve LESS, Angular ve React gibi araçlarca kullanılmaktadır. Bu biçimiyle Node.js ve NPM, istemci yakasında çalışan ancak sunucu yakasında üretilen dil, betiklik ve çatıların geliştirme takımı olarak işlev görmektedir. Bu nedenle, bir örün çatısını kurmak için öncelikle Node.js kurmak ve NPM kullanmak gerekli olmaktadır.

JavaScript Betiklik (Library) & Çatı (Framework) Seçenekleri

JavaScript ya da onun son sürümlerinin ölçünü ECMAScript dilinde ileri özellikler bulunsa da çoğu kez geliştirme yapmak oldukça çetin olabilmektedir. Bu amaçla, işleri kolaylaştıracak JQuery, Angular ve React gibi betiklik (library) ve çatı (framework) ürünleri kullanılır.

JQuery

JavaScript diliyle HTML öğe (element) ve CSS seçici (selector) birimlerine kolay erişmek için JQuery (JavaScript Sorgusu) adlı bir betiklik yapılmıştır. Temel amacı JavaScript, HTML ve CSS dillerinin ayrı yapılarını tek bir biçime getirmektir. Doğrudan kendisini kullanılmasa da bir çok çatı bu betikliğin üzerine kurulmuştur.

Angular

AJAX türü gelişirmeyi kolaylaştırmak için Angular adlı bir çatı üretilmiştir. Temel mantığına MVVM (Model View View Model - Taslam Görünüm Görünüm Taslam) adı verilen bir yapıdır. Buna göre amaç JavaScript ile tanımlan veri (data) için taslam (model) sözcüğü kullanılır ve HTML için görsel öğeler de görünüm (view) adını alır. Angular çatısı JavaScript diliyle taslamda yapılan değişikliği kendiliğinden görünüme yansıtır. Görünümde HTML ile yapılan kullanıcı değişikliğini de kendiliğinden JavaScript ile tanımlı taslama geçirir. Başka bir deyişle AngularJS, JavaScript ile HTML arasındaki etkileşimiş herhangi bir geliştirme yapmadan, kendiliğinden sağlar.

React

Karmaşık örün beti (web page) geliştirmek için kullanılan çatılardan birisi de React adını taşır. Burada bileşen (component) mantığı bulunur. Buna göre bir örün betindeki herhangi bir bölüme ilişkin HTML, CSS ve JavaScript tek bir bileşen olarak görülür ve aralarındaki iletişim kendiliğinden yapılır. React, JavaScript ile HTML üretilmesini sağlar. JavaScript içinde HTML yazmayı kolaylaştırmak için de JSX adlı bir dil bulunmaktadır.

AJAX, XML, JSON, REST

HTTP iletişim kuralında HTML ile yapılmış bet (page) adı verilen belgelerle çalışılır. Kullanıcı bağ (link) adı verilen bileşenlere tıklayarak başka bir bete geçebilir. Ancak AJAX tekniğinde, bet değiştirilmeden, yalnızca gösterilecek içeriği sunucudan alınarak ve ekranda kullanıcının önüne getirilerek çalışılır. Kullanıcı bekletmemek için bu eşzamansız (asynchronized) olarak gerçekleşir. Sunucudan veri başlangıçta XML olarak alınmaktaydı. Daha sonra JSON biçimlendirmesi daha yaygın kullanılır duruma gelmiştir.
Sunucu yakasında AJAX tekiğiyle çalışan örün betlerine veri sağlama işlemine REST adı verilir. Buna göre sunucuda Java, C# ya da PHP gibi bir dilde bir sunum (service) yapılır. Bu istemciye JSON ya da başka bir dille veriyi HTTP üzerinden veriri. İstemci de bunu alıp örün yerliğinde gösterir. REST, her ne denli AJAX için kullanılsa da REST kullanmadan AJAX ile çalışmak olanaklı olabildiği gibi, bunun tümüyle tersi, REST yöntemini AJAX dışında da kullanmak olanaklıdır.
Detaylı bilgi için: Tıklayınız
tekzaf tarafından 15.10.2018 tarihinde eklenmiş/güncellenmiştir.

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir

Misafir Yorumları




Bu Sayfayı Paylaş:

İletişim/Bize Yazın   mh@fibiler.com   Google+   Facebook   Twitter   fibiler@googlegroups.com
Her Hakkı Saklıdır
Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir.
Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir