Nodejs |
Intro
Hallo teman-teman kali ini saya akan berbagi tulisan tentang pemilihan ORM terbaik ketika kita ingin membuat aplikasi backend menggunakan nodejs. ORM (Object Relation Mapping) merupakan teknik untuk merubah suatu table menjadi sebuah object yang tujuan nya mudah untuk digunakan. Object yang dibuat memiliki property yang sama dengan kolom-kolom yang ada pada table tersebut.
Contoh jika tanpa ORM kita ingin mengambil data di tabel A
// example
const query = 'SELECT * FROM table a'
const result = sql.execute(query)
Jika menggunakan ORM seperti ini :
// example
const result = A.find()
Dapat dilihat dari code diatas menjadi lebih simpel dalam eksekusi code, cukup panggil nama model atau tabel nya lalu dengan perintah find() sama dengan eksekusi `SELECT * FROM Table A`, berikut adalah beberapa ORM terbaik untuk nodejs yang penulis urutkan berdasarkan github star.
1. TypeORM
TypeORM adalah ORM yang dapat berjalan di platform NodeJS, Browser, Cordova, PhoneGap, Ionic, React Native, NativeScript, Expo, dan Electron dan dapat digunakan dengan TypeScript dan JavaScript (ES5, ES6, ES7, ES8). Tujuannya adalah untuk selalu mendukung fitur JavaScript terbaru dan menyediakan fitur tambahan yang membantu Anda mengembangkan segala jenis aplikasi yang menggunakan basis data - dari aplikasi kecil dengan beberapa tabel hingga aplikasi perusahaan skala besar dengan banyak basis data.
TypeORM mendukung pola Rekaman Aktif dan Pemeta Data, tidak seperti semua ORM JavaScript lain yang ada saat ini, yang berarti Anda dapat menulis aplikasi berkualitas tinggi, digabungkan secara longgar, dapat diskalakan, dan dapat dipelihara dengan cara yang paling produktif. TypeORM sangat cocok untuk nodejs dengan konsep typescript/module.
2. Sequelize
Sequelize adalah alat ORM Node.js berbasis janji untuk Postgres, MySQL, MariaDB, SQLite, Microsoft SQL Server, Amazon Redshift, dan Cloud Data Snowflake. Ini fitur dukungan transaksi yang solid, hubungan, loading bersemangat dan malas, membaca replikasi dan banyak lagi.
Sequelize mengikuti Semantic Versioning dan jadwal resmi Node.js LTS. Versi 7 dari Sequelize secara resmi mendukung versi Node.js ^12.22.0, ^14.17,0, ^16.0.0. Versi lain mungkin juga berfungsi.
3. Prisma
ORM Prisma membantu pengembang aplikasi membangun lebih cepat dan membuat lebih sedikit kesalahan dengan toolkit database open source untuk PostgreSQL, MySQL, SQL Server, SQLite, dan MongoDB (Pratinjau).
4. Knex
ORM Knex.js (diucapkan /kəˈnɛks/) adalah pembuat kueri SQL "termasuk baterai" untuk PostgreSQL, CockroachDB, MSSQL, MySQL, MariaDB, SQLite3, Better-SQLite3, Oracle, dan Amazon Redshift yang dirancang agar fleksibel, portabel, dan menyenangkan untuk menggunakan. Ini menampilkan panggilan balik gaya simpul tradisional serta antarmuka janji untuk kontrol aliran asinkron yang lebih bersih, antarmuka aliran, pembuat kueri dan skema berfitur lengkap, dukungan transaksi (dengan titik penyimpanan), penyatuan koneksi, dan respons standar antara klien kueri dan dialek yang berbeda.
Ada beberapa lagi tipe ORM untuk nodejs akan tetapi yang saya pernah coba untuk production mungkin cuman segitu, untuk beberapa kekurangan dan kelebihan sebenarnya hampir sama sih,
Catatan yang paling inti adalah jika teman-teman bingung menetukan ORM pertama lihat dokumentasinya dahulu apakah lengkap atau tidak, terus pantau github repository nya apakah selalu aktif update atau tidak
Mungkin segitu yang bisa saya sharing semoga bermanfaat bagi teman-teman, jika ada yang tidak mengerti, ada kesalahan dalam penulisan dan ada yang ingin ditanyakan atau di tambahkan bisa tulis dikolom komentar terimakasih.
0 Komentar