Berkenalan dengan AdonisJS — Framework Node JS rasa Laravel
Sebelum make Adonis JS, kenalan dulu yuk sama Framework Node JS yang satu ini, rasa Laravel loh!
Hello dev-lopah! Gimana kabarnya hari ini? Udah pusing sama code belom? Kalo belom maka kamu harus pusing! Kenapa gitu? Karena kalo pusing tandanya otak kamu bekerja (berfikir), dan kalau berfikir tandanya kamu belajar sesuatu yang baru!
Pada artikel kali ini gue mau ngenalin kalian sama AdonisJS, udah tau belom nih? Gue copy paste dari si webnya nih.
AdonisJs is a Node.js web framework with a breath of fresh air and drizzle of elegant syntax on top of it. We prefer developer joy and stability over anything else.
Framework ini dibuat oleh Harminder Virk, framework ini punya konsep dimana syntaxnya harus elegan, rapih, stabil, dan simple! Awalnya, gue pikir ini cuma omong kosong, tapi setelah baca dokumentasinya hingga struktur codenya setelah install… wah GILA sih gue suka framework ini dalam sekali lihat.
Actually, gue juga udah pernah coba ngulik AdonisJS setahun yang lalu, atau mungkin dua tahun yang lalu sih. Tapi karena waktu itu tangan saya masih sayang sama PHP aka Laravel maka saya belom mau serius make JS (kala itu). Mau coba liat kenapa gue bilang kaya laravel? Coba tengok video dibawah ini/
Nah pada kesempatan kali ini, saya akan berbagi insight tentang AdonisJS.
Bagi yang pernah dan hobby ngulik, mungkin pernah nyoba ngebuat web app pake salah satu framework Node JS, contohnya SailsJS. Tapi begitu gue coba install Sails JS, kesan yang gue dapet pertama kali ngeliat strukturnya adalah… ah gila gue bingung.
Karena menurut gue ini masih rada membingungkan, bahkan konfigurasinya pun menurut gue memusingkan. Ngga percaya? Install aja.
Nah begitu gue coba install AdonisJS dikarenakan katanya sih ini mirip Laravel, gue langsung cling-cling-cling abis selesai install.
Baru selesai install dan liat strukturnya hingga confignya, gue langsung “Waaaaaah kayanya enak nih”, dan ternyata bener, Adonis emang mirip Laravel bung! Wah pengguna Laravel pasti bakalan asik deh kalo pake Adonis.
Nah buat yang udah ngga sabar coba, yuk mari kita install bareng.
Pertama install dulu command linenya si adonis, bedanya dari Fastify, atau Express yang pernah gue buat tutorialnya adalah, Adonis ini punya command line, ya mirip-mirip artisannya si Laravel lah.
npm i -g @adonisjs/cli
Kedua, kita buat project dulu nih namanya latihan-adonis.
adonis new latihan-adonis
Ketiga, sekarang tungguin dah ampe kelar installnya, cukup lama juga kaya instalasi laravel.
Kalo udah selesai segera masuk ke foldernya dengan cara.
cd latihan-adonis
Lalu jalanin filenya, eits ini ngga pake “node blabla.js” lagi loh, ada magicnya kaya artisan serve-nya laravel huehehe.
adonis serve --dev
NB: Kita pake tulisan dev karena ini sedang dalam stage percobaan, kalo mau jajal pake node juga bisa, cukup jalankan node server.js saja.
Sekarang kita test ke hompek (Homepage) kita.
Nah mantap dah tuh udah berhasil kan.
Sekarang kita lanjutkeun untuk nyoba bikin halaman yang laen. Kita buat controllernya dulu dengan cara
adonis make:controller NamaController
Nah kamu akan dapet pertanyaan dibawah ini, pilih HTTP untuk controller biasa dan pilih web socket untuk bikin routes web socket.
Kalo mau cepet ngga pake pilihan bisa langsung kaya gini untuk http
adonis make:controller NamaController --type http
atau dibawah ini untuk websocket.
adonis make:controller NamaController --type ws
Setelah berhasil maka silahkan cek app/Controllers/Http/HelloController, sok atuh dibuat code-nya seperti dibawah ini.
'use strict'class HelloController {
index({request, response, view}){
let params = request.get('name');
return view.render('hello', {text: params.name})
}
}module.exports = HelloController
Ets, belom ada view bernama hello nih, kita buat dulu ya dengan cara.
adonis make:view hello
Kalo ngga mau ngetik segala tinggal copy paste aja file default yaitu welcome.edge, ganti jadi hello.edge.
Nah kalo udah copy paste isi hello.edge dibawah ini
<html>
<head>
<title>Hello World</title>
</head>
<body>
<p>Hello World</p>
<p>{{ text }} rock with Adonis JS</p>
<p>Current URL is {{ request.url() }}</p>
</body>
</html>
Sekarang kita benerin routes kita, masuk ke folder start/routes.js
Route.get(‘/hello’, ‘HelloController.index’).as(‘hello.index’)
Nah tambahkan routes hello dan kerennya kita bisa buat routesnya seperti laravel yaitu routes name dengan fungsi .as(‘name’).
Oke sekarang jalankan dengan cara
adonis serve --dev
akses ke localhost:3333/hello dan lihat hasilnya.
Yup, bagian si text kosong karena kita tidak mengirimkan parameter name. Sekarang akses halaman dengan parameter yaitu localhost:3333/hello?name=Kiddy dan kita lihat lagi.
Nah tuh sekarang udah ada kan variablenya. Gampang ngga? Asli ini gue bisa bilang GAMPANG BANGET! Cukup baca dokumentasinya disini biar kalian juga lebih paham saat bermain dengan Adonis JS.
Itu dia dari gue, sekian ya, mungkin yang udah bosan dengan Laravel dan pengen jajal web application dengan Node JS, maka Adonis JS ini bisa jadi solusi loh!
Happy coding!