Node.js dapat dibilang menjadi salah satu rising star di bidang teknologi informasi khususnya dalam pembangunan aplikasi web, dukungan komunitasnya yang besar dan hadirnya berton – ton modul Node.js yang dikembangkan oleh komunitas membuat bahasa pemrograman yang satu ini kian digemari baik di Indonesia maupun di luar negeri. Membangun web framework dengan Node.js tentu saja dapat dilakukan from scratch dengan membuat fitur sendiri mulai dari membuat route parser, mekanisme template engine sendiri, pengelola database dan berbagai fitur umum web framework lainnya.Tapi Anda dapat menyimak berbagai web framework Node.js yang telah dikurasi oleh tim Codepolitan, untuk segera memulai membangun aplikasi web dengan menggunakan Node.js.
Daftar Isi
1. Express.js
- Github Star: 28.483
- Github URL: https://github.com/expressjs/express
- Official Website: https://www.expressjs.com
Web framework yang satu ini memiliki tagline “Unopinionated web framework for Node.js”. Berarti Anda tidak perlu ragu lagi menggunakan web framework yang satu ini. Dikembangkan oleh TJ Holowaychuk, dan kini dikelola oleh komunitas.Express.js memiliki beberapa fitur penting seperti:
- routing yang tangguh
- fokus pada performa tinggi
- hasil coverage pengujian dengan nilai yang sangat tinggi
- memiliki berbagai HTTP helpers
- mendukung lebih dari 14 template engine
- content negotiation
- memiliki generator untuk membuat boilerplate dengan cepat
2. Sails.js
- Github Star: 15.872
- Github URL: https://github.com/balderdashy/sails
- Official Website: https://www.sailsjs.com
Sails.js ingin menjadi web framework dengan realtime yang sangat tinggi dan dukungan untuk enterprise. Sails.js mengadopsi arsitektur Ruby on Rails untuk pengembangannya dengan dukungan peralatan dan konsep yang lebih modern. Sails.js menjanjikan Anda dengan segudang fitur unggulan seperti:
- hampir seluruh kode Sails.js ditulis dengan Javascript
- dukungan terhadap berbagai database baik relational maupun nosql
- auto generate REST API
- dukungan websocket yang lebih mudah
- dukungan security policy yang lebih baik
- MEndukung berbagai front-end strategy seperti Angular.js, Backbone.js, iOS, Android, Windows Phone, dan lainnya
- asset pipeline yang fleksibel
- menggunakan Node.js, Express, dan Socket.io yang dipermudah dan ditingkatkan kehandalannya
- object relational mapper bernama waterline
- dokumentasi yang jelas dan lengkap
Sails.js memiliki pengembang inti yang terdiri dari Mike McNeil, COdy Stoltman, Scott Gress, Irl Nathan, dan Rachael Shaw. Selain itu memiliki tiga buku yang terdiri dari: Sails.js in Action dan Sails.js Essentials.
3. Hapi.js
- Github Star: 6.942
- Github URL: https://github.com/hapijs/hapi
- Official Website: https://www.hapijs.com
Hapi.js dikembangkan untuk mewarnai dunia Node.js. Hapi membuat developer untuk fokus pada pengembangan logika aplikasi yang dapat digunakan ulang. Saat ini Hapi.js dikelola dibawah kendali Eran Hammer. Hapi.js disponsori oleh StriveWire, sebuah perusahaan dari Hamburg, Jerman.Hapi.js memiliki sejumlah fitur seperti:
- konfigurasi terpusat
- validasi input
- caching
- autentikasi
- dukungan terhadap REST
- logging
4. Kraken.js
- Github Star: 4.120
- Github URL: https://github.com/krakenjs/kraken-js
- Official Website: https://www.krakenjs.com
Web framework yang satu ini dikembangkan oleh PayPal Engineering, untuk mendukung salah satu backend service mereka. Saat ini Kraken.js dikelola dibawah pimpinan Jean-Charles Sisk.Kraken dibangun diatas Express.js dan ditambahi dengan berbagai fitur yang environment-aware, konfigurasi dinamis, kemampuan menggunakan advanced middleware, keamanan, dan app lifecycle event.Kraken.js memiliki beberapa modul yang menjadi pilar utama dalam web framework ini, yaitu:
- Adaro, sebuah template engine
- Lusca, lapisan keamanan aplikasi
- Makara, untuk internasionalisasi aplikasi
- Kappa, untuk proxy terhadap NPM
5. Serverless
- Github Star: 12.782
- Github URL: https://github.com/serverless/serverless
- Official Website: https://www.serverless.com
Serverless secara harfiah berarti tidak ber-server, namun bila kita mengacu kepada sebuah arsitektur serverless adalah sebuah aplikasi yang dapat kita deploy oleh developer tanpa harus banyak berkecimpung dengan urusan konfigurasi server. Web framework ini sejatinya dirilis untuk membuat aplikasi web yang akan di-hosting di Amazon Web Service, Microsoft Azure Functions, GOogle CloudFunctions, dan layanan cloud function as a service lainnya. Namun saat ini baru Amazon Web Service saja yang cukup fokus diperhatikan oleh Serverless untuk tahap awal.Anda dapat menggunakan layanan penyedia cloud yang ingin Anda pilih. Dengan menggunakan Node.js, Anda sudah dapat membangun aplikasi web berbasis serverless dengan web framework Serverless.Serverless memiliki beberapa fitur berikut:
- dukungan terhadap Node.js, selain itu mendukung Python, Java, dan Scala. Namun saat ini baru Node.js yang memiliki banyak dokumentasi
- mendukung siklus arsitektur serverless (build, deploy, update, delete)
- agnostic terhadap layanan cloud. Anda dapat menggunakan layanan cloud manapun
- mengelola sumber daya melalui provider resource manager
- function dapat dikelompokkan untuk manajemen kode yang lebih mudah
- sedikit konfigurasi dan terdapat scaffolding
- built-in multiple stages
- dioptimasi untuk workflow continouse integration / continous delivery
- dapat membuat plugin atau memodifikasi framework ini dengan mudah
- komunitas yang besar
6. Meteor.js
- Github Star: 35.497
- Github URL: https://github.com/meteor/meteor
- Official Website: https://www.meteor.com
Seperti namanya, web framework ini memiliki ukuran besar seperti meteor nyatanya. Bagaimana tidak, Bila Anda membuat sebuah aplikasi dengan Meteor.js, Anda akan mendapatkan ukuran folder aplikasi sebesar 500 MB. Selain memasang NPM, didalamnya terdapat juga instalan MongoDB dan perangkat yang dibenamkan dalam proyek aplikasi.Disamping ukurannya yang besar, Meteor.js menyimpan segudang fitur yang sangat memukau untuk digunakan pengembang aplikasi Node.js. Beberapa fiturnya yang terkenal antara lain:
- Pub / Sub melalui websocket
- template engine
- Siap digunakan bersama MongoDB
- arsitektur model, view, controller (MVC)
- Selain untuk membangun aplikasi web dapat juga membangun versi aplikasi mobile-nya melalui Cordova
- Terintegrasi dengan Angular.js dan Reactjs
- dan lainnya
Meteor sendiri digunakan oleh perusahaan ternama seperti Mazda, Ikea, Honeywell, Qualcomm, dan Professional Golf Association Tour.
7. Koa.js
- Github Star: 12.632
- Github URL: https://github.com/koajs/koa
- Official Website: https://www.koajs.com
Digawangi oleh Jonathan Ong, Julian Gruber, dan Yiyu He. TJ Holowaychuk bersama ketiga developer tersebut membangun sebuah web framework serupa dengan Express.js namun disiapkan untuk masa depan. Web framework tersebut bernama Koa.js.Kode basis Koa, hanya sekitar 550 SLOC. Di dalamnya sudah terdapat fitur untuk content negotiation, normalisasi untuk inkonsistensi node, redirection, dan lainnya. Koa tidak dibundel dengan middleware lainnya, sehingga Koa memiliki ukuran yang sangat kecil.
catatan: (data github star terakhir dilihat pada tanggal 19 November 2016)Â [rfs/github/ap]