Framework NestJS telah saya gunakan secara aktif selama 9 bulan ke belakang untuk men-develop backend. Fitur yang disediakan sangat membantu saya dan tim untuk men-deliver fitur bisnis lebih cepat dan tetap menjaga best practice.
Saya ingin share 7 alasan framework ini bisa jadi pilihan ketika sahabat menggunakan Node.js.
1. Framework ini dibuat oleh Kamil Mysliwiec dan tim yang merupakan para software engineer berpengalaman serta banyak berkontribusi di proyek open-source. Framework ini berasal dari open source project dan di-maintain secara aktif sehingga kita bisa yakin untuk menggunakannya dalam environment production.
2. Kompatibel dengan TypeScript atau JavaScript. Bagi saya pribadi, kompatibilitas framework ini dengan TypeScript membuat learning curve lebih landai karena saya terbiasa menggunakan bahasa pemrograman strongly-typed seperti C#.
3. Arsitektur aplikasi dengan NestJS dibuat dengan rapi. Layer aplikasi dibagi menjadi layer yang saling loosely-coupled. Building blocksnya antara lain:
- Controllers
- Providers
- Modules
- Middleware
- Exception filters
- Pipes
- Guards
- Interceptors
Boilerplate code dari semua building blocks di atas sudah dibuat oleh tim developer-nya dan bisa digunakan sebagai decorator. Kita sebagai pengguna cukup menggunakan decorator “@” pada masing-masing class di proyek kita.
4. Nest runtime system bisa meng-handle dependency injection. Developer cukup atur class mana yang injectable, biar runtime system yang mengatur instansiation-nya.
5. Automated testing jadi mudah dibuat berkat arsitektur yang rapi. Unit testing hingga end-to-end testing jadi lebih cepat dibuat. Pastinya ini sangat mempermudah pekerjaan software engineer :)
6. API sudah support REST API dan Graphql. Kita bisa pilih HTTP server API yang kita sukai untuk diimplementasikan, misalnya Express, Fastify, Apollo-graphql, dan lain-lain.
7. Abstraksi database sudah disediakan. TypeORM untuk database SQL dan mongoose untuk database mongodb.
Saya terinspirasi dengan rapinya framework ini ditulis sehingga memutuskan untuk mengikuti kursus fundamentalnya. Hasilnya, saya bisa mengaplikasikan fitur dari framework ini lebih efektif kepada proyek yang saya kerjakan.
https://learn.nestjs.com/courses/591712/certificate
Kalau sahabat ingin overview frameworknya, bisa kunjungi dokumentasinya di https://docs.nestjs.com/cli/overview
#softwareengineering #nodejs