وب‌سرویس مجید

پروژه loona

kamilkisiela/loona

مدیریت وضعیت برنامه با استفاده از GraphQL

این پروژه یک کتابخانه مدیریت وضعیت برای برنامه‌های جاوااسکریپت است که از GraphQL برای تعریف و دسترسی به داده‌های برنامه استفاده می‌کند.

به جای استفاده از کتابخانه‌های سنتی مثل Redux، Loona اجازه می‌دهد تا وضعیت برنامه را با استفاده از schema و queryهای GraphQL مدیریت کنید.

کاربرد:

این ابزار برای برنامه‌هایی که از GraphQL استفاده می‌کنند و به دنبال یک راه‌حل یکپارچه برای مدیریت وضعیت در سمت کلاینت هستند، مناسب است.

با Loona می‌توانید وضعیت محلی و ریموت را در یک سیستم واحد مدیریت کنید.

در چه شرایطی بهتره استفاده شود؟

وقتی که از Apollo Client استفاده می‌کنید و دوست دارید وضعیت برنامه را هم با همان سبک GraphQL مدیریت کنید.

همچنین برای پروژه‌هایی که به دنبال کاهش پیچیدگی در مدیریت وضعیت و یکپارچه‌سازی داده‌ها هستند، عالی است.

چند مثال از موارد استفاده:

• ذخیره وضعیت کاربر (مثل لاگین، نقش، تنظیمات) در cache با queryهای GraphQL

• مدیریت وضعیت UI مثل منوها، حالت‌های لودینگ یا نمایش مودال‌ها

• ترکیب داده‌های سرور و داده‌های محلی در یک graph واحد

• نوشتن business logic با استفاده از mutationهای سفارشی در سمت کلاینت

  • ##GraphQL
  • ##StateManagement
  • ##JavaScript
  • ##ApolloClient
  • ##ClientSide
  • ##React
  • ##Frontend
  • ##Loona
  • ##LocalState
  • ##DeclarativeUI