Installing Node.js on Windows 10, Ubuntu 18.04 and Mac O/S Mojave

This page covers installing the basic requirements for Strapi.

Basic Installation Requirements

Strapi only requires Node.js. The current recommended version to run strapi is Node v10 (current LTS).

This is all that is needed before Strapi can run on your local environment.

Installing Node.js

You can install Node.js and npm for Windows 10Ubuntu 18.04 and Mac O/S Mojave with the following instructions.

Installation Instructions for each Operating System:

WINDOWS 10

Installing Node.js on Windows 10

There are several methods to install Node.js on Windows 10.

We will follow the most common download and installation procedure. These instructions are for Windows 10. (If you are installing on a different version of Windows or if you have trouble following these instructions, please review the official Node.js documentation.)

  1. Download the Windows Installer from the downloads page. You will need to choose the 32-bit or 64-bit version. We recommend the LTS (long-term support) version of Nodejs.
  2. Double-click the node-v10.x.x-x86.msi file icon. Click “Next” for the default options and to install Nodejs under the recommended and most common settings. After clicking “Next” several times, click “Install” to install node.js. When it is done installing, click “Finish”.
  3. Verify both Node.js and npm have installed correctly. Open your Command Prompt:
    • Click your Start Button
    • In Search type, “cmd”
    • Then click on “Command Prompt”.
    • Type the following commands in your Command Prompt

Verify Node.js has correctly installed:

node -v
## You should see "v10.x.x

Next, verify npm has correctly installed:

npm -v
## You should see "6.x.x"

MAC O/S 10.14 MOJAVE

Installing Node.js on Mac O/S X (Mojave)

There are multiple methods to install Node.js on Mac O/S X (Mojave).

We will follow the most common download and installation procedure. These instructions are for Mac O/S X (Mojave). (If you are installing on a different version of Mac O/S or if you have trouble following these instructions, please review the official Nodejs documentation.)

  1. Download the Mac O/S Installer from the downloads page. We recommend the LTS (long-term support) version of Nodejs.
  2. Launch the node-v10.x.x.pkg file icon. Click “Continue” for the default options and to install Nodejs under the recommended and most common settings. After clicking “Continue” several times, click “Install” to install node.js. When it is done installing, click “Close”.
  3. Verify both Node.js and npm have installed correctly. Open your terminal prompt:
    • Open you Applications folder
    • Find and open the Utilities folder
    • Find “Terminal” and click on it to open it.
    • Type the following commands in your Terminal

Verify Node.js has correctly installed:

node -v
## You should see "v10.x.x"

Next, verify npm has correctly installed:

npm -v
## You should see "6.x.x"

UBUNTU 18.04

Installing Node.js on Ubuntu 18.04

There are multiple methods to install Node.js on Ubuntu 18.04.

We will follow the most common download and installation procedure. These instructions are for Ubuntu 18.04. (If you are installing on a different version of Ubuntu or a different Linux Distro or if you have trouble following these instructions, please review the official Nodejs documentation.)

  1. Install cURL and use cURL to download the nodejs (and npm) source code
sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
  1. Install node.js (and npm)
sudo apt-get install -y nodejs

Verify Node.js has correctly installed:

node -v
## You should see "v10.x.x"

Next, verify npm has correctly installed:

npm -v
## You should see "6.x.x"

Using Yarn

You can also use yarn if you want Here are the instructions to get started with it.

Source : Strapi.io

api

Application Programming Interface (API)

Application Programming Interface (API) adalah sebuah teknologi untuk memfasilitasi pertukaran informasi atau data antara dua atau lebih aplikasi perangkat lunak. API adalah antarmuka virtual antara dua fungsi perangkat lunak yang saling bekerja sama, seperti antara sebuah word processor dan spreadsheet. Sebuah API mendefinisikan bagaimana cara programmer memanfaatkan suatu fitur tertentu dari sebuah komputer. API tersedia untuk sistem windowing, sistem file, sistem basis data dan sistem jaringan.

Perkembangan teknologi API berawal dari penciptaan sebuah subrutin sederhana yang menyediakan kemampuan interoeperability dan system modifiability untuk mendukung pertukaran data antar beberapa aplikasi. Subrutin tersebut hanya mampu melaksanakan perhitungan matematis sederhana hingga terbentuk sebuah API pustaka penghitungan yang hampir selalu ada pada setiap bahasa pemrograman. Dari sebuah subrutin sederhana tersebut mulai bermunculan gagasan-gagasan bagaimana API harus dikembangkan khususnya sejalan dengan berkembangnya paradigma pemrogramana berorientasi objek yang mengakibatkan sekumpulan subrutin sejenis dapat dikumpulkan menjadi sebuah kelas pembungkus subrutin-subrutin tersebut.

