روش های API نویسی؛ REST یا GraphQL



امروز اولین جلسه TechTalk شرکت بود و قرار بود راجع به این که کدوم روش برای نوشتن API بهتر هست، بحث کنیم. اول می‌خوایم یه توضیح مختصر راجع به هر کدوم از این روش‌ها بهتون بدیم و بعد نتیجه بگیریم.


روش REST:

این روش یکی از شناخته‌شده‌ترین روش‌ها بین برنامه‌نویسان برای نوشتن API هست. در این روش که مبتنی بر پروتکل HTTP هست، از متدهایی مانند GET، POST، PUT و DELETE برای ایجاد ارتباط با سرویس بکند استفاده می‌شه.

روش GraphQL:

این روش به نسبت REST جدیدتر بوده و توسط شرکت فیسبوک به‌وجود آمده است. GraphQL به جای متدهای موجود در پروتکل HTTP از دو روش query و mutation برای ارتباط با سرویس بکند استفاده می‌کند. متد query معادل خواندن و مابقی عملیات (نوشتن، بروزرسانی و حذف) توسط متد mutation انجام می‌شود.

مزایا و معایب REST

ما برای مقایسه این دو روش پس از بحث تقریبا 1 ساعته دو جدول آماده کردیم که در جدول 1 راجع به REST توضیحاتی دادیم که می‌تونین مشاهده کنین:


مزایا و معایب GraphQL

نتایج جدول 2 هم شامل بحث راجع به GraphQL بود که چون یه تکنولوژی جدید توی شرکت محسوب می‌شد و تعداد افراد کمتری باهاش آشنا بودن اوایل گاردهایی گرفته می‌شد اما در مجموع بحث‌ها مفید بودند.

نتیجه‌گیری و جمع‌بندی

در پایان جلسه به این نتیجه رسیدیم که هیچ تکنولوژی بر دیگری ارجحیت نداره و ماهیت پروژه هست که مشخص می‌کنه از کدوم روش استفاده کنیم. از این پس قرار شد اگر پروژه‌هامون بیشتر محتوایی باشند از GraphQL استفاده کنیم و در صورتی که عملیات POST، PUT و DELTE بیشتر بود، از روش REST استفاده کنیم.

اگر تجربه‌ای یا دیدگاهی راجع به این دو روش دارین خوشحال می‌شیم با ما به اشتراک بگذارین ?