Sails ditulis dengan javascript 100% dan dibangun menggunakan expressJS , nodeJS dan Socket.io. Sails mensupport(secara official) kegiatan ORM (Object Relational Mapping) pada berbagai database seperti : mysql, postgresql mongoDB, dan redis namun juga terdapat lebih dari 30 adapter database yang dibangun oleh komunitas sails.
selayang pandang
Sails adalah sebuah framework untuk web. Framework untuk web dibagi menjadi dua yakni untuk frontend dan backend. Kita telah mengenal framework web untuk frontend seperti : vue, react, angular dan lain sebagainnya. Sails adalah web framework khusus untuk keperluan backend bukan untuk keperluan frontend. Sails menghandle kegiatan seperti : RESTful Web services untuk membuat API(Application programming interfaces), Web socket, Http, menyediakan file html , atau bahkan sails dapat digunakan untuk menghandle request dari ribuan user. Hal-hal yang tidak dihandle oleh Sails adalah animasi, styling, user input event, user event dan kegiatan lain yang dilakukan oleh framework-framework frontend.
Sails dibangun dengan design pattern MVC layaknya web framework yang populer saat ini. Sails sendiri mengklaim bahwa mereka mengimplementasikan desain pattern yang “mirip” dengan framework-framework yang sudah ada seperti : Code Igniter, laravel, django, zend dan lain sebagainnya. Hal ini ditujukan agar orang yang telah familar dengan framework tersebut dapat dengan mudah beradaptasi dengan sails.
Fitur unggulan Sails
sebagai suatu framework tentunnya sails memiliki keunggulan diantarannya adalah :
- Sails dapat secara otomatis mengenerate REStful API.
- Sails secara default mensupport web socket sehingga sangat cocok untuk digunakan dalam membangun aplikasi realtime.
- Sails dapat dengan mudah digunakan dengan angular, react ataupun vue sebagai backend.
- Basic security rules. Sebagai developer terkadang kita lupa dengan sisi keamanan, sails sebagai sebuah framework telah mensupport basic security sehingga kita dapat 100% fokus kepada menyelesaikan masalah-masalah pada bisnis proses (fokus pada solusi). sails telah menyediakan middleware untuk melakukan proteksi terhadap backend maupun untuk menghandle error agar ketika terjadi error sails tidak berhenti berjalan.
- Support terhadap Less dan Sass.
- Disupport oleh framework-framework besar seperti express dan socket.io. Dengan support fondasi-fondasi tersebut maka sails memiliki posisi yang cukup “aman”.
Installasi sails
Install NodeJS
langkah pertama adalah memastikan bahwa sistem telah terinstall dengan NodeJS. Jika anda belum menginstall NodeJS pada local machine silahkan melakukan installasi nodeJS melalui website resmi nodeJS
Install Sails global
melakukan install sails secara global pada sistem melalui NPM(Node package manager) , jangan lupa gunakan sudo karena “-g” membutuhkan root privilages (jika menggunakan linux atau osx/unix).
npm install sails -g
Membuat project sails baru
perintah yang digunakan untuk membuat project sails adalah
sails new "nama project"
perintah diatas akan menghasilkan satu folder baru dengan nama seusai penamaan project beserta file package.json yang telah terintegrasi dengan package sails beserta dependencynya.
Menjalankan sails
masuk pada folder project sails anda (sails new). kemudian jalan perintah dibawah untuk menjalankan sails.
sails lift
setelah itu pada konsol/terminal akan muncul konfigurasi mengenai server yang dijalankan oleh sails (local server).
dari gambar diatas dapat kita ketahui bahwa sails berjalan pada port 1337 dan pada hostname localhost. kita dapat mengkasesnya di localhost:1337
mengkases localserver sails
buka localhost:1337(sesuai dengan informasi yang tampil di terminal/konsol anda). akan menghasilkan tampilan seperti gambar dibawah ini.
sekilas tampak seperti website yang digunakan untuk menampilkan dokumentasi dari suatu web services. Selanjutnya kita akan mencoba membangun restful api dengan menggunakan sails pada ulasan kedua mengenai sails. stay tune 🙂
[…] installasi dan pengenalan sailsJS […]
ok
bukannya react, vue dan angular itu bukan framework yah, soalnya yang aku baca mereka lebih sebagai library js. Salah satu hal yang tidak bisa dilakukan react adlah mengakses database, utuk mengaksesnya biasanya mengandalkan framework seperti express.