GraphQL: آینده API ها
گراف کیوال (GraphQL) یک زبان منحصر به فرد است که برای درخواست و دستکاری دادهها در رابطهای برنامه نویسی مانند API طراحی و ساخته شده است. این زبان به کاربران اجازه میدهد که دادههای مورد نیازشان را به طور دقیق از سرور بخواهند.
گراف کیوال در سال 2012 توسط شرکت فیس بوک ساخته شد و در سال 2015 منتشر شد. این زبان به جای برگرداندن دادهها به طور ثابت و از پیش تعیین شده، امکان دریافت دقیقا همان دادههایی که نیاز است را از سرور میدهد.
GraphQL چیست؟
GraphQL یک زبان پرس و جو برای رابطهای برنامهنویسی کاربردی (APIها) است و محیطی که اجرا میشود به شما امکان این را میدهد که این پرس و جوها را روی دادههای موجود اجرا کنید.
این فناوری از دادههای API یک توضیح دقیق و مفهومی ارائه میدهد. به علاوه این امکان را ایجاد میکند تا توسعه دهندگان دقیقا همان محتوایی که نیاز دارند، بدون دریافت دادههایی که نیاز ندارند درخواست کنند. گراف کیوال همچنین باعث به روز رسانی راحتتر API به مرور زمان میشوند.
این گراف از خواندن دادهها، ایجاد تغییرات در دادهها و به روز رسانی لحظهای پشتیبانی میکند. این ویژگی باعث میشود که کاربران گراف کیوال تغییراتی که در دادهها ایجاد میشود در لحظه دریافت کنند که این کار در بیشتر مواقع از وب هوکها انجام میشود.
سرورهای GraphQL برای زبانهای برنامه نویسی مختلف در دسترس هستند، مانند:
- هسکل
- پرل
- جاوا اسکریپت
- روبی
- پایتون
تاریخچه GraphQL
GraphQL توسط شرکت فیس بوک در سال 2015 انتشار داده شد. پس از منبع باز شدن گراف کیوال این فناوری در سال 2018 به بنیاد GraphQL که توسط Linux میزبانی میشد انتقال یافت.
GraphQL از تلاشهای Facebook برای بهبود مقیاس پذیری اپلیکیشن موبایلش شکل گرفت. در آن زمان، اپلیکیشن آنها نسخهای از وب سایتشان بود و استراتژی موبایلشان این بود که صرفا HTML5 را برای موبایل سازگار کنند. اما به دلیل مشکلاتی مثل مصرف بالای شبکه و تجربهی کاربری نامطلوب، تیم تصمیم گرفت iOS را از پایه با فناوریهای بومی توسعه دهد.
تیم فیس بوک تصمیم گرفت برای News Feed یک API جدید ایجاد کند، در این زمان GraphQL ایجاد شد. در ادامه محدودهی GraphQL API افزایش پیدا کرد و اپلیکیشن iOS فیس بوک را تحت پوشش قرار داد.
کلیدهای موفقیت GraphQL
- GraphQL یک زبان جست و جو مدرن و در اصل به عنوان جانشین API های REST شناخته میشود.
- این گراف بر اساس دریافت دقیقا همان چیزی که میخواهید ساخته شده است. در این زبان میتوانید فقط دادههایی که مورد نیازتان است دریافت کنید و نیاز به دریافت دادههای اضافی نداشته باشید. به این معنا که از واکشی دادههای پیش از حد یا کمتر از حد نیاز جلوگیری میکند.
- گراف کیوال جمع آوری دادهها از منابع مختلف را ساده تر میکند و به جای استفاده از چندین نقطه پایانی، از یک سیستم تعریفی برای توصیف دادهها بهره میبرد.
- GraphQL Landscape یک جدول پذیرش گراف کیوال را نشان میدهد که حداقل از 116 هزار ستاره، با ارزشی معادل 4.7 تریلیون دلار و با سرمایه ای بیشتر از 9 میلیارد دلار را پوشش میدهد.
- امروزه، گراف کیوال دیگر یک فناوری نو ظهور محسوب نمیشود و مقایسهاش با رابطهای برنامهنویسی کاربردی RESTful جدید نیست.
GraphQL چگونه کار میکند؟
ویژگی اصلی گراف کیوال دریافت همان دادهای است که درخواست میشود نه کمتر نه بیشتر.
زمانی که یک پرس و جو به رابط برنامه نویسی کاربردی ارسال میشود، گراف کیوال پاسخی دقیق و مشخص ارائه میدهد، بدون دریافت دادههای غیر ضروری یا از دست رفتن اطلاعات. این ویژگی موجب میشود که برنامههای مبتنی بر گراف کیوال عملکرد بهتری داشته باشند، کار آمدتر عمل کنند و به راحتی توسعه یابند.
3 ویژگی اصلی GraphQL
فناوری گراف کیوال سریع، پایدار و مقیاس پذیر است. این سه مورد این گراف را به گزینهای بی نقص تبدیل کرده است.
- کاربران توانایی این را دارند که تعیین کنند که چه دادههایی نیاز دارند.
- جمع آوری دادهها از منابع دیگر راحتتر میشود.
- گرافکیوال به جای استفاده از نقاط پایانی، از یک ساختار مشخص برای توصیف دادهها استفاده میکند.
این ویژگیها واکشی دادههای گرافکیوال را بهطور کامل بهینه میکند و مزایایی مانند خوانایی بالا، جلوگیری از واکشی دادههای اضافی، تایپ خوب و تکامل انعطاف پذیر طرح واره را ایجاد میکند.
امنیت بالا برای وبسایت شما!
انتخاب پویان آی تی با منابع کاملا اختصاصی، سخت افزارهای به روز و قدرتمند، امنیت بالای دادهها، پشتیبانی 24/7، سرعت بالا و پایداری بدون وقفه، تجربهای به یاد ماندنی از میزبانی وب در ذهن شما خواهد ساخت.
GraphQL یا REST؟
REST API یک مفهوم معماری برای نرم افزارهای مبتنی بر شبکه است.
GraphQL یک زبان پرس و جو و مجموعهای از ابزارها است که روی یک نقطه پایانی واحد عمل میکند.
در سالهای اخیر، از REST برای ایجاد APIهای جدید استفاده شده است، در حالی که GraphQL عمدتا برای بهینه سازی عملکرد و افزایش انعطاف پذیری استفاده شده است.
کلام آخر
گرافکیوال یک زبان پرس و جوی مدرن است که به توسعه دهندگان امکان میدهد تا از یک نقطه پایانی (Endpoint) واحد دادههای مورد نیازشان را به طور دقیق درخواست کنند. برخلاف APIهای REST که معمولا ساختار ثابتی دارند و ممکن است دادههایی بیشتر یا کمتر از نیاز را برگردانند، GraphQL انعطافپذیری بیشتری یعنی کاربران میتوانند تعیین کنند چه دادههایی را دریافت کنند و دقیقا همان دادهها را دریافت خواهند کرد دارد.
سوالات متداول
تفاوت اصلی گراف کیوال با REST چیست؟
گراف کیوال یک زبان پرس و جو است که به کاربران اجازه میدهد دقیقا دادههای مورد نیاز خود را درخواست کنند. این زبان از یک نقطه پایانی واحد استفاده میکند. REST یک معماری برای طراحی API است که از چندین نقطه پایانی استفاده میکند و معمولا دادهها را به صورت ثابت و از پیش تعیین شده برمیگرداند.
آیا گراف کیوال هنوز یک فناوری نو ظهور محسوب میشود؟
خیر، گراف کیوال دیگر یک فناوری نو ظهور محسوب نمیشود و به طور گسترده در صنعت نرم افزار مورد استفاده قرار میگیرد.
مزایای اصلی گراف کیوال چیست؟
دقت در دریافت دادهها، جمع آوری دادهها از منابع مختلف و استفاده از یک ساختار تعریفی.
منابع
- https://hygraph.com/learn/graphql
به این مقاله امتیاز دهید!
میانگین امتیاز 0 / 5. تعداد رأی ها : 0
هنوز هیچ رأیی داده نشده. اولین نفر باشید!
اولین دیدگاه را اضافه کنید.