Akhir-akhir ini GraphQL semakin populer di kalangan development project. Jika kamu menemukan artikel ini berarti kamu mungkin pernah mendengar mengenai GraphQL dan ingin mencari tahu, apa sih sebenarnya GraphQL dan kegunaannya?

√ Apa Itu GraphQL Dan Kegunaannya?
√ Apa Itu GraphQL Dan Kegunaannya?


Apa Itu GraphQL?

GraphQL dikembangkan oleh Facebook pada tahun 2012 karena tim membutuhkan “API pengambilan data yang cukup kuat untuk menggambarkan semua Facebook, namun cukup sederhana untuk mudah dipelajari dan digunakan oleh pengembang produk kami” saat membangun aplikasi seluler. Sejak itu, bahasa kueri semakin populer -- sebagian karena Facebook membuka sumber bahasa tersebut pada tahun 2016.

GraphQL telah terbukti sangat efektif untuk membangun seluler dan web modern, memberikan pengembang teknologi yang fleksibel dan kaya untuk mengekstraksi data yang lebih efisien dan tidak terlalu luas dibandingkan REST API. Rahasia sebenarnya adalah GraphQL memastikan bahwa pengembang dan aplikasi hanya memuat data yang relevan dan mutlak diperlukan, bahkan jika itu dari berbagai sumber.

Saat Facebook membutuhkan versi data API dari Kabar Beranda, mereka mempertimbangkan sumber daya server RESTful tetapi menemukan perbedaan antara data dalam aplikasi dan kueri server yang mereka butuhkan. GraphQL memungkinkan tim untuk melakukan pendekatan pengambilan data dengan cara baru.

Perbedaan GraphQL dengan REST API


GraphQL jauh berbeda dari REST API standar di mana Anda biasanya memiliki titik akhir atau sumber daya tertentu yang Anda tekan yang menentukan seluruh blok data yang kembali dalam respons JSON yang kembali, yang kemudian perlu diuraikan dan tersebar.

GraphQL bukannya didirikan di sekitar skema, kueri, dan resolver dan lebih bertujuan untuk meningkatkan filosofi REST dengan memungkinkan Anda untuk meminta bagian data tertentu -- bukan hanya seluruh blok. Tidak perlu menguraikan aliran data yang panjang -- Anda hanya mendapatkan apa yang Anda minta. Dan apa yang Anda minta dapat dikompilasi dari beberapa REST API yang berbeda.

Namun, ingatlah GraphQL dan REST adalah dua hal yang berbeda -- GraphQL adalah bahasa dan teknologi, sedangkan REST adalah pola arsitektur, yang berarti bahwa meskipun tim semakin mengadopsi GraphQL, itu tidak berarti akhir dari perjalanan REST.

Faktanya, jika Anda tidak mengalami masalah dengan REST, GraphQL mungkin tidak berguna sama sekali bagi Anda. Dengan cara ini, GraphQL bermanfaat bagi tim yang telah dibatasi oleh REST API tradisional, yang sering muncul dengan aplikasi yang memiliki UI/UX yang kompleks dan biasanya memerlukan banyak titik akhir.


Struktur GraphQL

Post

{
    orders {
        id
        productsList {
            product {
                name
                price
            }
            quantity
        }
        totalAmount
    }
}

Response

{
    "data": {
        "orders": [
            {
                "id": 1,
                "productsList": [
                    {
                        "product": {
                            "name": "orange",
                            "price": 1.5
                        },
                        "quantity": 100
                    }
                ],
                "totalAmount": 150
            }
        ]
    }
}

Kegunaan GraphQL

Secara umum kegunaan GraphQL adalah sebagai pengganti REST API dengan kelebihan dapat mengakses semua data yang di kirim oleh Backend dan Frontend bisa mengakses seluruh data dalam satu endpoint.