22 Perangkat Lunak GraphQL Teratas untuk Diketahui sebagai Pengembang

Dapatkah Anda membayangkan sebuah dunia di mana pengembang memiliki akses ke alat yang menghubungkan aplikasi ke berbagai jenis data, seperti mentega? Dunia di mana alat membantu pengembang mengambil apa yang mereka inginkan dengan presisi mutlak? Ini bukan dunia magis; ini mungkin hari ini dengan GraphQL.

Dikembangkan oleh Facebook pada tahun 2015, GraphQL, dari bawah ke atas, dirancang untuk membuat proses pengambilan dan manipulasi data menjadi efisien. GraphQL mencapai ini dengan pendekatan deklaratif dan fleksibel untuk menanyakan data.

Tidak seperti metode tradisional seperti RESTful API, yang pada akhirnya mengirim lebih banyak data daripada yang Anda inginkan, ini memungkinkan Anda menentukan struktur data yang Anda perlukan dengan bantuan bahasa kueri. Dengan menggunakan bahasa kueri ini, Anda dapat meminta bidang tertentu, hubungan bersarang, dan banyak lagi.

Tingkat kekhususan dan efisiensi ini tidak mungkin dilakukan sebelumnya. Selain mengambil data, GraphQL juga sangat berguna untuk memodifikasi data. Menggunakan RESTful API tradisional untuk mengubah data terkadang menyebabkan masalah kompatibilitas. Tetapi dengan GraphQL, Anda mendapatkan sistem tipe yang kuat, kemampuan untuk introspeksi, dan juga kemampuan mendokumentasikan diri yang secara efektif membuat API tanpa versi dan menyediakan pemutakhiran yang lancar.

Sederhananya, GraphQL adalah runtime dan bahasa kueri yang memungkinkan penggunanya untuk secara efisien menerima dan memanipulasi data dari API sambil mengurangi masalah pengambilan yang kurang atau pengambilan yang berlebihan. Di sini klien menyebutkan data yang benar-benar mereka butuhkan, dan API menjawab sesuai.

Melalui artikel ini, kami akan mengungkap perangkat lunak GraphQL teratas yang akan mengubah alur kerja pengembangan Anda menjadi lebih baik. Ini akan memungkinkan Anda membangun aplikasi yang lebih efisien dari sebelumnya dan menggunakan sumber daya Anda secara maksimal. Kami sekarang akan memulai perjalanan kami untuk menjelajahi perangkat lunak GraphQL teratas.

Apollo GraphQL

Apollo GraphQL adalah seperangkat perangkat lunak yang menyertakan alat seperti Apollo Server dan Apollo Client. Alat-alat ini bersama-sama menyediakan perangkat yang mulus untuk menyederhanakan pengembangan dengan GraphQL. Ekosistem yang kaya ini memungkinkan pengembang membuat produk lebih cepat dan efisien.

Server Apollo

Server Apollo adalah server GraphQL yang memungkinkan Anda mengatur dan menjalankannya dengan mudah. Sifat konfigurasi rendah dari Apollo Server membuatnya sangat mudah digunakan untuk para profesional dan pemula. Apollo Server sesuai dengan spesifikasi, yang membuatnya kompatibel dengan perangkat lunak GraphQL sisi klien apa pun.

Apollo Server memiliki dukungan untuk berbagai ujung belakang, API, dan basis data. Ini mendukung REST API dan kerangka kerja seperti Express, MongoDB, Firestore, dan banyak lagi. Selain itu, Apollo Server memiliki fitur seperti penjahitan skema, yang sangat kuat karena fitur ini memungkinkan Anda membuat hanya satu API yang memberikan akses ke beberapa ujung belakang dari layanan yang berbeda.

Klien Apollo

Apollo membantu Anda di sisi Klien dan server. Klien Apollo memberi Anda cara yang disederhanakan untuk manajemen status dan pengambilan data. Ini memiliki UI yang intuitif dan tata letak yang mudah digunakan.

Dengan Klien Apollo, Anda mendapatkan fitur seperti pembaruan UI, langganan data waktu nyata, dan banyak lagi. Fitur seperti ini sangat meningkatkan pengalaman pengembangan. Ini juga secara drastis menyederhanakan proses manajemen negara dan pengambilan data. Semua fitur ini membuat Apollo Client berguna bagi banyak pengembang di seluruh dunia.

