واقعا فقط فریمورک بزرگ تر ها خوبن؟!

Flask vs Django
Flask vs Django


سلام طبق معمول امیرمهدی هستم :)

خب شاید براتون پیش اومده باشه بخواید برای اولین بار یک کاری بکنید و دنبال این باشید که باید چه چیزی برای این کار باید یاد بگیرید این جاست که میرید سرچ کنید. اگر برای نوشتن بک-اند با پایتون سرچ کنید ممکنه دچار مشکل بشید :)

داستان اینه که یه بنده خدایی می خواست با پایتون بک-اند بزنه. به من گفت می خواد دقیقا چیکار کنه و من بهش فلسک رو پیشنهاد کردم. با پیشنهادم تعجب کرد. و اون بنده ی خدا گفت من خوندم جنگو بهتر از فلسکه :)) و این باعث شد تا این جا راجع بهش بنویسم :)

خود من اولین بار که می خواستم با پایتون بک-اند بزنم،.سرچ کردم، مثل همه با دو گزینه ی معروف فلسک و جنگو بر خوردم :)(چیزای دیگه ای هم هستن که الان سرشون حرفی ندارم) چیزی که بین همشون مشترک بود، گفتن این که جنگو بهتر از فلسکه - فلسک خیلی کوچیکه ... . بدون استدلال و نمونه بود. یعنی اون بنده خدایی که این حرفو زده بود، نگفته بود تو چه مقیاسی و ... در حدی افکار منو خراب کرده بودن که حتی با یکسری پروژه خفن طور با فلسک رو به رو شدم ولی اصلا تحویلشون نگرفتم(البته این کار من هم غیر حرفه ایی درون خودش داشت) :)

خب بدیهی بود که با این وجود برم سراغ جنگو . شروع کردم یاد گرفتن . چند تا پروژه انجام دادم براش و خیلی خوب بود. تا این که خواستم یک پروژه دیگه برای خودم انجام بدم :)‌

شرح پروژه :
خب من میخوام با یک API کار کنم :) این API از یک crm هست :) ما هیچ دیتابیسی نداریم و باید یک وب اپ داشته باشیم که یوزرنیم و پسورد و رو از کاربر بگیره ، بفرستش برای اون api ، api یک توکن بر می گردونه و از این به بعد با دادن توکن به api می تونیم مشخصات کاربر رو بگیریم و کار های مختلفی انجام بدیم مثلا براش سرویس دیگه ای بگیریم و ...(خیلی شبیه به فرانت ولی با این تفاوت که به دلایلی نمی شد با ری اکت و ویو زد) خب این کار ها رو با جنگو نمی شد انجام داد . بذارید چیز اشتباهی نگم در اصل می شد ولی خیلی بد می شد :

  • کلی فایل اضافه
  • چیزی مثل model که ما نیاز نداریم
  • چیزی مثل admin که ما نیاز نداریم
  • و خیلی از چیزای دیگه که اگر بخوام لیست کنم حوصلتون سر میره
  • سرعت پایین تر نسبت به فلسک

میدونید، به نظر من کلا جنگو برای کار های از یه حدی بزرگ تر یا پیچیده تر خوبه. توی جنگو شما همه چیو داری، ادمین و فلان و یسری چیزا هم حتی اضافه داری. ولی خب توی فلسک از اول با هزار تا روش مختلف می تونی اون همه چیو بسازی و چیزی که می خوایو بیاری بالا. وقتیم که نیازش نداشته باشی نداری و چیزی نمیشه :) یعنی به نظر من فلسک هم انعطاف‌پذیرتره.

البته برای اون راه هایی وجود داشت ولی در کل خیلی کثیف کاری می شد و من هم ترجیح میدم یا کاری رو نکنم یا اگر می کنم درست و تمیز بکنم. خب من مونده بودم چیکار کنم تا این که یک جایی دوباره با فلسک بر خوردم :) حقیقتا این دفعه خودم واقعا رفتم تحقیق کردم و دیدم چی به چیه و خیلی ازش خوشم اومد. شروع کردم با فلسک نوشتنش :) و خب کارمم راحت تر شد.

مزایا ی فلسک :

  • سبک بودن
  • سریع بودن
  • سادگی
  • سرعت توسعه ی بالا
  • وجود داکیومنت های زیاد
  • از هر چیزی که بخوای استفاده کنی فقط نیازه که ایمپورتش کنی و فایل های اضافه نخواهی داشت
  • دیپلوی آسون

و اگر الان از من بپرسن توی یک پروژه ی بدون دیتابیس یا ساده، جنگو یا فلسک؟ ۹۰ درصد جواب من فلسک هست :) این نوشته به معنی این نیست که فلسک خیلی بهتر از جنگو هست، یا من همیشه ترجیحش می دم. موضوع اینه که هر پروژه ای با هر اسکیلی و مشخصاتی یک فریم ورک مناسب براش باید انتخاب بشه و من معتقدم همیشه جنگو بهترین نیست :)

در صورت این که خیلی ها خیلی مستقیم به شما میگن فقط جنگو که توی همین ایران خودمون کم نیستن.

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

پیشنهاد می کنم اگر تا حالا بک-اند با پایتون کار نکردید، اول فلسک رو یاد بگیرید بعد جنگو.

باز هم میگم جنگو هم یسری جا ها از فلسک قوی تره ولی توی همچی یک نیست، هر چیزی، جای خودش.

ممنونم که تا این جا خوندید، موفق باشید :)