فلسک یا جنگو؛ کدوم بهتره؟
فریم ورک در لغت معنی چهارچوب میده و در برنامه نویسی به معنی تعریف یک چهارچوب برای کدنویسیه که باعث بشه تمیزتر و سریعتر کدبزنیم و با سایر اعضای تیم راحتتر هماهنگ بشیم. پایتون یکی از بهترین زبان های برنامه نویسیه که با استفاده از اون میتونی بک اند وبسایت ها رو پیاده سازی کنی و فریمورک های مختلفی هم برای اینکار داره. جنگو و فلسک 2 تا از این فریمورک ها هستن که طرفدارهای زیادی دارن
فلسک (Flask) چیه؟
فلسک درواقع یک میکرو فریمورک پایتونیه به این معنی که از یک فریمورک ساده تر و کوچیک تره ولی در عین حال قدرتمنده و میتونه اکثر امکاناتی که برای برنامه نویسی وب نیازی داری رو برات فراهم کنه
جنگو (Django) چیه؟
جنگو هم یک فریمورک پایتونیه که برای برنامه نویسی وب با پایتون استفاده میشه. جنگو به نسبت فلسک، بزرگتر و پیچیده تر است و در پروژه های خیلی بزرگ میتونه مفید باشه
تفاوت های جنگو و فلسک چیه؟
به طور کلی جنگو فریمورک بزرگیه که ماژول ها و امکانات مختلفی برای کارهای مختلف داره که این باعث میشه کد شما در آینده توسعه پذیری بیشتری داشته باشه اما از طرفی یادگیری جنگو بسیار سختتر است. از طرفی یادگیری فلسک راحتتره و تقریبا همیشه امکانات لازم را در اختیار شما میذاره و در صورت نیاز به موارد بیشتر میتونی از کتابخونه های مکمل استفاده کنی. همچنین فلسک سرعت بیشتری در اجرا داره و برنامه هایی که با فلسک نوشته میشن سبک تر و سریعتر هستند.
تفاوت های فنی بین فلسک و جنگو
معماری
جنگو از معماری MVT استفاده میکنه و در واقع پروژه رو به سه بخش Model, View, template تبدیل میکنه. فلسک از معماری خاصی استفاده نمیکنه و توسعه دهنده میتونه معماری موردنیازش رو پیاده کنه.
انعطاف پذیری
جنگو سعی کرده تمام موارد موردنیاز رو درون خودش داشته باشه اما فلسک سعی کرده سبک بمونه و به توسعه دهنده اجازه میده از کتابخونه های مکمل استفاده کنه
سال انتشار
جنگو در سال 2005 منتشر شده و جامعه برنامه نویسان خوبی رو داره اما فلسک جوون تره و در سال 2010 منتشر شده ولی با این حال همچنان جامعه برنامه نویسان مناسبی داره.
امنیت
جنگو در این زمینه سعی میکنه خودش جلوی یسری حملات رایج رو بگیره ولی در فلسک، برخی مواقع نیازه این موارد رو با کتابخونه های ثانویه فیکس کنید
میکروسرویس
متاسفانه جنگو یک فریمورک monolithic هست ولی فلسک میتونه در زمینه میکروسرویس ها هم خوب عمل کنه
مقیاس پذیری
با جنگو میتونی برنامه های خیلی بزرگ هم بنویسی اما فلسک برای برنامه های خیلی بزرگ نمیتونه خیلی خوب باشه
سایتایی که با جنگو یا فلسک نوشته شدن
سایت های زیادی با استفاده از این 2 فریمورک نوشته شدن که چند تا معروف ترین هارو در ادامه آوردم:
Flask: Uber, Netflix, Pinterest
Django: Spotify, Instagram, Dropbox
اطلاعات فنی بیشتر
اگر نیاز به اطلاعات فنی بیشتر درباره این موضوع داری، میتونی به این لینک مراجعه کنی یا در گوگل جستجو کنی.
فلسک یا جنگو؛ کدومو استفاده کنم؟
همانطور که توضیح دادم هرکدوم از این 2 فریمورک ویژگی های خاصی دارند و میتونن توی پروژه های مختلف مفید باشن. وابسته به پروژه ای که داری، باید یکی رو انتخاب کنی
تجربه شخصی من درباره فلسک و جنگو
من خودم فن فلسکم چون هم سرعتش بیشتره و هم راحتتره و دستو بالت توی کدنویسی باز تره، میتونی هرطور که میخوای کد بنویسی. من تا حالا توی کار باهاش به مشکلی نخوردم و مساله خاصی باهاش نداشتم. تنها مشکلی که فلسک داره اینه که اگر پروژه بزرگ بشه و ساختار پروژه رو از اول خوب و ماژول بندی شده ننوشته باشی، یخورده پروژه پیچیده و توسعه پذیریش سخت میشه؛ بنابراین توی پروژه های بزرگ استفاده از جنگو میتونه منطقی باشه اما توی 90 درصد مواقع فلسک کارتونو راه میندازه، بی دردسر، راحت و سریع.
چطوری فلسک/جنگو یاد بگیرم؟
اگر میخوای فلسک رو یاد بگیری میتونی از دوره آموزش فلسک استفاده کنی، همچنین اگر همچنان سوالی داری یا نیاز به مشاوره رایگان برای یادگیری برنامه نویسی داری، میتونی با ما تماس بگیری.