Taman Bermain GraphQL

Taman Bermain GraphQL adalah IDE berbasis web yang memungkinkan Anda menulis kueri dan menjalankannya. Alat ini sangat fungsional dan hadir dengan antarmuka yang ramah dan intuitif. Dengan GraphQL Playground, Anda mendapatkan akses ke IDE yang kuat bersama dengan mobilitas dan kenyamanan browser.

Meskipun GraphQL Playground berbasis browser, itu tidak mengganggu apa pun. Anda dapat mengharapkan fitur yang Anda harapkan dari IDE desktop lengkap. Ini memiliki penyorotan sintaks, validasi kode, dan banyak fitur lainnya. Selain fitur ini, Anda juga mendapatkan akses ke saran waktu nyata dan fitur pelengkapan otomatis.

GraphQL Playground juga mendukung banyak tab. Fitur ini telah memenangkan hati banyak pengembang karena kenyamanannya. Ini karena Anda mendapatkan kemampuan untuk mengeksekusi dan menulis beberapa kueri secara bersamaan. Kemampuan ini membuat prosesnya sangat efisien waktu dan tidak merepotkan. Anda juga mendapatkan akses ke fitur kustomisasi yang memungkinkan pengembang mempersonalisasinya sesuka mereka.

Dengan kata sederhana, GraphQL Playground memberi Anda IDE GraphQL di browser tanpa kehilangan fitur. Anda mendapatkan fitur yang Anda inginkan, seperti pelengkapan otomatis, penyorotan sintaks, dan bahkan saran waktu nyata.

Prisma

Prisma adalah alat untuk Pemetaan Relasional Objek (ORM). ORM secara efektif menjembatani antara bahasa berorientasi objek dan database relasional. Prisma menyediakan lapisan abstraksi antara database dan bahasa pemrograman dan membuat pengambilan dan penanganan data menjadi sangat mudah dan nyaman.

  Cara Mendapatkan Sertifikasi Manajer ServSafe pada tahun 2022

Dengan Prisma, Anda mendapatkan API yang dibuat secara otomatis. API ini aman untuk tipe dan mempertahankan keamanan tipe ini bahkan dalam JavaScript. Anda hanya perlu menyebutkan skema data Anda, dan Prisma akan menangani sisanya untuk Anda. Itu menggunakan bahasa definisi skema GraphQL sendiri, membuat pekerjaan menjadi sangat mudah. Kesederhanaan ini adalah salah satu fitur utama dari perangkat lunak ini.

Alat ini dapat digunakan dalam banyak bahasa dan basis data karena mendukung semua basis data relasional utama dan berbagai pustaka dan kerangka kerja populer. Selain itu, ini juga mendukung migrasi data, pembuatan model, dan banyak lagi.

Menyampaikan

Menyampaikan adalah pustaka klien yang dibuat untuk Bereaksi. Dengan Relay, setiap komponen dapat mendeklarasikan data apa yang dibutuhkannya, dan Relay menangani sisanya. Anda juga memiliki opsi untuk menggunakan kembali komponen, dan kueri juga akan diperbarui.

Dengan Relay, Anda juga mendapatkan opsi pengelompokan otomatis. Itu menganalisis dan menggabungkan permintaan yang serupa dan juga memastikan bahwa data duplikat tidak diambil. Ini menghemat waktu dan bandwidth jaringan dan membuat proses lebih cepat dan lebih efisien.

Terkadang pengembang menginginkan kontrol terperinci, dan Relay menyediakannya. Relay dilengkapi dengan perkakas yang sangat berguna dan kuat. Ini memiliki ekstensi alat dev yang memberi Anda fitur seperti pemantauan permintaan jaringan, inspeksi kueri, debugging, dan banyak lagi. Alat ini berguna, terutama dalam hal pemecahan masalah.

Dan yang terpenting, Relay menyediakan ekosistem yang mulus. Itu dapat berintegrasi dengan sistem GraphQL lain dan memiliki dukungan untuk berbagai perpustakaan populer untuk GraphQL, menjadikannya pilihan yang sangat baik.

PostGraphile

PostGraphile menyediakan cara untuk menggunakan GraphQL dengan database PostgreSQL Anda. Ini dilakukan dengan mengekspos database Anda sebagai titik akhir GraphQL. Dengan cara ini, Anda dapat mengakses dan berinteraksi dengan database Anda menggunakan kueri atau mutasi GraphQL.

