Pengantar NestJS [+6 Sumber Pembelajaran]
Diterbitkan: 2023-01-06NestJS adalah kerangka kerja Node.js progresif untuk membangun aplikasi sisi server yang dapat diskalakan, efisien, dan andal.
NestJS dibangun untuk menghilangkan basis kode yang tidak teratur. Struktur modularnya memudahkan untuk mengatur kode ke dalam modul yang berbeda.
NestJS dibangun di atas TypeScript dan menggunakan ExpressJS di bawah tenda. NestJS disukai oleh pengembang yang ingin memanfaatkan kekuatan pemeriksaan tipe TypeScript. NestJS menggabungkan berbagai aspek Pemrograman Reaktif Fungsional (FRP), Pemrograman Berorientasi Objek (OOP), dan Pemrograman Fungsional (FP).
Mengapa NestJS?

NestJS ramah bagi pemula karena memiliki struktur yang baik dan alat Antarmuka Baris Perintah (CLI) yang mudah digunakan. Dengan demikian, pengembang dapat merancah fitur baru dengan satu perintah saat menggunakan kerangka kerja Node.js ini.
NestJS menyediakan modul, layanan, pengontrol, dan tumpukan pengujian untuk membantu Anda memulai. Anda juga dapat mengandalkan banyak boilerplate dan template yang tersedia untuk membuat perjalanan pengembangan Anda lebih mudah.
Kurva pembelajaran untuk NestJS akan mudah bagi mereka yang fasih dengan loop, sintaks, dan kondisi dalam JavaScript dan Angular.
Fitur NestJS

Dibangun di atas TypeScript
NestJS dibangun di atas TypeScript, sebuah superskrip JavaScript. TypeScript memberikan pengalaman pengembangan yang lebih baik karena Anda tidak perlu memeriksa kesalahan secara manual setiap kali Anda mengubah sesuatu dalam kode. TypeScript pada dasarnya menawarkan semua fitur JavaScript tetapi juga dilengkapi dengan beberapa fungsi tambahan.
Kontainer Injeksi Ketergantungan
Injeksi ketergantungan memisahkan inisialisasi objek yang digunakan kelas dari kelas itu sendiri. Dalam kasus seperti itu, kelas disebut 'klien' sedangkan dependensi kelas dikenal sebagai 'layanan'. DI bawaan di NestJS ini membuat aplikasi lebih efisien dan modular.
Antarmuka Baris Perintah (CLI) yang Kuat
Anda dapat menginisialisasi, mengembangkan, dan memelihara semua aplikasi NestJS Anda menggunakan NestCLI. Ada banyak hal yang dapat Anda lakukan dengan menggunakan Nest CLI, seperti;
- Perancah proyek
- Melayani proyek dalam mode pengembangan
- Bangun dan bundel aplikasi untuk distribusi produksi
Modularisasi
Setiap aplikasi NestJS memiliki setidaknya satu modul. Modul 'root' adalah yang paling dasar. Dalam aplikasi NestJS biasa, setiap bagian logis dari aplikasi akan hidup di batas domain (modul) yang sama. Pengaturan seperti itu memudahkan untuk mengatur komponen di mana aplikasi akan memiliki banyak modul dengan serangkaian kemampuan yang terkait erat.
Pengujian unit
Pengujian otomatis hadir dengan banyak manfaat. Namun, proses pengaturan tes semacam itu bisa jauh lebih melibatkan. NestJS memiliki berbagai fitur untuk membantu tim membuat dan mengotomatiskan pengujian. Hal yang baik tentang NestJS adalah dapat digunakan dengan berbagai alat pengujian. Sistem injeksi ketergantungan Nest tersedia selama pengujian untuk membuat tiruan komponen dengan mudah.
Agonistik basis data
Anda dapat dengan mudah mengintegrasikan dengan database SQL atau NoSQL apa pun berdasarkan kebutuhan dan preferensi Anda saat bekerja dengan NestJS. Menghubungkan NestJS ke database sangatlah sederhana, karena Anda hanya perlu memuat driver Node.js yang sesuai.
Mendukung berbagai perpustakaan
NestJS kompatibel dengan berbagai alat, yang mempercepat pengembangan aplikasi. Framework ini mendukung Logging, Validation, Caching, WebSockets, TypeORM, Mongoose, dan GraphQL tanpa konfigurasi tambahan.
Arsitektur dan Alur Kerja NestJS
NestJS memiliki arsitektur 3 lapis yang terdiri dari controller, provider, dan modul. Dengan demikian, pengembang dapat membuat kode bersih yang tidak tumpang tindih.

