149000–رایگان!
ویژگی های دوره
آموزش graphql دوره ای است که در آن نحوه نوشتن یک API با یکی از بهترین ابزارهای موجود یعنی GraphQl آموزش داده می شود. همچنین در این دوره کاملا با معماری هایی که برای توسعه API وجود دارند آشنا می شوید
graphql چیست؟
GraphQl یک زبان کوئری نویسی (query language) است که به شما این امکان را می دهد تا بتوانید یک API را توسعه دهید و جایگزینی است برای APIهایی که با REST توسعه داده شده اند و البته توسعه داده خواهند شد.ازطرفی با ساختار خاصی که در اختیار توسعه دهنده قرار می دهد این امکان را فراهم می کند تا client دقیقا آن چیزی را که نیاز دارد از server درخواست کند و از طرفی server در پاسخ به query کلاینت پاسخ مناسب را به صورت JSON ارسال می کند. نکته مهمی که وجود دارد این است که client دقیقا همان چیزی را که نیاز دارد درخواست می کند و فقط همان را در پاسخ دریافت می کند.
Rest یا graphql
graphql یک ابزار و Rest یک الگوی طراحی است. این شاید اشتباه باشد که GraphQL را جایگزین REST بدانیم در حالی که می توانیم هر دو را به یک اندازه مورد استفاده قرار دهیم.
سرویس های GraphQL عملکرد و کاراریی را مورد هدف قرار می دهند درحالی که سرویس های REST برنامه را قابل اطمینان نگه می دارند.
ویژگی های graphql
- تنها از طریق یک EndPoint یا اصطلاحا route با دیتا سورس ها تبادل دیتا انجام دهید.
- کلاینت جریان داده ای که دریافت و ارسال می شود را از طریق query کنترل می کند.
- نیازی به توسعه ورژن های مختلف از یک API ندارید.
و موارد دیگری که تنها برخی از خصوصیات ویژه این زبان کوئری نویسی می باشد.
پیش نیازهای دوره آموزش GraphQl
لازم نیست که شما برای یادگیری graphql نگران پیش نیازها باشید چون ما تمامی این پیش نیاز ها رو به صورت رایگان داریم و میتونید از این دوره ها استفاده کنید.
سوالات متداول
چرا graphql
GraphQL توسط فیسبوک برای رفع کاستی های Rest معرفی شد.
دلایل زیر میتونه یک مشوق عالی برای استفاده از GraphQl باشه
- سرویس GraphQL ساختاری را در اختیارتان قرار می دهد تا بتوانید تنها با استفاده از یک end-point داده ای که نیاز دارید را از طریق یک query درخواست کنی
- GraphQL به دلیل ساختاری که دارد از انواع مختلف داده ای پشتیبانی می کند چه آنهایی که در ساختار آن وجود دارد و چه آنهایی که کاربر آنها را مشخص می کند
- Syntax در GraphQL به گونه ای است که این امکان را به کاربر می دهد تا خودش مشخص کند که چه داده و با چه نوع داده ای را می خواهد به عنوان response دریافت کند.این ویژگی باعث می شود تا ارسال و دریافت داده هایی که مورد نیاز کاربر نیست به حداقل برسد.
- گراف کیوال مطابق با schema که برای آن مشخص شده است داده مورد نیاز کاربر را response می کند درنتیجه به راحتی می توانید فیلدی را کم و یا زیاد کنید و البته در این ساختار ویژگی به نام
- یکی از اصلی ترین ویژگی های GraphQL که باعث تمایز آن از REST می شود این است که از پروتکل های انتقال دیتای مختلفی را پشتیبانی می کند اگر وب سرور API به جهت پورتکل انتقال دیتا تغییراتی داشته باشد (http, https, WebSocket, TCP, UDP) GraphQL می تواند داده را با توجه به پورتکل انتقال بین client و server جابهجا کند.
معایب graphql
با توجه به ویژگی هایی که از این ساختار مطرح شد کاملا متوجه شده اید که ساختار آن چگونه است و چه API ها پیشرفته ای را می توان با کمک آن توسعه داد ولی همانطور که می دانید هر ساختاری مشکلات و معایب خاص خود را دارد پس اجازه دهید به چند مورد اشاره کنیم
- graphql برخلاف REST که از سیستم کش HTTP استفاده می کندT از cach پشتیبانی نمی کند. البته ابزارهایی مانند relay وجود دارند که این امکان را برای پیاده سازی cach می دهند ولی مانند ساختار REST کارآمد نیست.
- سیستم REST از status های HTTP برای مدیریت انواع خطاها استفاده می کند.این مقوله باعث می شود تا بتوان بحث مانیتورینگ را بر روی API به راحتی پیاده سازی نمود.ولی API که توسط ساختار GraphQL پیاده سازی شده است همه responseها را با status 200 ارسال می کند.و این کار مانیتوریگ API را با مشکل مواجه می کند.
- مشکلی که در APIهایی که با GraphQL توسعه داده می شود در حال حاضر در بین جامعه GraphQL وجود دارد این است که چگونه باید مقوله امنیت را پیاده سازی کرد. این درحالی است که هنوز استانداردی برای ادغام authentication and authorization وجود ندارد.البته معمولا برای سطح تجاری از احراز هویت استفاده می کنیم اما آیا باید به کاربری که لاگین نکرده است و احراز هویت نکرده نشده است اجازه استفاده از Query ها را بدهیم ؟
- GraphQL ابزاری نو ظهور در حوزه توسعه APIها محسوب می شود و شاید در اولین تجربه کاربری خود با این ساختار با مشکلات زیادی روبه رو شوید که شاید ساعت ها وقت شما را برای حل آن مشکل به خود بگیرد. ولی همواره در حال بروزرسانی و رفع باگ هایی است که ممکن است هر شخصی که از آن استفاده می کند با آن برخورد داشته باشد.
آیا graphql ارزش یادگیری دارد؟
با توجه به اینکه از زمان معرفی GraphQl توسط فیسبوک مدت زمان زیادی نمی گذرد ولی خیلی از شرکت ها و غول های تکنولوژی از این query language برای توسعه API های مورد نیاز خود استفاده می کنند که نشان از محبوب بودن و پرکاربرد بودن این زبان است.
بنابراین یادگیری graphql به طور حتم به ما می تواند خیلی کمک کند
آیا آموزش graphql وب سایت reactapp.ir کافی است.؟
ما سعی کرده ایم در دوره آموزش GraphQl گام به گام و با مثال های مختلف روش توسعه API با استفاده ار GraphQl را آموزش دهیم .
بنابراین بعد از مشاهده این دوره نیاز به مورد خاصی دیگری ندارید و می توانید با خیال راحت از GraphQl برای توسعه API های مورد نیاز خود استفاده کنید
آموزش GraphQl
0. معرفی دوره
1. آشنایی با API
2. REST یا GraphQl
3. نصب NodeJS
4. شروع کار با GraphQl
5. آشنایی با Schema
6. آشنایی با Query : Operation Type
7. شروع کار با type و object type
8. آشنایی با resolver
9. تست schema و resolver
10. شروع کار با Database
11. تعریف Model
12. ماژول faker
13. آشنایی با Argument
14. آشنایی با non-null (!)
15. paginate - بخش اول
16. paginate - بخش دوم
17. آشنایی با operation name
18. آشنایی با aliases
19. آشنایی با fragment
20. روابط بین جداول
21. تعریف variable
22. directive - بخش اول
23. directive - بخش دوم
24. کار با graphql-tools
25. آشنایی با Mutation: Operation Type
26. ماژول bcrypt
27. نصب apollo server
28. روابط بین جداول در Apollo server
29. اعتبارسنجی input types
30. مدیریت خطاها (error handling)
31. ارسال request از طریق client
32. login
33. ایجاد token با استفاده از JWT
34. authenticate
35. تمرین : ایجاد Article
36. upload file - بخش اول
37. upload file - بخش دوم
moreدوره های مرتبط
آموزش جاوااسکریپت (javascript)
آموزش جامع React Js
آموزش پروژه محور React Native
chat_bubble_outlineنظرات
قوانین ثبت دیدگاه
149000–رایگان!


