Apa itu JavaScript?

JavaScript adalah bahasa pemrograman yang digunakan developer untuk membuat halaman web yang interaktif. Dari menyegarkan umpan media sosial hingga menampilkan animasi dan peta interaktif, fungsi JavaScript dapat meningkatkan pengalaman pengguna situs web. Sebagai bahasa skrip sisi klien, JavaScript adalah salah satu teknologi inti dari World Wide Web. Misalnya, saat menjelajah internet, kapan pun Anda melihat carousel gambar, menu tarik-turun klik untuk menampilkan, atau warna elemen yang berubah secara dinamis di halaman web, Anda melihat efek JavaScript.

Apa kegunaan JavaScript?

Secara historis, halaman web statis, mirip dengan halaman dalam buku. Halaman statis terutama menampilkan informasi dalam tata letak tetap dan tidak melakukan semua yang kita harapkan saat ini dari situs web modern. JavaScript muncul sebagai teknologi sisi peramban untuk menjadikan aplikasi web lebih dinamis. Dengan JavaScript, browser dapat merespons interaksi pengguna dan mengubah tata letak konten di halaman web.

Ketika bahasanya sudah mapan, developer JavaScript membuat pustaka, kerangka kerja, serta praktik pemrograman, dan mulai menggunakannya di luar browser web. Saat ini, Anda dapat menggunakan JavaScript untuk pengembangan sisi klien dan sisi server. Kami menyediakan beberapa kasus penggunaan umum di subbagian berikut:

Secara historis, halaman web statis, mirip dengan halaman dalam buku. Halaman statis terutama menampilkan informasi dalam tata letak tetap dan tidak melakukan semua yang kita harapkan saat ini dari situs web modern. JavaScript muncul sebagai teknologi sisi peramban untuk menjadikan aplikasi web lebih dinamis. Dengan JavaScript, browser dapat merespons interaksi pengguna dan mengubah tata letak konten di halaman web.

Ketika bahasanya sudah mapan, developer JavaScript membuat pustaka, kerangka kerja, serta praktik pemrograman, dan mulai menggunakannya di luar browser web. Saat ini, Anda dapat menggunakan JavaScript untuk pengembangan sisi klien dan sisi server. Kami menyediakan beberapa kasus penggunaan umum di subbagian berikut:

 

Bagaimana cara kerja JavaScript?

Semua bahasa pemrograman bekerja dengan menerjemahkan sintaks yang mirip bahasa Inggris ke dalam kode mesin, yang kemudian dijalankan oleh sistem operasi. JavaScript dikategorikan secara luas sebagai bahasa skrip, atau bahasa yang ditafsirkan. Kode JavaScript ditafsirkan—yaitu, langsung diterjemahkan ke dalam kode bahasa mesin yang mendasarinya oleh mesin JavaScript. Dengan bahasa pemrograman lain, penyusun akan menyusun seluruh kode menjadi kode mesin dalam langkah terpisah. Jadi, semua bahasa skrip adalah bahasa pemrograman, tetapi tidak semua bahasa pemrograman adalah bahasa skrip.

Mesin JavaScript

Mesin JavaScript adalah program komputer yang menjalankan kode JavaScript. Mesin JavaScript pertama hanyalah interpreter, tetapi semua mesin modern menggunakan kompilasi hanya saat ini atau waktu aktif untuk meningkatkan performa.

JavaScript sisi klien

JavaScript sisi klien mengacu pada cara kerja JavaScript di browser Anda. Dalam hal ini, mesin JavaScript ada di dalam kode peramban. Semua browser web utama dilengkapi dengan mesin JavaScript bawaan mereka sendiri.

Developer aplikasi web menulis kode JavaScript dengan fungsi berbeda yang terkait dengan berbagai peristiwa, seperti klik mouse atau kursor mouse. Fungsi-fungsi ini membuat perubahan pada HTML dan CSS.

Berikut adalah gambaran umum cara kerja JavaScript sisi klien:

1.   Browser memuat halaman web ketika Anda mengunjunginya.

2.   Selama memuat, browser mengonversi halaman dan semua elemennya, seperti tombol, label, dan kotak tarik-turun, menjadi struktur data yang disebut Model Objek Dokumen (DOM).

3.   Mesin JavaScript browser mengonversi kode JavaScript menjadi bytecode. Kode ini merupakan perantara antara sintaks JavaScript dan mesin.

4.   Peristiwa yang berbeda, seperti klik mouse pada tombol, memicu eksekusi blok kode JavaScript terkait. Mesin kemudian menginterpretasikan bytecode dan membuat perubahan pada DOM.