Dengan berkembangnya sebuah perangkat lunak menjadi sebuah sistem yang terdiri dari beberapa perangkat lunak lain (subsistem-subsistem) maka API juga berkembang untuk tetap mewujudkan tujuannya yaitu sebagai jembatan penghubung antar perangkat lunak. Perkembangan API diwujudkan dengan bertambanhanya sifat API yakni mampu mendukung interoperability antar perangkat lunak. API tidak hanya bertugas mempertukarkan data dan informasi antar subrutin dalam suatu perangkat lunak namun juga mempertukarkan data dan informasi antar perangkat lunak. Dalam kasus ini API harus memiliki kemampuan komunikasi antar proses baik melalui perantara file, socket, atau layanan  IPC lainnya.

Pada pengembangan sebuah sistem yang lebih luas, kadang sebuah API dapat menjadi sebuah middleware, yaitu sebuah subsistem tersendiri yang memiliki fungsi-fungsi yang berguna oleh subsistem lain dan untuk mengakses fungsi-fungsi tersebut diperlukan koneksi tersendiri ke middleware tersebut. Koneksi ke middleware umumnya dilakukan dengan menggunakan socket. Ada beberapa standar protokol pengaksesan middleware tersebut. Contoh-contoh protokol pengaksesan middleware antara lain adalah :

a. Remote Procedure Calls (RPC) , sebuah perangkat lunak pengguna memanggil prosedur atau subrutin yang berjalan pada sebuah middleware jarak jauh, pemanggilan prosedur dapat berupa sinkron maupun asinkron.

b. Message Oriented Middleware (MOM), sistem yang melakukan pooling data dan informasi ke sebuah middleware, data yang menunggu untuk diproses oleh subsistem-subsistem yang terdapat di sistem keseluruhan disimpan pada suatu middleware tersebut.

c. Object Request Broker (ORB), protokol ini memungkinkan suatu perangkat lunak mengirim dan menerima objek dan meminta layanan pada sebuah middleware berbasis obyek.

d. Structured Query Language (SQL), protokol dan juga bahasa pembacaan dan penulisan data yang tersimpan pada middleware basis data.

Pada proses pengembangan sebuah perangkat lunak baik API pada khususnya maupun perangkat lunak lain memerlukan kaidah-kaidah yang perlu dipahami dan diterapkan. API yang baik adalah API yang memiliki sifat-sifat sebagai berikut:

1. Mudah untuk dipelajari.
2. Mudah untuk digunakan, bahkan bila tanpa dokumentasi yang menyertainya.
3. Susah untuk disalahgunakan.
4. Berkinerja tinggi dalam menyelesaikan tugasnya.
5. Mudah untuk dikembangkan lebih lanjut.

Garis besar langkah-langkah dalam pengembangan API agar dapat menjadi API yang baik adalah sebagai berikut:

1. Kumpulan kebutuhan API secara umum. Dimulai dengan pembangkitan spesifikasi sederhana, yang kemudian dikembangkan secara bertahap. Dari spesifikasi tersebut harus terlihat jelas kebutuhan fungsionalitas dari API yang akan dikembangkan.

2. Perhatikan prinsip-prinsip umum. Prinsip-prinsip umum yang harus diperhatikan selama pengembangan API adalah:
a. Fungsionalitas dari API harus mudah untuk dijelaskan dengan kata-kata.
b. Semakin kecil ukuran API yang dikembangkan semakin baik, namun tetap memenuhi semua spesifikasi teknis yang dijadikan acuan.
c. API tersedia sebelum proses penggunaan API tersebut pada sebuah perangkat lunak.
d. Meminimumkan aksesibilitas keseluruhan dengan menggunakan metoda enkapsulasi.

3. Desain API, pada tahap ini dilakukan desain API dengan dasar spesifikasi teknis yang telah dibangkitkan pada tahap sebelumnya. Pada tahap ini dibantu dengan penggambaran diagram UML masing-masing desain. Beberapa hal yang harus didesain:
a. Desain kelas.
b. Desain metoda.
c. Desain exception.
d. Desain API agar dapat direfactoring.

4. Dokumentasi API, setelah dilakukan desain terhadap API, maka langkah selanjutnya adalah membuat dokumen lengkap terhadap API tersebut, dengan cara langsung memberikan baris-baris komentar di setiap baris header yang membutuhkan penjelasan. Selain dokumentasi kode program, perlu diperhatikan dokumentasi diagram. Diagram UML hendaknay diberi penjelasan mengacu ke kode program yang sesuai.

5. Implementasi API, pada tahap ini dilakukan implementasi terhadap desain API pada tahap 3 dan sesuai dengan dokumentasi API yang dilakukan pada tahap 4. Implementasi dilakukan dengan memperhatikan spesifikasi masing-masing modul hingga masing-masing metoda yang akan diimplementasikan.

api[1]

Apakah yang dimaksud Web API (Application Programming Interface)?

Mungkin sebagian dari kita bertanya-tanya, apa sih kegunaan API itu? Apa yang menyebabkan API itu begitu populer dan banyak digunakan? Bagaimana cara kerja API tersebut? Untuk menjawab pertanyaan-pertanyaan ini maka mari kita bahas satu persatu secara mendetail.

