برنامه‌نویسی

Gatsby چیست؟


۵ اسفند ۱۴۰۰
gatsby (گتسبی جی اس) چیست؟

Gatsby یک فریم‌ورک SSG مبتنی بر GraphQL و React است که به‌دلیل عملکرد سریع برنامه نهایی و برخی دیگر از ویژگی‌های ارائه شده، توجه توسعه‌دهندگان را به خود جلب کرده و به‌سرعت در حال تبدیل شدن به یکی از اجزای اصلی توسعه‌ی مدرن وب است.

جالب‌تر آنکه شما در حال بازدید از یک وبسایت Gatsby هستید و ما برای بهبود تجربه‌ی کاربری در لیارا از این فریم‌ورک استفاده کرده‌ایم. ما تصمیم داشتیم تا با رعایت بالاترین استانداردهای دسترسی، صفحه‌های وب در سریع‌ترین زمان ممکن بارگیری شوند.

آشنایی با مفاهیم و تکنولوژی‌های وب مدرن

Gatsby را می‌توان مخلوق وب مدرن دانست. در این میان مفاهیم و تکنولوژی‌هایی مانند معماری Jamstack و SSG (Static Site Generator)ها باعث می‌شوند تا بارگیری وبسایت‌ها سریع‌تر انجام شود و همچنین تجربه‌ی کاربری روان‌تری را به ارمغان بیاوریم.

Gatsby یک فریم‌ورک SSG است

وب‌سایت‌های استاتیک را می‌توانیم وب‌سایت‌هایی بدانیم که با قرار گرفتن یک فایل HTML بر روی سرور، در دسترس عموم قرار گرفته‌اند. حال شاید با خود بگویید که این وبسایت‌ها از سال ۱۹۹۰ وجود داشته‌اند بنابراین چه مشخصه‌ای در SSGها نوآورانه بوده است؟

ما به‌کمک SSGها می‌توانیم محتوا dynamic در صفحه‌های وب داشته باشیم. در سیستم‌های سنتی‌تر مثل WordPress یا Drupal باید درخواست کاربر پردازش می‌شد و اطلاعات رندر شده‌ی نهایی به‌صورت یک فایل HTML در پاسخ به کاربر ارسال می‌شد اما SSGها تمامی اطلاعات را در زمان build از یک API دریافت می‌کنند و فایل‌های استاتیک نهایی بر روی سرور قرار خواهند گرفت.

این روش چندین مزیت دارد که مهم‌ترین آن‌‌ها را می‌توانیم سرعت و قابل اطمینان بودن وب‌سایت build شده بدانیم. حتی علاوه‌بر سرعت بالای بارگیری سایت‌های استاتیک در مرورگر، دیگر نگران خطر افزایش ترافیک و ایجاد مشکل برای داده‌های دیتابیس را نخواهیم داشت.

یکی دیگر از مزایای کلیدی SSGها این است که برای ارائه محتوا به یک CMS یا یک دیتابیس متکی نیستند و شما می‌توانید محتوا را از هر API که با ساختار SSG شما سازگار باشد، دریافت کنید. اگرچه برخی SSGها به فایل‌‌های Markdown محدود می‌شوند اما در Gatsby این‌گونه نیست و گزینه‌های متنوع‌تری را در پیش روی خود خواهید داشت.

همچنین لازم به ذکر هست که با توجه به عملکرد سریع سایت‌های استاتیک می‌توانیم بهبود وبسایت برای موتورهای جستجو (SEO) را از مزایای SSGها بدانیم.

فریم‌ورک Gatsby از معماری Jamstack پیروی می‌کند

JAMstack (جم-استک)

Jamstack معماری است که در آن از زبان JavaScript، فایل‌های Markup و API برای ساخت وبسایت‌های مدرن استفاده می‌شود.

  • به‌کمک زبان JavaScript، داده‌ها به‌صورت خودکار با رابط کاربری ترکیب می‌شوند و در معماری Jamstack هیچ محدودیتی در فریم‌ورک‌ها و کتابخانه‌هایی که می‌توانید برای این کار استفاده کنید، وجود ندارد.
  • در این معماری می‌توان APIها را قطعه‌ای از پازل دانست که داده‌ها را به‌کمک آن دریافت می‌کنیم.
  • و در آخر M به Markup اشاره داره و ما می‌توانیم فایل‌های Markup را سورسی برای ساخت فایل‌های HTML بدانیم.

حال در فریم‌ورک Gatsby از کتابخانه React برای ایجاد رابط کاربری و از GraphQL برای اتصال کامپوننت‌ها به API استفاده می‌شود. در این میان شما با استفاده از پلاگین‌ها می‌توانید GraphQL API مورد نیاز خود برای دریافت محتوا را به سیستم‌های مدیریت محتوایی مانند Contentful، WordPress و Strapi اضافه کنید.

منبع: https://www.mparticle.com/blog/what-is-gatsby