Abstrak : Situs web dan aplikasi web modern cenderung mengandalkan JavaScript ekstensif di sisi klien untuk menyediakan interaktivitas yang kaya. Khususnya, mengembalikan data atau mendapatkan respons dari skrip sisi server (atau sistem data) melalui permintaan asinkron tanpa menyegarkan halaman. Dalam artikel ini, Anda akan mempelajari bagaimana kerangka kerja JavaScript mempercepat dan mempermudah pembuatan situs web dan aplikasi web yang interaktif dan responsif.
Pendahuluan : JavaScript adalah bahasa skrip berorientasi objek yang telah lama digunakan sebagai antarmuka skrip sisi klien pilihan untuk aplikasi browser web. JavaScript memungkinkan pengembang web untuk bekerja secara terprogram dengan objek di halaman web, menyediakan platform untuk memanipulasi objek tersebut secara tiba-tiba. Saat JavaScript pertama kali diperkenalkan, JavaScript sering digunakan untuk menyediakan fungsionalitas sepele seperti jam dan teks bergulir di bilah status browser. Fitur umum lainnya adalah "link rollover", yang mengubah warna teks atau gambar latar belakang saat mouse pengguna mengarahkan mouse ke objek. Namun, dalam beberapa tahun terakhir, Ajax telah membawa interaksi baru ke dalam pemrograman jaringan, dan JavaScript telah berkembang dan menjadi lebih berguna. Sebelum Ajax, pemrosesan sisi server atau akses database memerlukan seluruh halaman untuk "disegarkan" atau halaman baru dirender oleh browser. Hal ini tidak hanya lambat dan membuat frustrasi pengguna, tetapi juga membuang bandwidth dan sumber daya.
Ajax adalah JavaScript dan XML asinkron. Meskipun referensi XML tidak lagi valid, Ajax dapat merespons data dalam beberapa format lain selain XML, seperti JSON (JavaScript Object Notation). Prinsip kerja Ajax adalah mengirimkan permintaan HTTP ke server web secara asinkron, tanpa menyegarkan atau merender seluruh halaman, hanya konten responsnya. Sebaliknya, pengembang biasanya menggunakan operasi DOM (Document Object Model) untuk mengubah bagian halaman web, dan data yang dikembalikan oleh respons HTTP akan mencerminkan perubahan ini.
Apa itu kerangka JavaScript?
JavaScript sendiri adalah bahasa yang sangat kuat, dan Anda tidak memerlukan kerangka kerja tambahan apa pun untuk membuat aplikasi Internet kaya (RIA) yang didukung oleh JavaScript. Namun, bekerja dengan JavaScript bukanlah tugas yang mudah, terutama karena berbagai komplikasi yang muncul saat mencoba menyediakan dukungan banyak browser. Seperti HTML dan CSS, browser yang berbeda mengeksekusi JavaScript secara berbeda, jadi memastikan kode JavaScript Anda kompatibel lintas-browser bisa menjadi sebuah mimpi buruk.
Kerangka kerja atau pustaka JavaScript sebenarnya adalah seperangkat alat dan fungsi yang memudahkan pembuatan kode JavaScript yang kompatibel lintas-browser. Setiap perpustakaan telah diuji secara ketat pada versi terbaru dari banyak browser web populer. Oleh karena itu, Anda dapat yakin bahwa dengan menggunakan salah satu kerangka kerja ini, RIA berbasis JavaScript Anda akan konsisten secara umum di seluruh browser dan platform.
Selain masalah kompatibilitas browser, kerangka kerja JavaScript mempermudah penulisan kode untuk mendapatkan, melintasi, dan memanipulasi elemen DOM. Mereka tidak hanya menyediakan fungsi cepat untuk mendapatkan referensi ke elemen DOM, namun juga memungkinkan rangkaian daisy fungsi traversal DOM untuk menemukan elemen induk, anak, atau saudara pada kedalaman apa pun. Terakhir, kerangka kerja menyediakan serangkaian fungsi yang memudahkan manipulasi objek-objek ini, memungkinkan kontennya diubah, ditambahkan, dihapus, atau memanipulasi gaya kelas untuk memengaruhi tampilan elemen.
Fitur penting lainnya dari kerangka JavaScript adalah dukungannya yang lebih baik untuk penanganan event. Karena implementasi yang berbeda antar browser, penanganan kejadian lintas browser bisa menjadi mimpi buruk. Oleh karena itu, kerangka kerja JavaScript sering kali membungkus peristiwa browser dan menyediakan serangkaian fungsi lintas browser yang berguna untuk menanganinya. Beberapa kerangka kerja juga menyediakan peristiwa standar yang mewakili rangkaian kode tombol keyboard (seperti tombol Esc, tombol Enter, kursor, dll.).
Semua fitur ini sangat berguna dan kerangka JavaScript telah memainkan peran penting dalam aplikasi Ajax yang populer baru-baru ini. Seperti aspek JavaScript lainnya, setiap browser web cenderung mendukung Ajax dengan cara yang berbeda, dan membuat dukungan Ajax untuk semua browser akan menjadi pekerjaan yang berat. Hampir semua kerangka kerja JavaScript menyertakan beberapa bentuk pustaka Ajax, biasanya menyediakan objek permintaan dan respons Ajax, memperbarui elemen DOM setelah mengevaluasi respons, dan melakukan polling untuk permintaan tertentu.
Karakteristik khas kerangka JavaScript
Sekarang mari kita lihat beberapa fitur yang dimiliki sebagian besar kerangka JavaScript. Fitur-fitur ini meliputi:
Untuk menjelaskan fitur-fitur ini dengan lebih baik, saya akan memberikan contoh dari satu atau lebih kerangka JavaScript berikut: Prototipe, jQuery, YUI, ExtJS dan MooTools. Meskipun implementasi dan sintaksis tiap kerangka kerja berbeda, konsepnya secara umum sama. Setiap kerangka kerja memiliki referensi API terperinci yang dapat Anda rujuk saat memutuskan cara menggunakan fitur perpustakaan spesifik tersebut.