Pengontrol
Pengontrol di NestJS berfungsi sebagai jembatan antara permintaan dan respons klien. Mekanisme perutean akan selalu mengarahkan permintaan ke pengontrol yang sesuai setiap kali permintaan HTTP dibuat. Kerangka kerja menggunakan dekorator dan kelas untuk membuat pengontrol. Setiap metode kelas kemudian dipetakan ke rute untuk menerima permintaan tertentu.
Penyedia
Penyedia dapat digambarkan sebagai dasar-dasar NestJS. Penyedia disuntikkan sebagai dependensi dan membuat hubungan antara berbagai objek. Kelas di NestJS, seperti pembantu, layanan, atau repositori, dapat diperlakukan sebagai penyedia setelah dekorator `@Injectable()` telah ditambahkan. Penyedia semacam itu juga dapat disuntikkan ke dalam kelas melalui konstruktor, dan NestJS akan menyelesaikan dependensinya.
Modul
Modul di NestJS menyatukan serangkaian kemampuan yang terkait erat. Setiap aplikasi NestJS memiliki modul root yang digunakan sebagai titik masuk. Penggunaan banyak modul sangat disarankan jika Anda ingin memiliki kode yang teratur dan mudah dibaca. Dekorator `@Module()` Nest menentukan modul dan juga menyediakan informasi seperti dependensi, pengontrol, dan penyedia untuk mengikuti modul tersebut.
Memulai dengan NestJS
Pastikan Node.js dan npm terinstal. Anda memerlukan lingkungan runtime, dan Node.js sangat cocok untuk penyiapan ini. Anda memerlukan versi >= 12, kecuali untuk v13. Anda dapat memeriksa apakah Anda telah menginstal Node.js dan npm melalui perintah ini;
node -v
npm -v
Jika keduanya diinstal, Anda akan mendapatkan output yang mendekati ini

Jika Anda tidak memilikinya, instal melalui halaman resmi. Untungnya, Node.js dan npm diinstal bersamaan.
- Instal Nest CLI. Gunakan perintah berikut untuk mengatur CLI dan proyek;
npm i -g @nestjs/cli
nest new project-name
Kami memilih nama proyek menjadi mynestapp untuk tujuan demonstrasi. NestJS memberi Anda kesempatan untuk bekerja dengan TypeScript atau Vanilla JavaScript. Pilih yang cocok untuk Anda dan tekan enter. Setelah aplikasi dirangkai, struktur file akan disiapkan, dan folder 'src' akan dilengkapi dengan beberapa file inti, seperti yang ditunjukkan pada tangkapan layar ini

- Jalankan aplikasi/ hello world pertama Anda
Setelah instalasi selesai, jalankan perintah ini untuk menjalankan server pengembangan

cd mynestapp
npm run start
Ketik http://localhost:3000/ di browser Anda dan "Hello World" pertama Anda di NestJs akan ditampilkan
NestJS: Keuntungan
- Mudah dipelajari . Sangat mudah untuk menguasai NestJS, terutama jika Anda berasal dari Angular atau memiliki pemahaman umum tentang JavaScript. Dokumentasi terperinci juga memudahkan untuk menguasai bekerja dengan kerangka kerja yang kuat ini.
- Fleksibel . Anda dapat membangun banyak hal menggunakan NestJS. Anda dapat membuat aplikasi MVC, aplikasi GraphQL, RESTful API, dan soket web menggunakan framework Node.js ini.
- Dilengkapi dengan ribuan modul . Modul yang didukung komunitas memudahkan pengembang untuk menyusun berbagai fitur sekaligus membuat aplikasi sisi server.
- Perkembangan cepat dan arsitektur yang bagus . Anda tidak harus membuat semuanya dari awal saat bekerja dengan NestJS. Namun, framework yang sama memiliki arsitektur yang solid untuk memudahkan memahami kode Anda.
NestJS: Kelemahan
- Tidak menguntungkan bagi mereka yang memiliki latar belakang TypeScript dan Angular . NestJS banyak meminjam dari arsitektur Angular, dan mereka yang tidak memiliki pengetahuan seperti itu mungkin memerlukan waktu untuk memahami sintaks dan strukturnya.
- Kurang di beberapa daerah . NestJS masih muda dan mungkin tidak bersaing secara menguntungkan dengan beberapa kerangka kerja mapan berdasarkan Python dan GO.
Perusahaan yang menggunakan NestJS
#1. Adidas
Adidas, produsen dan perancang sepatu, adalah salah satu perusahaan yang menggunakan NestJS. Fitur luar biasa dari NestJS pasti telah menarik raksasa sepatu ini untuk menggunakannya di bagian belakangnya.
#2. Capgemini
Capgemini adalah perusahaan multinasional Prancis yang menawarkan layanan konsultasi, teknologi, outsourcing, dan profesional. Perusahaan ini menggunakan NestJS dalam tumpukan teknologinya.
#3. Roche
Roche adalah perusahaan kesehatan multinasional yang memiliki dua divisi; farmasi dan diagnostik. Roche menggunakan NestJS sebagai salah satu tumpukan teknologi di situs web utamanya.
Sumber Belajar
#1. NestJS Nol ke Pahlawan