Muncul dengan fitur seperti pembuatan skema otomatis. Ini berarti akan menganalisis skema database dan menghasilkan skema yang diinginkan sendiri. Ini memiliki kemampuan untuk menelusuri data relasional dan menganalisis hubungan, pandangan, dan prosedur yang kompleks. Kemudian itu membuat API untuk Anda yang dapat Anda gunakan untuk mengakses data.

Keamanan dan data identik. Jadi kita harus mengingat otentikasi dan otorisasi. Tapi untungnya, alat ini mendukung Anda. Mereka memiliki dukungan untuk standar autentikasi populer. Ini mendukung OAuth, dan mereka juga memiliki dukungan untuk JWT (Token Web JSON), jadi Anda tidak perlu kehilangan waktu tidur karena keamanan.

GraphiQL

GraphiQL memberi Anda lingkungan pengembangan terintegrasi (IDE) di dalam browser. Anda mendapatkan IDE yang kuat dengan kemudahan yang disertakan dengan browser. Ini dikenal interaktif dan intuitif dan tidak mengecewakan, menyediakan UI yang bersih dan sederhana.

GraphiQL memiliki semua fitur yang mungkin Anda inginkan dari IDE GraphQL. Ini memberikan dukungan untuk pembuatan dan eksekusi kueri, penyorotan sintaks, dan juga penyorotan kesalahan. Selain itu, Anda juga mendapatkan kemampuan untuk menggunakan variabel dalam kueri Anda. Ini adalah fitur hebat karena membuatnya sangat mudah untuk meneruskan nilai dinamis.

Alat ini dilengkapi dengan penjelajah dokumentasi bawaan, memberi Anda gagasan yang jelas tentang jenis, operasi, dan bidang skema Anda. Penjelajah dokumentasi sangat berguna dalam membantu Anda memahami cara kerja API dan apa yang dapat dicapainya untuk Anda.

Fitur seperti inilah yang membuat GraphiQL banyak dicari. Dukungan untuk dokumentasi, penyorotan kesalahan, dan bantuan dalam pembuatan kueri menjadikannya pengalaman yang kohesif dan lancar serta memberikan nilai luar biasa dalam alur kerja GraphQL.

Perhubungan

Nexus adalah alat untuk membuat API GraphQL seperti yang lainnya. Namun perbedaannya adalah pendekatan kode pertama. Tidak seperti alat lain, itu tidak menggunakan bahasa definisi skema. Anda dapat menentukan skema langsung di dalam kode itu sendiri. Pendekatan ini lebih fleksibel dan lebih baik untuk integrasi dengan basis kode yang ada.

Nexus juga aman untuk mengetik. Nexus menggunakan TypeScript, yang membuatnya aman untuk mengetik. Anda juga mendapatkan akses ke fitur pelengkapan otomatis TypeScript. Ini menggunakan bahasa khusus domain untuk mendefinisikan skema. Oleh karena itu, sintaks untuk mendefinisikan skema adalah ringkas, mudah dipahami, dan mudah dibaca.

Kompatibilitas sangat penting dalam hal GraphQL. Tapi Anda tidak perlu khawatir. Nexus memiliki dukungan untuk Server GraphQL utama seperti Apollo dan Express. Anda dapat dengan mudah mengintegrasikannya dengan menggunakan plugin yang disediakan.

Selain itu, Nexus memiliki desain yang sangat modular. Nexus memungkinkan pengembang memecah skema dan penyelesai menjadi berbagai komponen kecil yang dapat digunakan kembali. Pendekatan ini membantu menjaga kode dan mengaturnya dengan rapi.

Altair

Altair adalah IDE klien multiplatform untuk GraphQL. Dengan ketersediaannya di semua sistem operasi dan browser utama, Ini adalah alat yang hebat untuk alur kerja GraphQL Anda. Altair memiliki dukungan untuk berbagai fitur seperti kueri, langganan, dan mutasi.

  14 Hosting Server Starbound untuk Melepaskan Imajinasi Antarbintang Anda

