Kursus / Bimbel / Aplikasi GraphQL

GraphQL

Query Language | REST API | Data Interface

adalah konsep baru dalam membangun sebuah API, dikembangkan Facebook dan diimplementasikan pada sisi server dan meskipun suatu query language tetapi ia tidak berhubungan secara langsung dengan database. Artinya GraphQL tidak terbatas untuk database tertentu baik sql ataupun nosql. Tujuannya adalah untuk mempermudah komunikasi data antara backend dan frontend / mobile aplikasi.
Posisi Graphql ini berada pada sisi client dan server yang berhubungan / mengakses suatu API.

Sistem akan membuat komunikasi antara server dan client dengan struktur skema yang lebih fleksibel, dimana server /backend tidak perlu lagi membuat endpoint untuk setiap request tertentu. Melainkan client bisa mengatur kolom apa saja yang mau direquest atau dibutuhkan untuk keperluan aplikasinya, tanpa membuat berbagai endpoint diserver.Alias pada client tidak ada lagi request yang boros atau kurang, karena server tidak lagi selalu menentukan apa saja data yang direturn.

Contohnya saat kita hanya membutuhkan tb_invoice dengan field id_customer, dan id_invoice saja, terkadang API memberikan seluruh field yang telah di setting di backend. Namun dengan GraphQL data yang akan diberikan hanya data tb_invoice dengan field id_customer dan id_invoice saja.



Keunggulan GraphQL

  • Hanya terdapat 1 buah endpoint untuk berkomunikasi dengan server untuk mendapatkan suatu data.
  • Client/Aplikasi dapat mendefinisikan data yang dibutuhkan sesuka hati ()sesuai field yang dibutuhkan sehingga akan meningkatkan efisiensi mengkonsumsi API dan Hemat pertukaran data.
  • Tidak ada method seperti GET, POST atau DELETE, selama request yang dilakukan menggunakan format graph query language maka sisi backend akan paham apa yang di minta oleh client.
  • Mampu mengatasi overfetching/pengambilan data berlebih, yaitu client mendapatkan lebih banyak data daripada yang dibutuhkan komponen fitur tertentu.
  • Mendukung rapid development di front end, yaitu kita bisa mendefinisikan sendiri data yang kita mau tanpa harus meminta backend untuk menyediakan data yang baru lagi yang mana akan membuat proses development pada frontend akan menjadi terhambat karena harus menunggu backend untuk menambahkan datanya dan membuat endpoint baru.


Membuat API Powerfull: mudah - fleksibel, GraphQL adalah hasil dari tim internal facebook yang digunakan untuk aplikasi mereka sendiri sebelum dibuat untuk umum(umumnya menggunakan sistem REST untuk berinteraksi dengan API/al:React).

Fitur GraphQL:
  • Limited Request, hanya mendapatkan persis seperti yang diminta/request.
  • Bisa dapatkan banyak sumber dalam satu permintaan, hanya perlu me-request satu kali untuk mendapatkan data yang berelasi/berhubungan, yang membuat proses pengambilan data lebih cepat walau pada koneksi lambat.
  • Memberikan hanya apa yang mungkin, hanya memberikan apa saja yang memungkinkan dan memberikan pesan error yang jelas dan mudah dipahami.
  • Mengembangkan API tanpa merubah versi, kita menambah atau merubah fields tanpa harus merubah Query yang ada. Artinya dengan menggunakan versi yang terus berkembang, API GraphQL dapat memberi aplikasi akses terus menerus ke fitur yang lebih baru dan mendorong kode yang lebih bersih dan mudah dipelihara.
  • Memungkinkan API aplikasi untuk berkembang tanpa memecah kueri yang ada.
  • Bersifat introspective, yaitu client dapat melakukan permintaan list tipe data yang tersedia (auto-generating doc).
  • Berjalan dibanyak bahasa pemprogramman, mulai dari JavaScript, PHP, C#/.NET, Ruby, Python dan masih banyak yang lainnya.

Kursus Reguler GraphQL

Target Belajar GraphQL al penguasaan dalam hal :

Maaf teman-teman... Kursus / Workshop GraphQL untuk Kelas Reguler / MHS sedang dalam tahap penyelesaian... U Kursus atau Workshop sudah ada hanya untuk saat ini masih dalam kategori Kelas BIMBEL / Studi Kasus dan...silakan hubungi Admin untuk info lebih detail....

Terimakasih atas perhatiannya....


Apa yang kamu minta, itulah yang kamu dapat... GraphQL juga merupakan Language Agnostic, artinya kita bisa menulis server dengan bahasa apa saja/tidak terikat dengan bahasa tertentu. Dia juga seperti REST API, yang berarti hanya berfungsi untuk menampilkan data, baik itu dari satu database, beberapa database, atau REST API yang lainnya, atau bahkan dari graphql server yang lainnya.


Pondasi GraphQL


PILIHAN JENIS KURSUS