علی
توسعه دهنده سمت سرورعاشق جاوااسکریپت و توسعه سمت سرور و توسعه اپلیکیشن اونم با React Native:)
Smo2020 Ssmmoo
درمورد کشینگ صحبت نشده؟
مهدی حسن زاده(مدیریت)
سلام.خیر صحبت نشده
muhammadbhnm
apollo-server-express نسخه جدید کار نمیکنه
سلام خسته نباشید داخل داکیومنتش نوشته بود منسوخ شده و دیگه نسخه جدیدتری از apollo-server-express نمیاد
همچنین شما از نسخه ۲ اپولوسرور استفاده کردین که الان نسخه ۳ در دسترس هست
ایا نسخه جایگزینی وجود داره
و ممنون میشم یک راه حل بگید
علی(مدیریت)
سلام وقت بخیر
آخرین بروزرسانی این ماژول برای دوماه پیش هست و الان دقیقا کجای doc نوشته بروزرسانی نمیشه !! لینک داکیومنت
موقع ضبط ویدیو، این نسخه release شده بوده و زیادی تفاوت اساسی وجود نداره و میتونید از doc کمک بگیرین
mamalli
سلام
آیا این دوره بروزرسانی میشه ؟؟؟
علیرضا(مدیریت)
سلام محتوای دوره به روز و قابل استفاده هست اما هر زمان که نیاز به اپدیت باشه بله بروزرسانی میشه و دانشجویانی که قبلا دوره هارو تهیه کردند، اپدیت های جدید به صورت رایگان در اختیارشون قرار میگیره
yasna rajabi
دوره هاتون عالی هستند ممنونم
علیرضا(مدیریت)
مرسی از انرژی مثبتت
افشین
درود… بفرمایید روی کدوم نسخه ی Graph QL تدریس شده ؟ ممنون
علی(مدیریت)
سلام. نسخه پکیج graphql استفاده شده در این دوره 14.5 هست.
mohammadardehe
سلام وقت بخیر
این آموزش برای منی که با جنگو کار میکنم میتونه مفید باشه؟؟؟
علی(مدیریت)
درود بله میتونید از این ساختار در Nodejsو PHPو یا python استفاده کنید با این تفاوت که در هر کدام از این زبان ها برای پیاده سازی API با Graphql باید از پکیج ها و کتابخانه های مرتبط کار کنید
علی(مدیریت)
سلام وقت بخیر
با عرض پوزش بابت مشکل به وجود آمده. در حال برطرف کردن این مشکل هستیم.
majidpourafshar
این خطا رو میده:
وردپرس، خطا
Can not Connect to Download Hosting , Please try again or Contact with Us. Go to homepage
مهدی(مدیریت)
سلام وقت بخیر
با عرض پوزش بابت مشکل به وجود آمده. در حال برطرف کردن این مشکل هستیم.