API adalah singkatan dari Application Programming Interface, dan memungkinkan developer untuk mengintegrasikan dua bagian dari aplikasi atau dengan aplikasi yang berbeda secara bersamaan. API terdiri dari berbagai elemen seperti function, protocols, dan tools lainnya yang memungkinkan developers untuk membuat aplikasi. Tujuan penggunaan API adalah untuk mempercepat proses development dengan menyediakan function secara terpisah sehingga developertidak perlu membuat fitur yang serupa. Penerapan API akan sangaat terasa jika fitur yang diinginkan sudah sangat kompleks, tentu membutuhkan waktu untuk membuat yang serupa dengannya. Misalnya: integrasi dengan payment gateway. Terdapat berbagai jenis sistem API yang dapat digunakan, termasuk sistem operasi, library, dan web.

API yang bekerja pada tingkat sistem operasi membantu aplikasi berkomunikasi dengan layer dasar dan satu sama lain mengikuti serangkaian protokol dan spesifikasi. Contoh yang dapat menggambarkan spesifikasi tersebut adalah POSIX (Portable Operating System Interface). Dengan menggunakan standar POSIX, aplikasi yang di-compile untuk bekerja pada sistem operasi tertentu juga dapat bekerja pada sistem lain yang memiliki kriteria yang sama. Software library juga memiliki peran penting dalam menciptakan compatibility antar sistem yang berbeda.

Aplikasi yang berinteraksi dengan library harus mengikuti serangkaian aturan yang ditentukan oleh API. Pendekatan ini memudahkan software developer untuk membuat aplikasi yang berkomunikasi dengan berbagai library tanpa harus memikirkan kembali strategi yang digunakan selama semua library mengikut APIyang sama. Kelebihan lain dari metode ini menunjukkan betapa mudahnya menggunakan library yang sama dengan bahasa pemrograman yang berbeda.

Seperti namanya, Web API dalam diakses melalui protokol HTTP, ini adalah konsep bukan teknologi. Kita bisa membuat Web API dengan menggunakan teknologi yang berbeda seperti PHP, Java, .NET, dll. Misalnya Rest API dari Twitter menyediakan akses read dan write data dengan mengintegrasikan twitter kedalam aplikasi kita sendiri.

Fitur Web API

Untuk membuat Web API, beberapa hal yang harus disediakan adalah:

  1. Mendukung fungsi CRUD yang bekerja melalui HTTP protocol dengan method GET, POST, PUT dan DELETE
  2. Memiliki response Accept Header dan HTTP status code
  3. Response dengan format JSON, XML atau format apapun yang kamu inginkan. Akan tetapi kebanyakan digunakan kedalam format JSON.
  4. Mendukung fitur MVC seperti routing, controllers, action results, filter, model, IOC container, dll.
  5. Web API dapat berjalan di Apache atau web server lainnya yang didukung sesuai bahasa pemrograman yang digunakan.

Web API seperti sebuah alamat web (end point) yang dibuat untuk menangani beberapa task sesuai request yang diterima, juga terkadang memiliki parametersebagai data yang dibutuhkan agar dapat menampilkan hasil yang diinginkan, juga pada beberapa kasus untuk mengakses API dibutuhkan kode otentikasi yang telah diizinkan untuk melihat data yang diinginkan. Semua rule ini ditentukan oleh programmer yang membuatnya.

Perbedaan Web API dan Web Service

Seringkali saya mendapat pertanyaan tentang apa sih perbedaan antara web API dan web service? Berikut adalah perbedaan diantara keduanya:

  1. Semua web service menggunakan API tapi tidak semua API digunakan sebagai web service.
  2. Web service memfasilitasi untuk melakukan interaksi antara dua perangkat atau aplikasi melalui jaringan. Sedangkan API bertindak sebagai penghubung antara dua aplikasi berbeda sehingga bisa berkomunikasi satu sama lain baik dengan ataupun tanpa jaringan.
  3. Web service hanya menggunakan 3 style yaitu SOAP, REST, atau XML-RPC untuk berkomunikasi sedangkan API dapat menggunakan style apapun.
  4. Web service selalu membutuhkan jaringan untuk pengoperasiannya sedangkan API tidak selalu memerlukan jaringan untuk operasinya.

Kesimpulan

Dengan artikel yang singkat ini setidaknya anda sudah paham untuk keperluan apa API digunakan. Metode pendekatan yang digunakan untuk berkomunikasi dengan API menggunakan protokol yang telah kami tuliskan diatas masih tergolong protokol yang umum digunakan, masih ada banyak lagi yang belum kami tuliskan seiring perkembangan. Sedangkan bagaimana cara membuat API akan dibahas di artikel selanjutnya tergantung bahasa pemrograman apa yang digunakan.

 

Sumber : codepolitan.com