Node.js adalah perangkat lunak yang didesain untuk
mengembangkan aplikasi berbasis web dan ditulis dalam sintaks bahasa
pemrograman JavaScript. Bila selama ini kita mengenal JavaScript sebagai bahasa
pemrograman yang berjalan di sisi client / browser saja, maka Node.js ada untuk
melengkapi peran JavaScript sehingga bisa juga berlaku sebagai bahasa
pemrograman yang berjalan di sisi server, seperti halnya PHP, Ruby, Perl, dan
sebagainya. Node.js dapat berjalan di sistem operasi Windows, Mac OS X dan
Linux tanpa perlu ada perubahan kode program.
RESTful API merupakan implementasi dari API (Application Programming Interface).
REST
(REpresentational State Transfer) adalah suatu arsitektur metode
komunikasi yang menggunakan protocol HTTP untuk pertukaran data dan
metode ini sering diterapkan dalam pengembangan aplikasi.
Mungkin terdengar rumit tapi sebenarnya tidak.
Tujuannya untuk menjadikan system dengan performa yang baik, cepat, dan mudah untuk dikembangkan (scale) terutama dalam pertukaran dan komunikasi data.
Dimana
client mengirimkan request ke server melalui HTTP Request, dan server
memberikan response melalui HTTP Response. Response yang diberikan oleh
server, biasanya berformat HTML.
Nah, bayangkan jika Anda harus mengembangkan website Anda ke aplikasi
Mobile seperti Android atau iOS. Anda tahu aplikasi Android ataupun iOS
tidak membutuhkan HTML sebagai response dari server. Karena Android dan
iOS menggunakan bahasa pemrograman yang berbeda dan tidak mengenal HTML.
Oleh
sebab itu, kita perlu membuat RESTful API. RESTful API ini akan menjadi
jembatan komunikasi data antara client dan server. Sehingga, server
tidak lagi mengirimkan HTML sebagai response, melainkan hanya data. Ya,
hanya data. Hal inilah yang dapat menghemat bandwidth server. Response
dalam bentuk data inilah yang dapat digunakan untuk berbagai macam
platform dari aplikasi yang berbeda bahasa permrograman.
Response dalam bentuk data ini, biasanya berformat JSON atau XML.
Akan tetapi, yang paling umum digunakan adalah JSON. Dalam tutorial
kali ini, kita akan membuat RESTful API dengan response data dalam
format JSON.