Altair terintegrasi dengan alur kerja GraphQL Anda dan menyediakan UI yang nyaman dan interaktif secara visual untuk memenuhi semua kebutuhan GraphQL Anda. Anda juga mendapatkan dukungan bawaan untuk beberapa titik akhir. Fitur ini sangat nyaman dan memungkinkan Anda bekerja dengan beberapa titik akhir GraphQL sekaligus. Selain itu, Anda dapat dengan mudah beralih di antara beberapa titik akhir, yang memberi Anda peningkatan produktivitas.

Cuplikan adalah cara yang bagus untuk menggunakan kembali permintaan tertentu dengan mudah. Dengan Altair, Anda mendapatkan riwayat permintaan bawaan yang memberi Anda kemampuan untuk menyimpan dan menggunakan kembali kueri lama dengan mudah. Selain itu, Altair juga memiliki fitur seperti dukungan untuk variabel, pemantauan kinerja, validasi respons, dan banyak lagi, yang menjadikan Altair tambahan yang bagus untuk alur kerja Anda.

Pelayaran GraphQL

Pelayaran GraphQL adalah alat yang Anda butuhkan untuk memahami skema dengan mudah. Ini mem-parsing skema GraphQL dan membantu Anda memahami dengan representasi visual dari jenis dan bidang skema. Ini adalah alat yang sangat kuat dan ramah untuk pengguna berpengalaman maupun pendatang baru. Dari Antarmuka hingga representasinya sendiri dibuat sangat intuitif dan mudah dimengerti.

Anda juga mendapatkan kemampuan untuk memilih bagaimana Anda ingin melihat data. Anda memiliki kemampuan untuk melihat data sebagai gambar dan juga dalam format JSON. Selain itu, GraphQL Voyager dilengkapi dengan fungsi pencarian yang memungkinkan Anda mengidentifikasi bagian data tertentu dengan mudah. Anda dapat mencari menggunakan bidang, kata kunci, dan lainnya.

Voyager dibuat sederhana. Dengan fitur tata letak otomatisnya, Anda dapat yakin bahwa grafik akan dapat dibaca dan tidak berantakan. Selain itu, data diatur ke dalam kelompok yang membuat data besar sangat mudah dipahami dan dibaca.

Pembuat Kode GraphQL

Pembuat Kode GraphQL adalah alat populer untuk menghasilkan kode untuk GraphQL. Dengan Pembuat Kode, Anda dapat menghemat banyak waktu dan tenaga karena ini dirancang untuk menghasilkan kode untuk front end dan back end. Kode yang dihasilkan sangat ringkas dan efisien serta memiliki keamanan tipe.

Code Generator cocok untuk menghasilkan kode untuk berbagai bahasa seperti Ruby, TypeScript, JavaScript, dan Java. Kode yang dihasilkan juga dapat disesuaikan, karena Anda dapat dengan mudah menyesuaikan kode yang dihasilkan dengan berbagai templatnya.

Daftarnya tidak berakhir di sini. Pembuat Kode memiliki ekosistem yang kaya untuk plugin untuk berbagai kerangka kerja, yang memperluas fungsinya dan memungkinkan Anda menghasilkan kode untuk kerangka kerja tertentu. Selain itu, tidak terbatas pada skema GraphQL. JSON, dokumen GraphQL, dan titik akhir juga didukung. Alat ini menghemat waktu pengembang dengan memotong penulisan kode berulang sehingga pengembang dapat fokus pada hal terbaik yang mereka lakukan.

Editor GraphQL

Editor GraphQL adalah alat yang sangat ampuh untuk pengembang GraphQL. Ini adalah alat multiguna yang mendukung fitur seperti mengedit, mendesain, dan bahkan berkolaborasi fitur. Sifatnya yang menarik secara visual dan kemudahan penggunaannya menjadikannya pilihan yang bagus untuk pengembang.

Dengan fitur kolaborasinya, tim besar atau kecil dapat mengintegrasikannya ke dalam alur kerja mereka untuk memperkaya pengalaman pengembangan dan meningkatkan efisiensi, karena pengembang dapat dengan mudah berbagi ide dan mengakses data di tempat yang sama.

Dokumentasi adalah sahabat terbaik seorang pengembang. Editor GraphQL memahami hal ini dan memiliki bagian khusus bagi Anda untuk mendeskripsikan elemen tertentu. Deskripsi ini nantinya digunakan untuk membuat dokumentasi yang mendalam. Dokumentasi ini membantu pengembang lain memahami kode dengan mudah.

