Framework Javascript adalah sebuah kerangka untuk mengembangkan website, web app, dan aplikasi dengan bahasa pemrograman Javascript.
Dengan menggunakan framework Javascritpt, kita tidak perlu menulis kode Javascript dari nol karena bisa menggunakan kerangka website atau kode dasar yang telah disediakan.
Javascript telah menyediakan berbagai framework yang dapat digunakan untuk mengembangkan aplikasi, baik dari sisi front-end maupun back-end.
Salah satu framework Javascript yang dirancang secara fleksibel dan minimalis untuk pengembangan aplikasi pada sisi back-end (server-side) adalah Express JS.
Express JS adalah framework untuk membangun web app yang menggunakan Node.js sebagai basisnya. Framework ini menggunakan pendekatan Unopinionated dalam proses pengembangan.
Artinya, programmer punya kebebasan dalam menentukan metode yang akan digunakan untuk mengeksekusi suatu perintah atau merancang arsitektur dalam membangun aplikasi.
Nah, framework yang satu ini punya arsitektur MVC (Model View Controller). Dengan begitu, setiap data diolah pada Model, dihubungkan melalui Controller, lalu ditampilkan menjadi informasi melalui View.
Fitur-Fitur Express JS
- Routing – Metode yang digunakan website (server) untuk merespons permintaan dari browser (client). Misalnya, permintaan untuk menampilkan halaman tertentu.
- Middleware – Fungsi yang digunakan untuk mengakses permintaan object (req), respons object (res), dan setiap siklus permintaan dan respon tersebut (next).
- Static File – Fungsi yang digunakan untuk client atau browser dapat mengunduh file.
- Template Engine – Library untuk memilih template engine yang berbeda. Express.js mendukung berbagai template engine seperti Pug, EJS, Swig, dan Handlebars.
- Cache – Media penyimpanan data sementara dari sebuah website atau aplikasi pada perangkat pengguna.
Kelebihan Express JS
Express JS memiliki beberapa keunggulan seperti:
1. Mendukung Google V8 Engine.
Express JS mendapat dukungan dari mesin Google V8 Engine, sehingga dapat meningkatkan kinerja aplikasi menjadi lebih maksimal tanpa adanya masalah error pada saat proses development.
Google V8 Engine adalah compiler yang dapat mengeksekusi kode JavaScript melalui server (server side).
2. Menyediakan Server Side Caching (Fitur Caching)
Fitur caching adalah media penyimpanan data sementara pada sistem supaya browser atau aplikasi bisa loading lebih cepat. Fitur ini dapat mempengaruhi sisi performa dari sebuah aplikasi yang dibuat.
Dengan fitur caching, eksekusi kode tidak perlu dilakukan secara berulang atau terus-menerus, sehingga halaman web bisa dimuat dengan cepat.
3. Integrasi dengan MEAN
Express JS menggunakan bahasa pemrograman Javascript dan merupakan bagian dari MEAN stack, yaitu sebuah arsitektur full stack milik Javascript.
MEAN adalah singkatan dari MongoDB (database), Express JS (back end), Angular (front end), dan Node JS (environment).
Dengan adanya MEAN, proses membangun website menjadi lebih cepat karena programmer dapat mengerjakan bagian front-end dan back-end secara langsung dengan bahasa yang linear yaitu javascript. Mulai dari tampilan, fitur, hingga hal-hal yang berkaitan dengan server.
4. Memiliki Komunitas yang Besar
Express JS memiliki komunitas yang besar dan aktif yang memberikan banyak sumber daya, modul tambahan, dan dukungan yang tersedia.
Pengembang dapat dengan mudah mencari solusi untuk masalah yang dihadapi ketika menggunakan express JS atau berbagi pengetahuan dengan anggota komunitas lainnya melalui forum atau website resminya.
Kekurangan Express JS
Express JS memiliki beberapa kekurangan seperti:
1. Kurangnya Fitur Bawaan
Express JS dirancang sebagai kerangka kerja minimalis, sehingga beberapa fitur yang ada di kerangka kerja lain mungkin tidak tersedia secara langsung.
Programmer seringkali harus menggunakan modul-modul tambahan atau mengimplementasikan sendiri fitur yang dibutuhkan untuk memperluas fungsi.
2. Butuh Pengaturan Tambahan
Untuk membangun aplikasi yang lebih kompleks, seringkali diperlukan pengaturan tambahan dan penggunaan modul-modul lain selain Express JS.
Programmer perlu memahami ekosistem JavaScript dan modul-modul yang dapat digunakan bersama Express JS.
3. Kurangnya Standarisasi
Karena Express JS adalah kerangka kerja yang fleksibel, tidak ada aturan baku yang mengatur bagaimana aplikasi harus dikembangkan.
Hal ini dapat menyebabkan perbedaan dalam pendekatan dan struktur kode antara project-project yang berbeda, terutama jika ada lebih dari satu programmer yang terlibat dalam project.
0 Komentar