5.   Browser menampilkan DOM baru.

JavaScript sisi server

JavaScript sisi server mengacu pada penggunaan bahasa pengkodean dalam logika server back-end. Dalam hal ini, mesin JavaScript berada langsung di server. Fungsi JavaScript sisi server dapat mengakses basis data, melakukan operasi logis yang berbeda, dan merespons berbagai event yang dipicu oleh sistem operasi server. Keuntungan utama dari skrip sisi server adalah Anda dapat mengkustomisasi respons situs web berdasarkan kebutuhan Anda, hak akses, dan permintaan informasi dari situs web.

Sisi klien vs. sisi server

Kata dinamis menggambarkan kedua sisi klien dan sisi server JavaScript. Perilaku dinamis adalah kemampuan untuk memperbarui tampilan halaman web untuk menghasilkan konten baru sesuai kebutuhan. Perbedaan antara JavaScript sisi klien dan sisi server terletak pada caranya menghasilkan konten baru. Kode sisi server menghasilkan konten baru secara dinamis menggunakan logika aplikasi dan memodifikasi data dari basis data. Di sisi lain, JavaScript sisi klien menghasilkan konten baru secara dinamis di dalam peramban menggunakan logika antarmuka pengguna dan memodifikasi konten halaman web yang sudah ada di klien. Maknanya sedikit berbeda dalam dua konteks tetapi terkait, dan kedua pendekatan bekerja sama untuk meningkatkan pengalaman pengguna.

Selain implementasi dalam fitur dinamis, perbedaan lain antara kedua penggunaan JavaScript adalah pada sumber daya yang dapat diakses kode. Di sisi klien, peramban mengontrol lingkungan waktu aktif JavaScript. Kode hanya dapat mengakses sumber daya yang diizinkan oleh peramban untuk diakses. Misalnya, kode tidak dapat menulis konten ke hard disk kecuali Anda mengeklik tombol unduh. Di sisi lain, fungsi sisi server dapat mengakses semua sumber daya mesin server sesuai kebutuhan.

Apa itu pustaka JavaScript?

Pustaka JavaScript adalah kumpulan cuplikan kode yang telah ditulis sebelumnya dan dapat digunakan kembali oleh developer web untuk menjalankan fungsi JavaScript standar. Kode pustaka JavaScript dimasukkan ke kode proyek lainnya sesuai kebutuhan. Jika Anda menganggap kode aplikasi JavaScript sebagai rumah, pustaka JavaScript seperti furnitur siap pakai yang dapat digunakan developer untuk meningkatkan fungsionalitas rumah.

Berikut ini adalah beberapa penggunaan umum dari pustaka JavaScript:

Visualisasi data

Visualisasi data sangat penting bagi pengguna untuk melihat statistik, misalnya, di panel admin, dasbor, dan metrik performa.

Pustaka seperti Chart.js, ApexCharts, dan Algolia Places memiliki fungsi bawaan yang dapat Anda gunakan untuk membuat aplikasi web yang menampilkan data dalam bagan dan peta.

Manipulasi DOM

Anda dapat menggunakan pustaka seperti jQuery dan Umbrella JS untuk mempermudah pengembangan web karena pustaka tersebut menyediakan kode untuk fungsi situs web standar seperti animasi menu, galeri gambar, tombol, lightbox, dan lainnya.

Formulir

Semua pengembangan web menggunakan formulir untuk pengunjung situs web agar dapat menghubungi seseorang, memesan produk, dan mendaftar untuk acara. Beberapa pustaka JavaScript, seperti wForms, LiveValidation, Validanguage, dan qForms, menyederhanakan fungsi formulir, termasuk validasi formulir, tata letak, kondisi, dan transformasi.

Fungsi teks dan matematika

Banyak aplikasi web harus menyelesaikan persamaan matematika serta memproses tanggal, waktu, dan teks. Alih-alih mengirim semua permintaan tersebut ke server, menangani beberapa permintaan di sisi klien lebih efisien. Developer web melakukan ini menggunakan pustaka JavaScript seperti Date.js, Sylvester, dan Pustaka URL JavaScript.

Apa itu kerangka kerja JavaScript?

Seperti pustaka JavaScript, kerangka kerja JavaScript adalah kumpulan cuplikan kode yang telah ditulis sebelumnya yang melakukan fungsi berbeda dan dapat digunakan kembali. Namun, sementara pustaka JavaScript adalah alat khusus untuk penggunaan sesuai permintaan, kerangka kerja JavaScript adalah set alat lengkap yang membantu membentuk dan mengatur aplikasi web apa pun. Jika Anda menganggap kode aplikasi JavaScript sebagai rumah, kerangka kerja JavaScript adalah cetak biru yang digunakan untuk membangun rumah.

Berikut adalah beberapa contoh kasus penggunaan untuk kerangka kerja JavaScript:

Pengembangan aplikasi seluler dan web

AngularJS adalah kerangka kerja yang menyederhanakan pengembangan dan pengujian aplikasi web, seperti aplikasi perdagangan elektronik, aplikasi waktu nyata, dan aplikasi video. React Native adalah kerangka kerja lain yang mendukung pengembangan aplikasi seluler yang di-render secara native untuk iOS dan Android.

Pengembangan web yang responsif

Situs web responsif memberikan pengalaman pengguna yang konsisten di semua perangkat. Misalnya, layar ponsel dan tablet lebih kecil dari layar desktop dan laptop. Anda ingin situs web menampilkan dan menyajikan data secara akurat bahkan di layar yang lebih kecil, tanpa, misalnya, memotong bagian-bagian akhir situs web. Dengan kerangka kerja seperti Bootstrap dan Ember.js, developer bisa mendapatkan keuntungan dari desain yang responsif serta menyesuaikan tampilan dan nuansa situs web di berbagai platform dengan mudah.

Pengembangan aplikasi sisi server

Node.js adalah kerangka kerja JavaScript sisi server dan sumber terbuka yang menjalankan kode JavaScript di luar browser. Developer menggunakan kerangka kerja ini untuk membangun aplikasi sisi server berbasis jaringan yang dapat diskalakan, cepat, dan andal. Kerangka kerja ini dapat menangani permintaan HTTP dan aliran data, mendukung sistem file, serta mengelola beberapa proses backend secara bersamaan.

Apa itu HTML dan CSS?

Hypertext Markup Language (HTML) dan Cascading Style Sheets (CSS) adalah dua bahasa pemrograman lain yang digunakan developer dalam pengembangan frontend. HTML adalah blok bangunan dasar dari sebagian besar halaman web. Semua paragraf, bagian, gambar, judul, dan teks ditulis dalam HTML. Konten muncul di situs web dalam urutan yang ditulis dalam format HTML.

CSS adalah bahasa aturan gaya yang kami gunakan untuk menerapkan gaya pada konten HTML kami. Anda dapat menggunakannya untuk mendesain elemen situs web seperti warna latar belakang, font, kolom, dan garis tepi.

HTML vs. CSS vs. JavaScript

Ketiga bahasa bekerja sama untuk menciptakan pengalaman pengguna yang positif di situs mana pun. Sementara HTML dan CSS terutama dapat memanipulasi konten statis, keduanya dapat berintegrasi dengan kode JavaScript sisi klien untuk memperbarui konten secara dinamis juga.

Misalnya, blok kode skrip pada halaman HTML dapat berisi JavaScript di dalamnya. Browser kemudian dapat memproses HTML dan kode JavaScript internal ketika halaman HTML dimuat di browser.
 

Apa saja manfaat JavaScript?

Mudah dipelajari dan digunakan

Sintaks JavaScript terinspirasi oleh bahasa pemrograman Java serta mudah dipelajari dan dikodekan. Developer menggunakan JavaScript di hampir setiap situs web dan aplikasi seluler untuk skrip sisi klien. Node.js juga mendapatkan popularitas yang signifikan untuk pengkodean backend dalam dekade terakhir. Banyak platform streaming dan video utama telah dikodekan di Node.js.

Mendapatkan independensi platform

Tidak seperti bahasa pemrograman lain, Anda dapat memasukkan JavaScript ke halaman web mana pun serta menggunakannya dengan banyak kerangka kerja dan bahasa pengembangan web lainnya. Setelah menulisnya, Anda dapat menjalankan kode JavaScript di mesin apa pun. Dengan demikian, JavaScript membuat platform pengembangan aplikasi menjadi independen.

Mengurangi beban server

Anda dapat menggunakan JavaScript untuk mengurangi beban server dan kemacetan jaringan karena JavaScript dapat menjalankan operasi logis serta melakukan banyak pekerjaan server pada klien itu sendiri. Misalnya, perhatikan proses pengisian formulir pendaftaran. JavaScript dengan cepat memeriksa apakah Anda telah memasukkan 10 digit nomor untuk bidang ponsel. Jika permintaan ini dikirim ke server, halaman Anda akan dimuat ulang untuk setiap kesalahan, membuat proses pendaftaran menjadi sangat lambat dan membosankan.

