Submitted by subastian in nodejs

Express vs Hapi: analisis singkat dari dua Kerangka Node.js

Jadi, Anda ingin membangun aplikasi web dan Anda memerlukan kerangka kerja untuk membantu Anda melakukannya. Anda pernah mendengar tentang Express tetapi apakah ada opsi lain di luar sana? Berapa persisnya kerangka kerja yang ada dan apa perbedaan di antara keduanya?

Jawaban untuk pertanyaan terakhir itu adalah ada banyak , dengan perbedaan signifikan dalam hal sintaksis, kapabilitas, skalabilitas, dan lainnya. Pada artikel ini saya akan membandingkan secara singkat kerangka kerja yang paling populer, Express, dengan alternatif yang lebih kecil yang disebut Hapi.

Apa sebenarnya Kerangka dan mengapa itu berguna? Kerangka pengembangan web adalah sekumpulan sumber daya dan alat bagi pengembang perangkat lunak untuk membangun dan mengelola aplikasi web. Kerangka kerja menangani fungsi yang kompleks dan umum digunakan, seperti komunikasi klien-server, sehingga Anda tidak perlu mencurahkan banyak waktu dan sumber daya untuk mengkodekan semuanya secara manual.

Mengekspresikan Express .js adalah framework Node.js yang minimal dan fleksibel, yang dikembangkan oleh TJ Holowaychuk , yang menyediakan serangkaian fitur canggih untuk aplikasi web dan seluler. Banyak pemula yang lebih nyaman menggunakan Express karena sangat mudah dan lebih menyukai pola desain yang mirip dengan mengembangkan aplikasi Node.js asli. Selain itu, Express adalah kerangka kerja yang paling populer, dan sebagai hasilnya ada banyak dokumentasi, dan sumber daya lainnya, tersedia secara online untuk membantu pengembang junior dengan cepat memahami seluk beluk.

Semua endpoint harus dibuat secara manual di Express, yang bisa memakan waktu cukup lama, dan seiring bertambahnya ukuran basis kode Anda, pemfaktoran ulang bisa menjadi sebuah tantangan. Organisasi harus sangat jelas untuk menghindari masalah saat memelihara kode.Express membutuhkan middleware untuk melakukan banyak hal umum seperti mengurai file JSON ( body-parser ), menggunakan cookie ( cookie-parser ), menangani error, dan banyak lagi. Untungnya, ada banyak middleware di luar sana untuk dipilih.

… Middleware? Dalam konteks ini, middleware pada dasarnya adalah kode yang didefinisikan di antara permintaan dan tanggapan yang dibuat ke server web. (mengerti? Ada di tengah.) Kode ini memiliki akses ke objek permintaan dan respons dan dapat memodifikasi data tersebut, yang pada akhirnya mengembalikan rendering halaman yang benar ke klien. Express sendiri berperilaku seperti middleware untuk membantu mengelola server dan rute. Kedua kerangka kerja yang saya renungkan menerapkan middleware dengan caranya sendiri, membuat pengalaman pengguna yang sedikit berbeda.

Hapi Hapi adalah kependekan dari Http API. Ini dikembangkan oleh WalmartLabs. Ya, Walmart itu. Awalnya dibangun untuk menangani lalu lintas penskalaan penjualan Black Friday mereka. Untuk alasan ini, basis kode diuji dan dipelihara dengan baik, dan dirancang untuk ditingkatkan dengan sangat efisien. Kerangka kerja mendorong penggunaan kembali kode yang ada dan dirancang dengan mempertimbangkan aplikasi bisnis. Pada 2014, klaim apa pun yang dimiliki Walmart terhadap Hapi berakhir. Ini masih banyak digunakan di dalam Walmart, tetapi sekarang siapa pun dan semua orang dapat dengan bebas menggunakannya secara legal juga.

Tidak seperti Express, Hapi dengan sendirinya berisi metode untuk memproses data formulir, mengurai JSON, menangani kesalahan, menyetel cookie, dan banyak lagi. Membuatnya secara teoritis lebih mampu langsung "di luar kotak".Tetapi apa yang terjadi jika Anda membutuhkan fungsionalitas selain yang ditawarkan Hapi secara default? Nah, di mana Express menggunakan middleware untuk memperluas objek request / response Node, Hapi menggunakan koleksi “plugin” spesifik Hapi. Umumnya konsepnya sama, tetapi ada perpustakaan yang jauh lebih kecil untuk dipilih. Seperti yang bisa kita lihat, Hapi memiliki lebih banyak kode boilerplate, tetapi lebih jelas untuk dibaca dan dipahami, dan seiring bertambahnya ukuran dan kompleksitas proyek, sebenarnya lebih mudah untuk dikerjakan.

−1

Comments

You must log in or register to comment.

There's nothing here…