یک سوال پرتکرار: بهترین فریمورک گولنگ

من خیلی دیدم که این سوال پرسیده می‌شه: «بهترین فریم‌ورک برای Go چی هست؟» این سوال هم بیشتر توسط افرادی که از زبان‌های مثل PHP می‌رن به گولنگ پرسیده می‌شه. علتش هم اینه که توی پی‌اچ‌پی معمولا ما یک مونولیت بزرگ داریم که همه کار رو انجام می‌ده. از هندل کردن درخواست‌‌های ورودی از HTTP تا اعتبار سنجی و ارتباط با دیتابیس و همهٔ عملیات‌های این وسط. در نهایت هم خروجی HTML رو تولید می‌کنه تحویل مخاطب می‌ده. برای همین نیاز داریم که یک سری ابزار در کنار هم جمع شده باشه و به صورت عملیاتی فقط مورد استفاده قرار بگیره.

اما زبان Go بیشترین قدرت‌نمایی و شهرتش برای استفاده در معماری میکروسرویس هست. ما توی این معماری یک اپلیکیشن بزرگ که همه کار رو خودش انجام بده نداریم.

به جاش، سرویس‌هایی رو داریم که هر کدوم یک کاری رو انجام می‌ده. به طور مثال:

  • یک سرویس فقط کارش اینه که درخواست‌های ورودی کاربر رو از HTTP بگیره.
  • یک سرویس دیگه کارش اینه که درخواست‌های ورودی کاربر رو Authorize کنه.
  • یک سرویس دیگه کارش اینه که یه سری اطلاعات رو توی دیتابیس ذخیره کنه.
  • یک سرویس دیگه ممکنه کارش این باشه که از طریق gRPC اون اطلاعات رو به یک سرویس دیگه تحویل بده.
  • یک سرویس دیگه ممکنه لازم باشه اون اطلاعات رو از طریق یک مکانیز صف برای انجام شدن یک پروسه‌ای توی نوبت قرار بده.

می‌بینید؟ اصلا قرار نیست یک عالمه ابزار مختلف توی اپلیکیشن/سرویس‌های ما در کنار هم جمع باشن. اگر یک سرویسی فقط کارش هندل کردن HTTP Request هست فقط لازمه همون پکیج رو در خودش داشته باشه. دیگه مثلا لازم نیست پکیج کار با MySQL رو داشته باشه.

عموماً اینطوریه که برنامه‌نویس‌ها وقتی یک زبان جدید یاد می‌گیرن می‌رن دنبال اینکه همون کارهایی که توی زبان قبلی انجام می‌دادن رو توی این زبان جدید هم انجام بدن. این همیشه درست نیست! بهترین کار اینه که ببینیم:

  • زبان جدید نقطهٔ قوتش چیه؟
  • برای چه معماری و کاربردهایی ساخته شده؟
  • روش‌های رایج استفاده‌ش به چه صورت هست؟

و سوال‌هایی از این دست که باعث بشه پیچ رو با چکش فرو نکنیم تو دیوار. به جاش از پیچگوشتی استفاده کنیم که هم انرژی کمتری مصرف کنیم و هم بهتر و تمیزتر کار رو انجام بدیم.

شاد باشید.

3 دیدگاه برای «یک سوال پرتکرار: بهترین فریمورک گولنگ»

  1. مرسی از شما ، بازار کار گولنگ چطوره به نظرتون ، هم توی ایران هم توی خارج از کشور ، به نظرتون به خوبی جاوا و پایتون دات نت و … هستش ؟

    1. شهرام جان؛ به نظر من، این سوال خیلی کلی هست. به طور کلی میشه گفت بله. هم در ایران داره جایگاه خودش رو پیدا می‌کنه و هم در دنیا بازار خوبی داره.
      ولی خب منظور از دنیا کجاست؟ تو بعضی کشورها مثلا جاوا بازار بهتری داره، بعضی جاها پایتون و …. . این حتا می‌تونه در شهرهای مختلف متفاوت باشه. مثلا توی همین ایران خودمون بازار گو توی تهران تا وقتی من اطلاع داشتم بهتر بود از مشهد.
      برای اینکه دید بهتری پیدا کنی برو در قسمت جاب‌های لینکدین سرچ کن software developer با فیلتر کشورهای مختلف.

  2. بابا یکی بگه فرق اینا چیه ما هرچی سرچ کردیم نفهمیدیم
    =
    :=
    Var
    چرا هر کدوم یه بازی دارن موقع پرینت
    یکی میگه نمیشه چون استفاده نشده
    یکی میگه اصلا کلا نمیشه اینو پرینت کرد
    ماشالا چندتا هم پرینت داره کلا گیج شدم کلا
    فکر کنم برنانه نویسی رو از زبان پیچیده ای شروع کردم 😑

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *