1. ECMASCRIPT 6 diline giriş
Bu makaledeki PDF dosyası |BURADA| adresinde mevcuttur.
Bu makaledeki örnekler |BURADA| adresinde mevcuttur.
Bu belge, dört makaleden oluşan bir serinin parçasıdır:
- [Örneklerle PHP7 diline giriş (2019)];
- [ECMASCRIPT6 diline örneklerle giriş (2019)]. Bu, mevcut belgedir;
- [VUE.JS çerçevesine örneklerle giriş (2019)];
- [Örneklerle NUXT.JS Çerçevesine Giriş (2019)];
Bunların hepsi yeni başlayanlar için hazırlanmış belgelerdir. Makaleler arasında mantıksal bir akış vardır ancak birbirleriyle çok sıkı bir bağlantı yoktur:
- [1] belgesi, PHP 7 dilini tanıtmaktadır. Yalnızca PHP diliyle ilgilenen ve sonraki makalelerde yer alan JavaScript diliyle ilgilenmeyen okuyucu burada duracaktır;
- [2-4] belgeleri, [1] belgesinde geliştirilen vergi hesaplama sunucusu için bir JavaScript istemcisi oluşturmayı amaçlamaktadır;
- 3. ve 4. makalelerde yer alan [vue.js] ve [nuxt.js] JavaScript çerçeveleri, ECMASCRIPT'in en son sürümlerindeki JavaScript bilgisini gerektirir; bu sürümler, 6. sürümdür. Dolayısıyla [2] belgesi, bu JavaScript sürümünü bilmeyenler için hazırlanmıştır. Bu belge, [1] belgesinde oluşturulan vergi hesaplama sunucusuna atıfta bulunmaktadır. [2] belgesini okuyanlar, zaman zaman [1] belgesine başvurmak zorunda kalabilirler;
- ECMASCRIPT 6'yı iyice öğrendikten sonra, SPA modunda (Tek Sayfalı Uygulama) tarayıcıda çalışan JavaScript istemcileri oluşturmaya olanak tanıyan VUE.JS çerçevesine geçilebilir. Bu, [3] belgesidir. Bu belge, hem [1] belgesinde oluşturulan vergi hesaplama sunucusuna hem de [2]'te oluşturulan bağımsız JavaScript istemci koduna atıfta bulunmaktadır. [3] belgesini inceleyen kişi, zaman zaman [1] ve [2] belgelerine başvurmak zorunda kalabilir;
- VUE.JS iyice öğrenildikten sonra, tarayıcıda SSR (Sunucu Tarafında İşlenmiş) modunda çalışan JavaScript istemcileri oluşturmaya olanak tanıyan NUXT.JS çerçevesine geçilebilir. Bu, hem [1] belgesinde oluşturulan vergi hesaplama sunucusuna, [2]'te oluşturulan bağımsız JavaScript istemci koduna ve [3] belgesinde geliştirilen [vue.js] uygulamasına atıfta bulunur. [4] belgesini okuyanlar, zaman zaman [1], [2] ve [3] belgelerine başvurmak zorunda kalabilir;
[1] belgesinde geliştirilen vergi hesaplama sunucusunun son sürümü çeşitli şekillerde iyileştirilebilir:
- Yazılı sürüm sunucuya odaklanmıştır. Şu anda (Temmuz 2019) trend, istemci/sunucu modelindedir:
- sunucu, jSON hizmeti olarak çalışır;
- Web uygulamasının giriş noktası, statik veya dinamik bir sayfadır. Bu sayfa, HTML /CSS kodlarının yanı sıra JavaScript de içerir;
- web uygulamasının diğer sayfaları, JavaScript tarafından dinamik olarak oluşturulur:
- HTML sayfası, ana sayfayı sağlayan aynı sunucu tarafından sağlanan statik parçaların birleştirilmesiyle elde edilebilir veya tamamen JavaScript ile oluşturulabilir;
- bu farklı sayfalar, jSON hizmetinden istenen verileri görüntüler;
Böylece iş yükü istemci ve sunucu arasında dağıtılır. Yükü hafifleyen sunucu, daha fazla kullanıcıya hizmet verebilir.
Bu modele karşılık gelen mimari şöyledir:

JS: JavaScript
Javascript kodu istemci tarafındadır:
- statik veya dinamik sayfalar ya da parçalar sunan bir hizmetten;
- jSON hizmetinden;
Dolayısıyla JavaScript kodu bir jSON istemcisidir ve bu sıfatla, [UI, métier, dao] (UI: Kullanıcı Arayüzü) şeklinde katmanlara ayrılabilir; tıpkı PHP ile yazılmış jSON istemcilerimizde olduğu gibi. Sonuç olarak, tarayıcı yalnızca tek bir sayfa, yani ana sayfayı yükler. Diğer tüm sayfalar JavaScript tarafından alınır ve oluşturulur. Bu tür uygulamalara SPA: Tek Sayfalı Uygulama veya APU: Tek Sayfalı Uygulama denir.
Bu tür uygulamalar, aynı zamanda AJAX: Asenkron JavaScript ve XML
- Asenkron: çünkü istemci JavaScript’in jSON sunucusuna yaptığı çağrılar asenkron;
- XML: çünkü XML, jSON'in ortaya çıkmasından önce kullanılan teknolojiydi. Ancak AJAX kısaltması korunmuştur;
Önümüzdeki bölümlerde bu tür bir mimariyi inceleyeceğiz. İstemci tarafında, [Vue.js] [https://vuejs.org/] JavaScript çerçevesini kullanarak, jSON PHP sunucusunun JavaScript istemcisini yazacağız; bu sunucuyu [1] belgesinde yazdığımız sunucu tarafını yazmak için kullanacağız.
[Vue.js] bir JavaScript çerçevesidir. Bunu anlamak için bu dili iyi bilmek gerekir. Bu belgede, bu dilin en güncel (2019 yılı itibarıyla) standardı olan ECMAScript 6 standardını sunuyoruz. ECMAScript'in tarihçesi ve rolü hakkında bilgi Wikipedia'da [https://fr.wikipedia.org/wiki/ECMAScript] sayfasında bulunabilir.
Bu belge, çeşitli alanlarda (dil yapıları, veritabanlarına erişim, internet ağına erişim, katmanlı programlama, arayüzler aracılığıyla programlama) kullanılan konsol JavaScript betiklerinin bir listesini sunmaktadır. Belge, iki uygulama ile sona ermektedir:
[1] belgesinde oluşturulan vergi hesaplama sunucusunun istemcisi olacak bir konsol uygulaması. Bu istemci, [1] belgesinde oluşturulan PHP konsol istemcisiyle aynı mimariye sahip olacaktır:

- [7-9] katmanları, konsolda çalışan JavaScript istemcisinin katmanları olacaktır;
- [1-4] katmanları, [1] belgesinde oluşturulan PHP 7 sunucusuna ait katmanlardır;
- [1] belgesinde oluşturulan PHP konsol istemcisinin aksine, [6] yerel dosya sistemi ile herhangi bir etkileşim olmayacaktır;
Burada, istemcinin bir konsol uygulaması olduğu bir istemci/sunucu uygulaması söz konusudur. İkinci bir uygulama yazılacak ve bu uygulamada [7-9] katmanlarının kodu bir tarayıcıya taşınacaktır. Böylece, [3] ve [4] belgelerinde tarayıcıların JavaScript çerçevelerini ele almaya hazır olacağız.
Bu belgedeki komut dosyaları açıklamalıdır ve konsol çıktıları da verilmiştir. Bazen ek açıklamalar da sunulmaktadır. Belge, aktif bir okuma gerektirir: bir komut dosyasını anlamak için hem kodunu, hem açıklamalarını hem de çalıştırma sonuçlarını okumak gerekir.
Serge Tahé, Ekim 2019