NestJS Zero to Hero mengajari pengembang cara membuat dan menerapkan aplikasi back-end perusahaan menggunakan TypeScript dan Node.js. Kursus ini mengajarkan cara membuat API, Otorisasi dan Otentikasi, pengujian Unit aplikasi Nest, dan TypeORM untuk interaksi database, di antara banyak hal lainnya.
#2. NestJS: Panduan Pengembang Lengkap

Kursus ini mengajarkan developer cara membuat API backend menggunakan Nest, TypeScript, dan TypeORM. Panduan lengkap ini memiliki semua yang Anda butuhkan mulai dari menyiapkan pengkodean, pengujian, dan penerapan aplikasi NestJS Anda. Anda juga akan mendapatkan pemahaman di balik layar tentang kerangka web NestJS.
#3. Guru NestJS

Master NestJS mengajarkan cara mengembangkan aplikasi Node.js tingkat perusahaan menggunakan TypeScript. Kursus ini mengajarkan validasi dan serialisasi data, cara kerja token JWT, cara menggunakan NestCLI, dan abstraksi database modern, di antara banyak hal lainnya.
#4. NestJ dalam Praktek (dengan MongoDB)

NestJS dalam Praktik mengajarkan semua yang perlu Anda pelajari tentang NestJS, mulai dari Modul, Pengontrol, Layanan Penjaga, Pipa, dan Middleware. Kursus ini mengambil pendekatan berbasis proyek di mana Anda membuat kode dan menghosting kode Anda di GitHub dengan file zip yang dapat diunduh untuk setiap bagian.
#5. Nest.js: Kerangka Node.js Progresif
Buku ini memperkenalkan developer ke NestJS dan cara memanfaatkan JavaScript dan TypeScript. Buku ini telah dirancang dalam format petunjuk untuk memastikan Anda dapat menyiapkan dan menjalankan aplikasi NestJS dalam waktu singkat.
Pratinjau | Produk | Peringkat | Harga | |
---|---|---|---|---|
![]() | Nest.js: Kerangka Node.js Progresif | $24,99 | Beli di Amazon |
#6. Nest.js Praktis: Kembangkan aplikasi web MVC yang bersih
Buku Praktis Nest.js menggunakan pendekatan berbasis proyek untuk membuat aplikasi toko online yang memanfaatkan berbagai fitur NestJS. Buku ini mencakup diskusi singkat, tip, dan frasa berguna saat membuat aplikasi NestJS Anda.
Pratinjau | Produk | Peringkat | Harga | |
---|---|---|---|---|
![]() | Nest.js Praktis: Kembangkan aplikasi web MVC yang bersih | $16,99 | Beli di Amazon |
Kesimpulan
Selain sebagai framework Node.js yang kuat, NestJS juga merupakan salah satu framework TypeScript paling populer untuk aplikasi sisi server saat ini. Fakta bahwa ia menawarkan praktik terbaik pengkodean dan arsitektur pengembangan standar telah membuatnya menarik banyak insinyur yang ingin fokus membangun logika bisnis saat membangun aplikasi.