JavaScript, web sitelerinde dinamik ve etkileşimli içerik oluşturmak için gerekli olan çok yönlü bir programlama dilidir. 1995 yılında tanıtılan, web tarayıcıları için istemci taraflı bir betik dili olarak hızla popülerlik kazandı ve geliştiricilerin sitelerine kolaylıkla işlevsellik ve etkileşim eklemelerini sağladı. O zamandan beri JavaScript, sunucu tarafı geliştirme için Node.js ve mobil uygulamalar oluşturmak için React Native gibi tarayıcının ötesinde çeşitli ortamlara dönüştü.
Dinamik web içeriği, bir web sitesinin değişen ve kullanıcı girişi veya eylemleriyle etkileşime giren öğelerini ifade eder. Dinamik içeriğe sahip bir web sayfası, kullanıcılar öğeleriyle doğrudan etkileşime girebildiğinden daha ilgi çekici hale gelir ve daha çekici bir kullanıcı deneyimi yaratır. JavaScript, kullanıcı eylemlerine, girdilere veya diğer koşullara dayalı olarak bir web sayfasının düzenini, stilini ve işlevselliğini değiştirmek için HTML ve CSS ile etkileşime girerek dinamik içeriğin oluşturulmasında çok önemli bir rol oynar.
Bu yazıda, JavaScript'in temellerini inceleyeceğiz, temel kavramları ve sözdizimi hakkında bilgi edineceğiz ve web sitelerine ve web uygulamalarına nasıl etkileşim kattığını keşfedeceğiz.
JavaScript Temelleri: Temel Kavramlar ve Sözdizimi
JavaScript ile başlamak için temel kavramlarını ve sözdizimini anlamak önemlidir. Bu bölümde, değişkenler, veri türleri, nesneler, diziler, döngüler, koşullu ifadeler ve işlevler dahil olmak üzere çeşitli temel fikirleri ele alacağız.
Değişkenler
Değişkenler, veri değerlerini depolamak için kaplardır. JavaScript'te değişkenler, let
, const
veya var
anahtar sözcüğü kullanılarak, ardından değişken adı ve başlangıç değeri olan isteğe bağlı bir atama işleci kullanılarak bildirilir. Değişkenler, kodunuz boyunca verileri depolamak, referans vermek ve işlemek için bir yol sağlar.
let myVariable = 'Hello, world!'; const PI = 3.14159; var oldVariable = 'This is an older declaration style.';
Veri tipleri
JavaScript, farklı bilgi türlerini temsil etmek ve bunlarla çalışmak için çeşitli veri türlerine sahiptir. Bazı temel veri türleri şunları içerir:
- Sayı : Hem tamsayıları hem de kayan noktalı sayıları temsil eder.
- String : Tek veya çift tırnak içindeki metni temsil eder.
- Boolean : Doğru veya yanlış değerleri temsil eder.
- Boş : Genellikle herhangi bir değerin kasıtlı olarak yokluğunu belirtmek için kullanılan tek bir boş değeri temsil eder.
- Tanımsız : Bildirilmiş ancak bir değer atanmamış bir değişkeni temsil eder.
nesneler
Bir nesne, her biri bir ada (veya anahtara) ve bir değere sahip bir özellikler koleksiyonudur. JavaScript'teki nesneler değişkendir ve karmaşık veri yapılarını temsil etmek için kullanılabilir. Küme parantezleri ( {}
) kullanarak nesneler oluşturabilir ve özellikleri virgülle ayrılmış anahtar-değer çiftleri olarak belirtebilirsiniz.
let person = { firstName: 'John', lastName: 'Doe', age: 30, };
diziler
Diziler, tek bir değişkende tutulan sıralı değer koleksiyonlarıdır. Diziler, veri listeleriyle çalışmanız gereken durumlarda kullanışlıdır. JavaScript'te köşeli parantezler ( []
) kullanarak bir dizi oluşturabilir ve öğelerini virgülle ayırarak listeleyebilirsiniz.
let fruits = ['apple', 'banana', 'cherry'];
Döngüler
Döngüler, belirli bir koşula bağlı olarak bir kod bloğunu tekrar tekrar yürütmenize olanak tanır. JavaScript'te birkaç tür döngü vardır:
- for döngüsü : Bir kod bloğunu belirli sayıda çalıştırır.
- for...of loop : Yinelenebilir bir nesnenin (örneğin, bir dizi) öğeleri üzerinde yinelenir.
- for...in döngüsü : Bir nesnenin özelliklerini yineler.
- while döngüsü : Belirli bir koşul geçerli kaldığı sürece bir kod bloğu yürütür.
- do...while döngüsü : Bir kod bloğunu bir kez çalıştırır, ardından belirtilen koşul geçerli kaldığı sürece döngüyü tekrarlar.
koşullu ifadeler
Koşullu ifadeler, belirli koşullara dayalı olarak farklı kod bloklarını yürütmenize izin verir. JavaScript'teki birincil koşullu ifadeler if
, else if
ve else
. Belirtilen koşullara bağlı olarak farklı sonuçlarla sonuçlanan kodunuzun dallanmasını sağlarlar.
let age = 25; if (age < 18) { console.log('You are a minor.'); } else if (age >= 18 && age < 65) { console.log('You are an adult.'); } else { console.log('You are a senior.'); }
Fonksiyonlar
İşlevler, daha sonra tanımlanıp yürütülebilen yeniden kullanılabilir kod bloklarıdır. İşlevler, kodunuzun okunabilirliğini düzenlemenize, modülerleştirmenize ve geliştirmenize olanak tanır. Fonksiyonlar, function
anahtar kelimesi, ardından işlevin adı, bir parametre listesi ve kaşlı ayraçlar içinde işlev gövdesi kullanılarak tanımlanır.
function greet(name) { console.log('Hello, ' + name + '!'); } greet('John');
Bu temel kavramlar, JavaScript kullanarak dinamik web siteleri ve web uygulamaları oluşturmak için bir temel sağlar.
JavaScript ile Web Sayfalarına Etkileşim Ekleme
JavaScript, etkileşim ekleyerek ve genel kullanıcı deneyimini iyileştirerek web içeriğine hayat verir. JavaScript, HTML öğeleriyle etkileşime girerek form doğrulama, görüntü kaydırıcıları, açılır menüler ve sayfayı yenilemeden sayfa içeriğini güncelleme gibi birçok ortak özelliği etkinleştirir. Bu bölümde, JavaScript'in HTML öğelerini nasıl yönettiğini ve kullanıcılarla nasıl etkileşim kurduğunu keşfedeceğiz.
Belge Nesne Modeli (DOM)
Belge Nesne Modeli (DOM), belge içindeki yapıyı ve nesneleri ağaç benzeri bir hiyerarşi olarak temsil eden, HTML belgeleri için bir programlama arabirimidir. JavaScript, HTML öğelerini işlemek, özelliklerine erişmek ve içeriklerini değiştirmek için DOM ile etkileşime girer. JavaScript, DOM'u kullanarak öğeler oluşturabilir, güncelleyebilir ve silebilir, niteliklerini değiştirebilir ve kullanıcı olaylarına yanıt verebilir.
DOM'daki öğelere erişmek için çeşitli JavaScript yöntemlerini kullanabilirsiniz, örneğin:
-
getElementById
:id
özelliğine göre bir öğe seçer. -
getElementsByTagName
: Öğeleri etiket adlarına göre seçer. -
getElementsByClassName
:class
özniteliklerine göre öğeleri seçer. -
querySelector
: Belirtilen CSS seçiciyle eşleşen ilk öğeyi seçer. -
querySelectorAll
: Belirtilen CSS seçiciyle eşleşen tüm öğeleri seçer.
Bir öğeyi seçtikten sonra özelliklerini değiştirebilir ve etkileşimli efektler oluşturmak için JavaScript uygulayabilirsiniz.
HTML Öğelerini Değiştirme
JavaScript, HTML öğeleriyle etkileşime geçmek için çeşitli yöntemler sağlar. Bazı örnekler şunları içerir:
-
innerHTML
: Bir öğe içindeki içeriği (HTML) değiştirir. -
textContent
: HTML işaretlemesini yok sayarak bir öğe içindeki metin içeriğini değiştirir. -
setAttribute
: Bir öğe için özniteliğin değerini ayarlar. -
removeAttribute
: Bir öğeden bir özniteliği kaldırır. -
classList.add
veclassList.remove
: Bir öğeye sınıf adları ekler veya kaldırır. -
createElement
veappendChild
: DOM'a yeni bir öğe oluşturur ve ekler.
HTML öğelerini işleyerek, kullanıcı etkileşimlerine ve girişlerine yanıt veren dinamik içerik oluşturabilirsiniz.
Örnek: Form Doğrulama
JavaScript genellikle, girilen verilerin sunucuya gönderilmeden önce doğru ve eksiksiz olduğundan emin olmak için formlardaki kullanıcı girişini doğrulamak için kullanılır. Aşağıdaki kod, JavaScript ile basit bir form doğrulamasını gösterir:
<!-- HTML --> <form id="myForm" onsubmit="return validateForm()"> <label for="email">Email:</label> <input type="text" id="email" name="email" required> <button type="submit">Submit</button> </form> <!-- JavaScript --> <script> function validateForm() { let email = document.getElementById('email').value; let emailRegex = /^\\S+@\\S+\\.\\S+$/; if (emailRegex.test(email)) { return true; } else { alert('Please enter a valid email address.'); return false; } } </script>
Bu örnekte, form doğrulama işlevi, girilen e-posta adresinin bir normal ifade modeliyle eşleşip eşleşmediğini kontrol eder. Doğrulama başarısız olursa, bir uyarı mesajı görüntülenir ve form gönderimi durdurulur.
JavaScript'i web sayfalarınıza dahil ederek daha ilgi çekici ve etkileşimli bir kullanıcı deneyimi oluşturabilirsiniz. JavaScript, basit form doğrulamadan görüntü kaydırıcılar, açılır menüler ve gerçek zamanlı güncellemeler gibi daha karmaşık davranışlara kadar web içeriğinize dinamik bir katman ekleyerek kullanıcılarınız için sorunsuz ve eğlenceli bir deneyim sağlar.
JavaScript Olaylarıyla Çalışma
JavaScript olayları, etkileşimli web içeriği oluşturmanın önemli bir yönüdür. Kullanıcı girişi, sistem güncellemeleri veya kaynak yükleme gibi web sayfasındaki eylemleri veya oluşumları temsil ederler. Bu olayları algılayıp bunlara yanıt vererek, dinamik ve ilgi çekici kullanıcı deneyimleri yaratarak belirli işlevleri veya kod parçacıklarını çalıştırabilirsiniz. Bu bölümde, çeşitli JavaScript olaylarını, bunların nasıl dinleneceğini ve her olay türü için olası kullanım durumlarını ele alacağız.
Yaygın JavaScript Olayları
Farklı kullanıcı etkileşimleri ve sistem güncellemeleri dikkate alındığında, JavaScript'te çok sayıda olay türü vardır. En yaygın JavaScript olaylarından bazıları şunlardır:
- Tıklama olayları: Fare tıklamaları, dokunmatik ekrana dokunmalar veya klavye girişi gibi kullanıcı etkileşimleriyle tetiklenir.
- Fare olayları: mouseenter, mouseleave veya bağlam menüsü olayları gibi fare imleci hareketleriyle ilişkilidir.
- Klavye olayları: Tuşa basma, tuşa basma veya tuşa basma olayları gibi tuş vuruşları veya tuşa basmalarla tetiklenir.
- Form olayları: Gönderme, değiştirme veya odaklanma olayları gibi form öğeleriyle kullanıcı etkileşimi ile ilişkilidir.
- Yükleme ve boşaltma olayları: Bir web sayfası veya resim gibi bir kaynak tarayıcıdan tam olarak yüklendiğinde veya tarayıcıdan kaldırıldığında tetiklenir.
JavaScript Olaylarını Dinleme
JavaScript olaylarına yanıt vermek için HTML öğelerine olay dinleyicileri eklemeniz gerekir. Olay dinleyicileri, belirli bir olay türünün oluşmasını bekler ve ardından belirlenmiş bir işlevi yürütür. Olay dinleyicilerini öğelere atamanın birden çok yolu vardır:
- Satır içi olay işleyicileri: Uygun 'on(event)' özniteliğini (ör. onclick, onmouseover) kullanarak olay dinleyicilerini doğrudan HTML'ye ekleyin. Bu yöntem eski kabul edilir ve modern JavaScript geliştirmesi için önerilmez.
<button onclick="myFunction()">Click me</button>
- DOM olay işleyicileri: DOM'u (Belge Nesne Modeli) kullanarak bir öğenin 'on(event)' özelliğine (örn. onclick, onmouseover) bir JavaScript işlevi atayın.
document.getElementById("myBtn").onclick = myFunction;
- Olay dinleyicileri: Mevcut olay işleyicilerin üzerine yazmadan birden çok olay dinleyicisini tek bir öğeye eklemek için 'addEventListener()' yöntemini kullanın.
document.getElementById("myBtn").addEventListener("click", myFunction);
Olay Yayılımı: Kabarcıklanma ve Yakalama
JavaScript'te olay yayılımı, olayların tarayıcının DOM'undaki öğeler tarafından işlenme sırasını ifade eder. Bir olay meydana geldiğinde, tarayıcı olay yayılımının iki aşamasını devreye sokar:
- Yakalama aşaması: Olay, en üstteki DOM öğesinden (genellikle 'pencere' veya 'document' nesnesi) hedef öğeye doğru ilerler.
- Köpürme aşaması: Olay, hedef öğeden en üstteki DOM öğesine kadar yayılır.
'addEventListener()' yöntemini kullanarak, isteğe bağlı üçüncü parametreyi 'true' (yakalama için) veya 'false' (köpürme için) olarak ayarlayarak, köpürme veya yakalama aşamasında olayları dinleyip dinlemeyeceğinizi kontrol edebilirsiniz. Varsayılan olarak, bu parametre 'yanlış'tır.
element.addEventListener("click", myFunction, true); // Capturing phase element.addEventListener("click", myFunction, false); // Bubbling phase
AJAX: JavaScript ile Eşzamansız Veri Yükleme
AJAX (Eşzamansız JavaScript ve XML), web sayfalarının tam sayfa yenileme gerektirmeden bir sunucudan eşzamansız olarak veri yüklemesine izin veren bir tekniktir. AJAX ile arka planda veri alıp sunucuya gönderebilir ve web sayfasının bölümlerini yeni verilerle güncelleyerek daha sorunsuz kullanıcı deneyimleri ve daha etkili web sitesi performansı oluşturabilirsiniz. AJAX, sunucudan veri göndermek ve almak için JavaScript'te 'XMLHttpRequest' veya 'Fetch API' nesnelerini kullanır. Veriler , XML, JSON veya HTML gibi çeşitli biçimlerde olabilir. AJAX isteklerini daha iyi anlamak için 'XMLHttpRequest' nesnesini kullanan bir örneğe bakalım:
function loadContent() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (xhttp.readyState == 4 && xhttp.status == 200) { document.getElementById("myContent").innerHTML = xhttp.responseText; } }; xhttp.open("GET", "content.html", true); xhttp.send(); }
Bu örnekte, bir 'XMLHttpRequest' nesnesi oluşturuyoruz ve bunun 'onreadystatechange' olayına bir işlev ekliyoruz. Bu işlev, istek tamamlandığında (readyState == 4) ve başarılı olduğunda (status == 200) 'myContent' öğesini sunucunun yanıtıyla günceller. 'open()' yöntemi, istek türünü (GET) ve URL'yi ("content.html") belirtirken, "send()" yöntemi isteği başlatır.
JavaScript Çerçeveleri ve Kitaplıkları
JavaScript çerçeveleri ve kitaplıkları, karmaşık web uygulamalarının geliştirilmesini basitleştirebilen ve standartlaştırabilen önceden yazılmış, modüler kodlardır. Bu araçlar, geliştirme süresini azaltabilen, kod organizasyonunu iyileştirebilen ve en iyi uygulamaları uygulayabilen yeniden kullanılabilir bileşenler, eklentiler ve yardımcı programlar sunar. İşte bazı popüler JavaScript çerçeveleri ve kitaplıkları:
- React: Facebook tarafından geliştirilen React, özellikle tek sayfalık uygulamalar için kullanıcı arayüzleri oluşturmaya yönelik popüler bir kitaplıktır. React, geliştiricilerin yeniden kullanılabilir UI bileşenleri oluşturmasına ve uygulamanın durumunu verimli bir şekilde yönetmesine olanak tanır.
- Angular: Google tarafından geliştirilen ve sürdürülen Angular, Model-View-Controller (MVC) mimarisine odaklanan dinamik web uygulamaları oluşturmak için kapsamlı bir platformdur. Veri bağlama, bağımlılık enjeksiyonu ve bildirime dayalı şablonlar gibi bir dizi özellik sunar.
- Vue.js: Çok yönlü ve hafif bir çerçeve olan Vue.js , etkileşimli kullanıcı arabirimleri oluşturmak için basit ve ilerici bir yaklaşım sağlayarak web uygulamalarının görüntüleme katmanına odaklanır. Vue.js, bileşen tabanlı mimariyi destekler ve uygulama durumunu yönetmek için güçlü bir reaktif veri bağlama sistemine sahiptir.
- jQuery: Popüler, hafif bir kitaplık olan jQuery, DOM manipülasyonu, olay işleme ve AJAX istekleri gibi görevleri basitleştirir. Çeşitli tarayıcılarda ve platform tutarsızlıklarında daha tutarlı ve okunabilir bir sözdizimi sağlayarak, jQuery web geliştirmede temel bir unsur haline geldi.
Bir JavaScript çerçevesi veya kitaplığı seçmek, projenizin gereksinimlerine, mevcut kaynaklara ve kişisel tercihlere bağlıdır. Bazıları performansa, diğerleri UI/UX veya mimari faydalara odaklanan her aracın avantajları ve ödünleşimleri vardır.
AppMaster.io'nun kodsuz platformunu kullanarak, web uygulamaları için (TS veya JS ile birlikte) yerleşik olan Vue.js gibi modern JavaScript kitaplıklarını kullanan web uygulamaları oluşturabilirsiniz. Görsel BP Designer, uygulamanın kullanıcı arayüzünü tasarlamanıza, iş mantığını tanımlamanıza ve proje boyunca sorunsuz JavaScript entegrasyonu sağlamanıza olanak tanır.
JavaScript'i AppMaster.io'nun No-Code Platformuna Entegre Etme
Günümüzün hızlı uygulama geliştirme çağında, AppMaster.io gibi kodsuz platformlar , JavaScript'in tam potansiyelinden yararlanabilen modern, dinamik web uygulamaları oluşturmak için popüler seçenekler olarak ortaya çıkmıştır. Sorunsuz entegrasyon yetenekleriyle AppMaster, manuel olarak herhangi bir kod yazmadan yüksek düzeyde etkileşimli web deneyimleri oluşturmanıza yardımcı olabilir.
Bu bölümde, kolay entegrasyon için JavaScript'in zengin özelliklerini kullanarak dinamik web uygulamaları oluşturmak için AppMaster.io platformunu nasıl kullanacağımızı keşfedeceğiz ve acemi geliştiricilerin bile hızlı yanıt veren, etkileşimli web içeriği oluşturmasını mümkün kılacağız.
AppMaster.io'nun No-Code Platformu: Genel Bakış
AppMaster.io, manuel olarak herhangi bir kod yazmadan arka uç, web ve mobil uygulamalar oluşturmanıza olanak tanıyan güçlü bir no-code platformdur. Görsel veri modeli oluşturma, İş Süreci (BP) tasarımcısı aracılığıyla iş mantığı tasarımı, REST API ve WSS Uç Noktaları ve kullanıcı arabirimleri (UI) tasarlamak için sezgisel bir sürükle ve bırak arabirimi dahil olmak üzere çok çeşitli özellikler sunar.
Web uygulamaları için platform, Web BP tasarımcısını kullanarak kullanıcı arayüzünü tasarlamanıza ve her bileşen için iş mantığı oluşturmanıza olanak tanır. AppMaster.io, ortaya çıkan uygulamaları Vue3 çerçevesi ve JavaScript/TypeScript gibi yerleşik teknolojileri kullanarak oluşturur ve derler.
Bu no-code çözüm, uygulamalarınızın minimum teknik borçla ölçeklenebilir olmasını sağlayarak geliştirme sürecini kolaylaştırır ve hızlı, uygun maliyetli uygulama oluşturmaya olanak tanır.
JavaScript'i AppMaster.io ile entegre etme
AppMaster.io no-code platform ile oluşturulan web uygulamalarınıza JavaScript'i entegre etme süreci basit ve sezgiseldir. Web BP tasarımcısının yardımıyla JavaScript işlevlerini uygulayabilir ve kolaylıkla dinamik, etkileşimli web içeriği oluşturabilirsiniz. JavaScript'i AppMaster.io ile entegre etmek için şu adımları izleyin:
- Uygulamanızı oluşturun: AppMaster.io hesabınızda yeni bir uygulama oluşturarak başlayın veya JavaScript işlevselliği eklemek istediğiniz mevcut bir uygulamayı seçin.
- Kullanıcı arabirimini tasarlayın: drag-and-drop tasarım arabirimini kullanarak uygulamanızın kullanıcı arabirimini oluşturun. Uyumlu mizanpajlar oluşturabilir, bileşenler ekleyebilir ve uygulamanın görünümünü ve verdiği hissi gereksinimlerinize uyacak şekilde özelleştirebilirsiniz.
- İş mantığını oluşturun: Web uygulamanızdaki her bileşen için iş mantığını tanımlayabileceğiniz Web BP tasarımcısına geçin. Burada, karmaşık etkileşimleri işlemek ve genel kullanıcı deneyimini geliştirmek için JavaScript işlevlerini uygulayabilirsiniz.
- Test edin ve yineleyin: Amaçlandığı gibi çalıştığından emin olmak için uygulamanızı test edin ve gerekli değişiklikleri veya iyileştirmeleri yapın. AppMaster.io, hızlı bir şekilde yeni uygulama grupları oluşturarak hızlı prototipleme ve yineleme sağlar ve teknik borcu en aza indirir.
- Uygulamanızı yayınlayın: Tamamlandığında, AppMaster.io'nun uygulamanızı derlemesi ve dağıtması için 'Yayınla' düğmesine basın. Etkileşimli web uygulamanızı dünyayla paylaşmak için tercih ettiğiniz sunucu altyapısında barındırabileceğiniz kaynak kodunu ve ikili dosyaları alacaksınız.
Bu adımları izleyerek, kullanıcıları etkileyen ve iş hedeflerinize ulaşan dinamik, etkileşimli web deneyimleri yaratarak, JavaScript işlevlerini AppMaster.io no-code platform üzerinde oluşturulmuş web uygulamanıza etkili bir şekilde entegre edebilirsiniz.
JavaScript'i güçlü AppMaster.io no-code platformuyla entegre etmek, ilgi çekici, etkileşimli ve dinamik web uygulamalarını kolaylıkla oluşturmanıza olanak tanır. Sezgisel tasarım arabirimi ve Web BP tasarımcısı, geliştirme sürecini kolaylaştırarak, manuel olarak kod yazmadan gelişmiş uygulamalar oluşturmanıza olanak tanır. Kullanıcılarınızın ihtiyaçlarını karşılayan ve işinizi ileriye götüren etkileyici web deneyimleri geliştirmek için JavaScript ve AppMaster.io'nun yeteneklerinin potansiyelinden yararlanın.