Meningkatkan antarmuka pengguna

JavaScript membuat situs web elegan yang memudahkan pencarian dan pemrosesan informasi yang kompleks. Developer menerapkan JavaScript untuk memperluas fungsionalitas dan keterbacaan serta membuat interaksi pengguna situs web lebih efisien.

Mendukung konkurensi

JavaScript dapat menjalankan beberapa set instruksi yang berbeda secara paralel. Di backend, Node.js dapat menangani dan memproses respons server yang skalanya dinaikkan dengan sangat tinggi tanpa menghabiskan jumlah bandwidth yang sama.

Apa saja keterbatasan JavaScript?

Bahasa pemrograman menggunakan variabel sebagai placeholder untuk nilai data aktual. Misalnya, dalam blok kode, developer dapat menulis x=5 dan y=x+1. Saat kode dijalankan, komputer akan otomatis mengubah x dan y menjadi 5 dan 6, masing-masing, untuk menjalankan fungsi pada kode tersebut. Data dapat berupa berbagai tipe, seperti string teks, angka, atau tanggal. Itulah sebabnya sebagian besar bahasa pemrograman memungkinkan Anda untuk menentukan tipe variabel. Setelah tipe variabel ditentukan, tipe tidak berubah; Anda tidak dapat menyimpan angka dalam variabel string.

Misalnya, jika Anda memberi tahu program bahwa x dan y adalah angka, kemudian melakukan operasi x+y, komputer akan mengasumsikan dua angka dan menjumlahkannya. Di sisi lain, jika Anda menentukan x dan y sebagai string, operator + akan menambahkan dua string bersamaan untuk membuat kata yang lebih panjang.

Bahasa yang rentan salah

JavaScript adalah bahasa yang rentan salah ketik, artinya tidak memungkinkan programmer untuk menentukan tipe variabel. Variabel dapat menyimpan tipe data apa pun saat waktu aktif, dan operasi mengasumsikan tipe variabel. Hasilnya juga dapat dilemparkan ke tipe data lain—misalnya, operasi mungkin menghasilkan string "5" alih-alih angka 5. Kesalahan ini dapat mengakibatkan kesalahan pengkodean yang tidak disengaja dan bug dalam kode karena kesalahan ketik.

Apa itu TypeScript?

TypeScript adalah bahasa pemrograman yang meningkatkan JavaScript dengan menambahkan tipe ke dalam sintaks. TypeScript menambahkan sintaks tambahan ke JavaScript sehingga alat editor kode dapat menangkap kesalahan pengkodean lebih awal. Pada saat yang sama, kode TypeScript dikonversi ke JavaScript dan memberikan semua manfaat yang sama seperti JavaScript. TypeScript juga berjalan di aplikasi dengan kerangka kerja dan pustaka JavaScript.

Apa itu AWS SDK for JavaScript?

AWS SDK for JavaScript adalah kumpulan pustaka JavaScript sumber terbuka dan bebas digunakan yang terintegrasi dengan layanan AWS. AWS SDK for JavaScript mendukung pengembangan API, abstraksi tingkat yang lebih tinggi, dan tiga tipe aplikasi:

  • JavaScript untuk peramban
  • Node.js untuk server
  • React Native untuk pengembangan seluler

AWS SDK for JavaScript sepenuhnya ditulis dalam TypeScript, lalu dikompilasi ke JavaScript. Dengan demikian, Anda mendapatkan semua manfaat TypeScript tanpa harus khawatir mengenai kompatibilitas mundur.

Anda dapat memulai dengan AWS SDK for Java dengan membaca contoh kode dan panduan migrasi atau dengan menginstalnya langsung dari GitHub.

Apa itu AWS Amplify untuk JavaScript?

AWS Amplify adalah set alat dan fitur yang dibuat khusus serta memungkinkan developer web dan seluler frontend membangun aplikasi tumpukan penuh di AWS dengan cepat dan mudah. Pustaka klien sumber terbuka Amplify menyediakan antarmuka yang terpusat kasus penggunaan dan mudah digunakan di berbagai kategori operasi yang didukung cloud. Library JavaScript Amplify didukung untuk framework web dan mobile yang berbeda, termasuk React, React Native, Angular, Ionic, dan Vue.js. Anda dapat memulai dengan menyelesaikan panduan Memulai untuk Amplify JavaScript.

Langkah berikutnya di JavaScript dengan AWS