Validasi dan pemeriksaan kesalahan juga terintegrasi dengan Editor GraphQL. Ini menyoroti kesalahan dalam skema saat Anda menulisnya dan membantu Anda menulis kode bebas kesalahan.

Swagger2GraphQL

Swagger-to-GraphQL adalah alat luar biasa yang secara otomatis menghasilkan skema GraphQL dengan bantuan spesifikasi Swagger yang sudah ada sebelumnya. Alat ini sangat berguna karena memberi Anda hak istimewa untuk menggunakan RESTful API sambil mendapatkan manfaat dari GraphQL.

Swagger-to-GraphQL mengambil spesifikasi Swagger sebagai input dan menyediakan bentuk titik akhir dan muatan API yang dapat dibaca mesin, beserta detail lainnya. Sekarang menghasilkan skema untuk GraphQL.

Alat ini sangat dapat disesuaikan. Anda dapat menyempurnakannya sesuai keinginan Anda untuk mendapatkan skema dan penyelesai GraphQL. Tidak hanya itu, Anda juga memiliki kemampuan untuk mengedit sendiri skema secara manual. Alat ini sangat fleksibel.

Bersamaan dengan fitur-fitur ini, Swagger-to-GraphQL juga dapat dioperasikan dengan berbagai alat di ekosistem GraphQL. Ini memiliki dukungan untuk Apollo Server, GraphQL.js, dan banyak lagi.

Singkatnya, Swagger-to-GraphQL membantu menjembatani RESTful API dan GraphQL dan membuat prosesnya cukup sederhana. Jika Anda ingin mengintegrasikan GraphQL ke dalam alur kerja REST Anda, ini mungkin pilihan yang bagus.

  11 Alat Desain AI untuk Membuat Tim Seni Anda Lebih Efisien

Seperti bintang

Seperti bintang membuat panggilan API Anda lebih cepat dengan bantuan caching. Ini adalah gateway GraphQL tepi yang menyertakan API Anda. Stellate juga berguna untuk membatasi kecepatan.

Selain itu, Anda dapat melihat dan memahami pola beban dan merencanakan perubahan skema dengan bantuan data metrik. Fitur-fitur seperti pembersihan cache instan, kemampuan untuk melindungi API, dan operasi berkelanjutan membuat alat ini harus dimiliki.

AWS AppSync

AppSync by AWS adalah layanan yang memungkinkan Anda menerapkan aplikasi yang dapat diskalakan dan real-time dengan mudah. AppSync membuat hal-hal sepele seperti sinkronisasi, kolaborasi real-time, dan dukungan offline menjadi sangat mudah, karena ditangani oleh AppSync saat Anda berfokus untuk membangun aplikasi yang lebih canggih.

Selain itu, Anda juga mendapatkan fitur seperti gabungan API dan caching, yang memberi pengguna begitu banyak fleksibilitas. Tidak hanya itu, tetapi juga mencakup fitur seperti kemampuan observasi dan keamanan perusahaan.

Quicktype

Quicktype adalah alat yang dapat menghasilkan model dan serializer dari GraphQL dan format lainnya. Itu dapat menghasilkan kode secara otomatis untuk membaca, menulis, dan memvalidasi dengan mudah. Ini sangat menghemat waktu dan meningkatkan efisiensi.

Quicktype dapat bekerja dengan banyak bahasa, seperti Kotlin, Java, Dart, TypeScript, dan lainnya. Quicktype juga dapat mengubah pustaka klien secara otomatis. Selain itu, ada juga fitur seperti autocomplete dan refactoring built-in.

Saleor

Saleor adalah API perdagangan sumber terbuka. Ini membantu Anda dengan menghapus lapisan presentasi dari bisnis inti. Anda dapat dengan mudah mengakses API instance Anda di Saleor dari browser Anda dengan GraphQL Playground yang disediakan.

Saleor juga hadir dengan “GraphQL Code Generation”. Ini berarti menghasilkan permintaan, mengetik, dan aspek lainnya dapat diotomatisasi dengan mudah.

WPGraphQL

