ورود / ثبت نام سبد خرید 0
بعنوان یک توسعه دهنده ی وب احتمالا میدانید که ابزارهای زیادی برای توسعه ی وب سایت با زبان برنامه نویسی پایتون وجود دارد. بعضی وقت ها ممکن است این مسئله که با کدام کار کنید یا کدام را شروع کنید به یادگیری ، کمی گیج کننده است. اما برای توسعه ی وب سایت با پایتون دو فریمورک بسیار محبوب وجود دارد که نام آنها فلسک ( Flask ) و جنگو ( Django ) است.
در این مقاله نکات بسیار مفیدی درباره ی توسعه ی وب با فریمورک های مختلف و مقایسه بین دو فریمورک محبوب فلسک و جنگو خواهیم داشت پس ادامه ی مقاله را با دقت کافی مطالعه کنید.
همانند همه ی زبان های برنامه نویسی دیگر ، زبان برنامه نویسی پایتون نیز از ابزارها یا پلتفرم های کمکی به اسم فریمورک ها بهره میبرد. در واقع فریمورک ها اسکلت از پیش ساخته شده ای برای تولید وب سایت ها هستند و درون خود بیشتر کدهایی که توسعه دهندگان بصورت تکراری مینویسند را دارند و در واقع از اختراع مجدد چرخ جلوگیری میکنند.
استفاده از فریمورک از تسک هایی که یک توسعه دهنده باید زمان بسیاری را صرف آن بکند میکاهد و بعبارتی دیگر در زمان توسعه دهنده صرفه جویی میشود.
تسک هایی مانند :
فریمورک فلسک یک میکروفریمورک بسیار سبک برای زبان پایتون است. نام این فریمورک از یک فلسک که در قدیم استفاده میشد گرفته شده و استعاره ای از سبک بودن و تو خالی بودن آن است که شما در ابتدای نصب چیزهای اضافی بجز خود فریمورک ندارید وبراساس نیاز خود پکیج های مختلفی را نصب میکنید.
عملکردهای زیر درون این فریمورک وجود دارد :
فلسک یک فریمورک سبک و منعطف برای توسعه ی انواع وب سایتهاست که به توسعه دهندگان انعطاف پذیری در بحث معماری و طراحی وب سایت ارائه میدهد.
مقیاس پذیری برای وب سایت هایی که در مرور زمان رشد میکنند باید در دسترس برنامه نویس وب باشد و به راحتی بتواند مقیاس سایت را افزایش دهد ، فریمورک Flask این امکان را به توسعه دهنده میدهد که کنترل مطلقی روی پروژه داشته باشند زیرا این فریمورک هیچ طرح بندی اجباری ، ابزارها و برنامه های مختلفی بصورت پیشفرض تعیین نکرده است.
ممکن است در ابتدا فریمورک flask یک فریمورک ناقص به نظر برسد ولی اینطور نیست و سبک بودن فلسک برای آزاد بودن دست توسعه دهنده و قدرت پذیری بیشتر وب سایت است.
به دلیل مینیمالیست بودن و واحد بودن منبع ، در یک لحظه یک تسک میتوانید با فلسک پردازش کنید و در طول پیشرفت و توسعه ی سایت شما میتوانید از ماژول های جانبی نیز استفاده کنید و با نصب آنها فریمورک فلسک را گسترده تر کنید.
شاید فکر کنید که اضافه کردن زیاد ماژول های جانبی باعث کاهش امنیت سایت شوند ولی اینجاست که API ها نقش خود را بازی میکنند ، در میان ویژگی های دیگر فلسک ، api ها بعنوان یک لایه ی امنیتی بین سرور و دیتا عمل میکنند.
مزایای فریمورک فلسک ( Flask ) چیست ؟
معایب فریمورک فلسک ( Flask ) چیست؟
فریمورک جنگو را میتوان بعنوان برادر بزرگتر فریمورک فلسک در نظر گرفت ! منحنی یادگیری جنگو نسبت به فلسک پرشیب تر هست ولی ارزش زحمتی که کشیده میشود را دارد.
نام جنگو از یک گیتاریست به اسم Django Reinhardt گرفته شده که برخی اشتباها فکر میکنند از نام شخصیت Jamie Foxx گرفته شده .
جنگو یک فریمورک کامل و در عین حال پیچیده است که تقریبا تمام ابزارهای مورد نیاز برای توسعه ی وب را درون خود دارد و از یک طرف هم مثل فریمورک فلسک سبک و ساده نیست.
پروژه هایی که با جنگو پیاده سازی میشوند تقریبا کامل تر هستند ، فریمورک جنگو در هندل کردن ویژگی های پیچیده ، توسعه ی سریع و کنترل خوب سایت های پرترافیک مشهور است.
جنگو گزینه ی خوبی برای مقابله با حملات XSS و امنیتی ، پیاده سازی ویژگی های پیچیده و کنترل سایت های پرترافیک است.
با فریمورک جنگو هر نواع امکاناتی را میتوانید درون پروژه های تحت وب خود پیاده سازی کنید ، توجه داشته باشید که قدرت زیاد جنگو مسئولیت زیادی هم به همراه دارد و به برنامه نویسان حرفه ای پایتون نیاز دارد تا بتوانند بخوبی با آن پروژه های خود را اجرا کنند.
مزایای فریمورک جنگو ( Django ) چیست ؟
معایب فریمورک جنگو ( Django ) چیست؟
همانطور که در بالا نیز متوجه شدید فریمورک جنگو یک همتای چند وظیفه و پیچیده برای فریمورک فلسک است. فلسک ساده است اما کارایی های ذاتی کمتری نیز دارد و جنگو سنگین است و این سنگینی ابزارهای کاربردی زیادی را به ارمغان می آورد.
برای مثال فریمورک جنگو به همراه یک ORM ( object-relational mapping ) برای کار با دیتابیس و مدیریت ارتباطات ارائه میشود اما در فریمورک Flask شما باید ORM ارائه نمیشود و شما باید دستی آنرا به پروژه ی خود اضافه کنید.
مثال دیگر این است که فریمورک جنگو میتواند داده های فرم های HTML را اعتبار سنجی کند ولی فلسک به خودی خود این توانایی را ندارد و برای انجام این کار باید یک ماژول نصب شود.
در رقابت بین فلسک و جنگو ، زمانی که پروژه سبک هست فلسک پیروز است و زمانی که پروژه پیچیده تر میشود و به امکانات زیادی نیاز دارد جنگو بهتر است.
خیره کننده ترین تفاوت بین فلسک و جنگو تعداد خطوط این دو فریمورک است که فلسک از ۲۹.۰۰۰ خط کد تشکیل شده ولی جنگو از ۲۹۰.۰۰۰ که نشان میدهد تعداد خطوط جنگو تقریبا ده برابر است.
با تعاریفی بالا به راحتی میتوان درک کرد که فریمورک Flask برای افرادی که قصد دارند یک وب سایت کوچک تا متوسط پیاده سازی کنند و همچنین تازه برنامه نویس پایتون شده اند مناسب است.
تفاوت دیگر در امنیت است ، در فریمورک فلسک بسیاری از امکانات با نصب پکیج های جانبی مقدور است که کنترل امنیت آنها کمی سخت است و این میتواند یک برگ برنده برای جنگو باشد ، در جنگو این ویژگی ها توسط خود جنگو ارائه میشود و مثل فلسک ، بصورت جانبی از جاهای دیگر نصب نمیشود و این مورد میتواند امنیت جنگو را بیشتر کند.
بصورت کلی اگر فلسک و جنگو را مقایسه کنیم بصورت لیست زیر خواهد بود.
فلسک :
جنگو :
ی
مقالات دیگر مرتبط با این مقاله ی آموزشی :
دوره های آموزشی مرتبط با این مقاله :