میکرو فریم ورک Flask چیست و چه کاربردی دارد؟
پایتون معرکه است. پایتون حرف ندارد. کار با پایتون یک تیر و چند نشان زدن است. جملههای این چنینی را زیاد شنیده ایم و هر روز هم میشنویم. اما به نظرتان چه چیزی پایتون را آنقدر محبوب و دوست داشتنی کرده است؟ بدون شک یکی از این دلایل فریم ورکها هستند. پایتون فریم ورکهای بسیار متنوعی دارد که در بسیاری از موارد قدرت پایتون را چند برابر میکنند.
فریم ورک چهارچوبی برای منسجم نگه داشتن کد، صرفه جوی در زمان و هماهنگی بهتر با اعضای تیم است. استفاده از فریم ورکها کار را برای توسعه دهندگان آسان کرده و فرآیند برنامه نویسی را لذت بخش میکنند. میدانیم که پایتون در توسعه وب هم کاربرد داشته و فریم ورکهای معروفی هم برای این کار دارد، یکی از این فریم ورکها Flask نام دارد و به شما کمک میکند در کوتاهترین زمان برنامههای تحت وب قدرتمندی بسازید. همراه ما باشید تا با هم وارد دنیای شگفت انگیز فلسک شده و بفهمیم که فریم ورک Flask چیست و چه کاربردهایی دارد.
قبل از اینکه بررسی کنیم Flask چیست، اجازه بدهید به این سوال پاسخ بدهیم که Flask چه چیزهایی نیست! دانستن این موارد ذهن ما را برای درک بهتر مفاهیم آماده میکند:
- یک سرویس سمت سرور نیست
- یک وب سرور نیست
- زبان برنامه نویسی نیست
- بهترین ابزار برای وارد شدن به زبان پایتون نیست
در واقع Flask یک فریم ورک وب سبک میباشد که با زبان پایتون طراحی و نوشته شده است. البته به عبارت دقیقتر فلسک یک میکرو فریم ورک است چون بسیاری از ابزارها و کتابخانههای رایج سایر فریم ورکها را ندارد. مثلا فلسک به طور پیش فرض نمیتواند با دیتابیس کار کند با فرمها را اعتبارسنجی کند و برای این کار باید سراغ کتابخانهها و دیتابیسهای موجود بروید. فلسک به طور رسمی از سال ۲۰۱۰ تحت لایسنس BSD شروع به کار کرد و توسط آقای Armin Ronacher نوشته شده است.
فلسک تا حدی از فریم ورک سیناترا که با روبی نوشته شده تاثیر گرفته است. سیانترا برخلاف بیشتر رقبای خود از مدل MVC پشتیبانی نکرده و به جای آن روی “ساخت وب اپلیکیشن با سرعت بالا” تمرکز دارد. این فریم ورک امکانات پایه ای را برای ساخت یک برنامه تحت وب در اختیارتان میگذارد و اگر نیاز به ماژولهای بیشتر بود میتوانید آنها را به پروژه خود اضافه کنید. همینطور نصب و راه اندازی Flask بسیار آسان بوده و نیاز به نصب ابزار خاصی ندارد.
Flask در کجاها استفاده میشود؟
Flask کتابخانه ای کوچک یا به اصطلاح جمع و جور است. اما این کوچیک بودن را نباید با ضعیف بودن اشتباه بگیرید. Flask به حدی قدرتمند است که بسیاری از شرکتهای بزرگ به آن اعتماد کرده و از Flask در پروژههای خود استفاده میکنند. مثلا Uber که بزرگترین سرویس درخواست تاکسی اینترنتی است یا سامسونگ که یکی از بزرگترین تولیدکنندههای قطعات دیجیتال در دنیا است، Flask را به کار گرفته اند. در لیست زیر بعضی از معروفترین برندهایی که به Flask اعتماد کرده اند را مشاهده میکنید:
- Red Hat
- Netflix
- Mozila
- Hotjar
- Nginx
Flask چطور کار میکند؟
برای درک این موضوع که Flask چیست باید بگوییم که فلسک به طور کلی با دو کامپوننت Werkzeug (این کلمه آلمانی بوده و ممکن است تلفظ آن کمی دشوار باشد) و Jinja کار میکند. کارهایی مثل مسیریابی، دیباگ کردن، ارتباط با وب سرور و غیره توسط Werkzeug انجام میشود. Jinja هم یک template Engine است که دادههای مختلف را در قالب مورد نظر شما نمایش میدهد. هر دو کامپوننت توسط سازنده فلسک یعنی آقای Ronacher ساخته شده و تحت لایسنس BSD منتشر شده اند.
در حقیقت فریم ورکها مجموعه ای از کدهای آماده هستند که کار را برای برنامه نویس آسان میکنند. مثلا طراحی یک وب سرور به زبان پایتون که بتواند میزبان سایتها باشد بدون فریم ورک کار دشوار و زمان بری است. اما با فریمورکی مثل Flask میتوانید این کار را با کمتر از ۱۲۰ خط کد انجام داده و یک وب سرور ساده بنویسید. در واقع فلسک به شما کمک میکند بدون درگیر شدن با مسائل پیچیده سطح پایین، تمرکز خود را روی توسعه سرویس خود بگذارید.
چرا باید از Flask استفاده کنیم؟
در حالی که پایتون فریم ورکهای وب دیگری مثل Django، Bottle، Tornado و غیره دارد، این سوال مطرح میشود که چرا باید سراغ فریم ورک flask برویم؟ قبل از جواب دادن به این سوال باید این نکته را یادآور شویم که هیچکدام از فریم ورکها از دیگری بالاتر نیست و باید با توجه به شرایط پروژه و نیازهای خود بهترین انتخاب را داشته باشیم. در واقع هر فریم ورک نقاط ضعف و قوت خودش را دارد. بعضی از نقاط قوت فلسک که برنامه نویسان را به استفاده از آن ترغیب میکنند عبارتند از:
- یادگیری Flask بسیار آسان است. اگر کمی با زبان پایتون آشنا باشید با دیدن کدهای فلسک میتوانید سر از کار آن دربیارید.
- هنگام کار با Flask دست شما باز است که کارها را مطابق میل خودتان پیش ببرید. یعنی این فریم ورک کاملا انعطاف پذیر است.
- یک جامعه قوی پشت زبان پایتون و فریم ورک فلسک قرار داد که میتوانید هنگام به وجود آمدن مشکل روی کمک آنها حساب باز کنید.
نتیجه گیری
در این مطلب بررسی کردیم که میکرو فریم ورک Flask چیست و چه کاربردی دارد. همینطور درباره پروژههای موفقی که با آن ساخته شده اند صحبت کردیم.این میکرو فریم ورک یک روش سریع و قابل اطمینان برای طراحی سایت با پایتون است. یادگیری آن بسیار آسان بوده و پیچیدگی بسیاری از فریم ورکها را ندارد.