WPGraphQL, seperti namanya, adalah API GraphQL yang dibuat khusus untuk WordPress. Ini membawa semua hal baik dari GraphQL ke WordPress dan memungkinkan pengambilan data yang efisien dan kemampuan untuk mengambil banyak sumber daya sekaligus. Pemasangannya sangat mudah. Anda dapat menginstalnya seperti plugin WordPress lainnya dan mengaktifkannya dengan mudah.

EdgeDB

EdgeDB adalah basis data dengan dukungan untuk bahasa kueri, bahasa pemodelan data, dan banyak lagi. EdgeDB mendukung GraphQL dengan ekstensinya. Ini memberikan “Skema seperti Grafik dengan Inti Relasional.”

Selain itu, ini juga menyediakan dukungan klien pihak pertama untuk semua bahasa utama seperti Python, Java, JavaScript, Rust, dan banyak lagi.

Dgraf

Dgraf membantu Anda membuat API dan grafik backend hanya dengan skema GraphQL. DGraph hadir dengan dukungan asli untuk GraphQL, yang berarti tidak diperlukan terjemahan GraphQL/SQL yang membuat prosesnya lebih lancar. Dgraph juga Pencahayaan Cepat.

Ini mendukung kueri dan fitur bersamaan seperti pengoptimalan kueri berbasis indeks, yang memberikan kecepatan. Selain itu, ada skema aplikasi dan basis data tunggal yang berarti tidak ada transformasi skema dan tidak ada ketidakcocokan impedansi.

Hasura

Hasura adalah alat yang luar biasa untuk pembuatan otomatis API. Dengan ini, Anda hanya perlu mengarahkannya ke database, dan melakukan sisanya untuk Anda dengan memberi Anda API yang terpadu, aman, dan real-time.

Alat ini dilengkapi dengan mesin otorisasi deklaratif yang membuatnya sangat mudah untuk mengontrol data Anda dengan izin berbasis peran dan juga hal-hal seperti tindakan dan skema jarak jauh. Selain itu, ini juga memberikan kinerja yang dapat diskalakan dan wawasan waktu nyata.

URQL

URQL adalah klien GraphQL untuk berbagai kerangka kerja JavaScript. Ini termasuk Vue, Svelte, React, dan bahkan JavaScript biasa. URQL dikenal dengan keserbagunaan dan kemampuan penyesuaiannya.

Selain itu, URQL sangat berkinerja meskipun ringan. URQL memberi Anda kemampuan untuk mengubah cara Anda mengakses data dengan menyesuaikan lapisan data. Ini juga cukup sederhana, jadi tidak ada konfigurasi yang rumit.

RxDB

RxDB adalah database NoSQL yang dibuat khusus untuk aplikasi Javascript, dan juga offline terlebih dahulu. Ini membuat implementasinya jauh lebih mudah, cepat, dan andal.

Itu juga dilengkapi dengan penangan untuk GraphQL. Ini berarti Anda dapat menjalankan proses replikasi dengan GraphQL sebagai lapisan transportasi. Ini membuat prosesnya mudah dan nyaman.

Kesimpulan

GraphQL adalah teknologi yang kuat. Itu membuat proses pengembangan aplikasi lebih mudah. API yang dibangun dengan GraphQL lebih efisien dan sangat fleksibel. Efisiensi dan fleksibilitas ini diperlukan agar sesuai dengan sifat aplikasi modern. Kami membahas berbagai perangkat lunak GraphQL, yang memiliki berbagai fitur pembeda.

Kami membahas berbagai jenis perangkat lunak. Ini adalah lingkungan pengembangan terintegrasi, alat pengujian API, layanan back-end, layanan sisi klien, dan juga setelan perangkat lunak yang memberikan pengalaman kohesif. Semua ini dibuat untuk melayani berbagai tujuan dan memiliki kasus penggunaannya sendiri. Sebagai pengembang GraphQL atau sebagai pengembang umum, sangat penting untuk mengetahui tentang mereka karena alat ini membantu meningkatkan efisiensi dan meningkatkan produktivitas.

Sekarang, Anda bertanggung jawab untuk memilih alat yang tepat untuk alur kerja spesifik Anda. Berdasarkan tingkat keterlibatan GraphQL dalam alur kerja Anda, Anda dapat memilih mana yang paling cocok untuk Anda. Anda juga dapat mencobanya dan mencari tahu kecocokan Anda.

Anda juga mungkin tertarik untuk membaca tentang GraphQL Vs. API REST.