میکرو فریم ورک Flask چیست و چه کاربردی دارد؟

دسته بندی: پایتون
سطح مقاله: ساده
زمان مطالعه: 9 دقیقه
۰۶ مهر ۱۳۹۸

پایتون معرکه است. پایتون حرف ندارد. کار با پایتون یک تیر و چند نشان زدن است. جمله های این چنینی را زیاد شنیده ایم و هر روز هم می شنویم. اما به نظرتان چه چیزی پایتون را آنقدر محبوب و دوست داشتنی کرده است؟ بدون شک یکی از این دلایل فریم ورک ها هستند. پایتون فریم ورک های بسیار متنوعی دارد که در بسیاری از موارد قدرت پایتون را چند برابر می کنند. فریم ورک چهارچوبی برای منسجم نگه داشتن کد، صرفه جوی در زمان و هماهنگی بهتر با اعضای تیم است. استفاده از فریم ورک ها کار را برای توسعه دهندگان آسان کرده و فرآیند برنامه نویسی را لذت بخش می کنند. می دانیم که پایتون در توسعه وب هم کاربرد داشته و فریم ورک های معروفی هم برای این کار دارد، یکی از این فریم ورک ها Flask نام دارد و به شما کمک می کند در کوتاه ترین زمان برنامه های تحت وب قدرتمندی بسازید. همراه ما باشید تا با هم وارد دنیای شگفت انگیز Flask شده و بفهمیم که فریم ورک Flask چیست و چه کاربردهایی دارد.

فهرست محتوای این مقاله

Flask چیست؟

میکرو فریم ورک فلسک چیست و چه کاربردی دارد؟

قبل از اینکه بررسی کنیم Flask چیست، اجازه بدهید به این سوال پاسخ بدهیم که Flask چه چیزهایی نیست! دانستن این موارد ذهن ما را برای درک بهتر مفاهیم آماده می کند:

  • Flask یک سرویس سمت سرور نیست
  • Flask یک وب سرور نیست
  • Flask زبان برنامه نویسی نیست
  • Flask بهترین ابزار برای وارد شدن به زبان پایتون نیست

در واقع Flask یک فریم ورک وب سبک می باشد که با زبان پایتون طراحی و نوشته شده است. البته به عبارت دقیق تر فلسک یک میکرو فریم ورک است چون بسیاری از ابزارها و کتابخانه های رایج سایر فریم ورک ها را ندارد. مثلا فلسک به طور پیش فرض نمی تواند با دیتابیس کار کند با فرم ها را اعتبارسنجی کند و برای این کار باید سراغ کتابخانه ها و دیتابیس های موجود بروید. فلسک به طور رسمی از سال 2010 تحت لایسنس BSD شروع به کار کرد و توسط آقای Armin Ronacher نوشته شده است.

فلسک تا حدی از فریم ورک سیناترا که با روبی نوشته شده تاثیر گرفته است. سیانترا برخلاف بیشتر رقبای خود از مدل MVC پشتیبانی نکرده و به جای آن روی "ساخت وب اپلیکیشن با سرعت بالا" تمرکز دارد. این فریم ورک امکانات پایه ای را برای ساخت یک برنامه تحت وب در اختیارتان می گذارد و اگر نیاز به ماژول های بیشتر بود می توانید آنها را به پروژه خود اضافه کنید. همینطور نصب و راه اندازی Flask بسیار آسان بوده و نیاز به نصب ابزار خاصی ندارد. پیشنهاد می کنیم برای آشنایی بیشتر با معماری MVC به مطلب زیر مراجعه کنید:

بیشتر بدانید : MVC چیست به زبان ساده

Flask در کجاها استفاده می شود؟

Flask چه کاربردهایی دارد؟

Flask کتابخانه ای کوچک یا به اصطلاح جمع و جور است. اما این کوچیک بودن را نباید با ضعیف بودن اشتباه بگیرید. Flask به حدی قدرتمند است که بسیاری از شرکت های بزرگ به آن اعتماد کرده و از Flask در پروژه های خود استفاده می کنند. مثلا Uber که بزرگترین سرویس درخواست تاکسی اینترنتی است یا سامسونگ که یکی از بزرگترین تولیدکننده های قطعات دیجیتال در دنیا است، Flask را به کار گرفته اند. در لیست زیر بعضی از معروف ترین برندهایی که به Flask اعتماد کرده اند را مشاهده می کنید:

  • Red Hat
  • Netflix
  • Reddit
  • Pinterest
  • Linkedin
  • Mozila
  • Hotjar
  • Nginx

Flask چطور کار می کند؟

ببینید که فریم ورک فلسک چطور کار می کند

 با نگاه به تصویر بالا می توانید نحوه عملکرد فریم ورک Flask را بهتر درک کنید. برای درک این موضوع که Flask چیست باید بگوییم که فلسک به طور کلی با دو کامپوننت Werkzeug (این کلمه آلمانی بوده و ممکن است تلفظ آن کمی دشوار باشد) و Jinja کار می کند. کارهایی مثل مسیریابی، دیباگ کردن، ارتباط با وب سرور و غیره توسط Werkzeug انجام می شود. Jinja هم یک template Engine است که داده های مختلف را در قالب مورد نظر شما نمایش می دهد. هر دو کامپوننت توسط سازنده فلسک یعنی آقای Ronacher ساخته شده و تحت لایسنس BSD منتشر شده اند.

در حقیقت فریم ورک ها مجموعه ای از کدهای آماده هستند که کار را برای برنامه نویس آسان می کنند. مثلا طراحی یک وب سرور به زبان پایتون که بتواند میزبان سایت ها باشد بدون فریم ورک کار دشوار و زمان بری است. اما با فریمورکی مثل Flask می توانید این کار را با کمتر از 120 خط کد انجام داده و یک وب سرور ساده بنویسید. در واقع فلسک به شما کمک می کند بدون درگیر شدن با مسائل پیچیده سطح پایین، تمرکز خود را روی توسعه سرویس خود بگذارید. برای شناخت سایر فریم ورک های پایتون که در طراحی وب استفاده می شوند به مطلب زیر مراجعه کنید:

چرا باید از Flask استفاده کنیم؟

در حالی که پایتون فریم ورک های وب دیگری مثل Django، Bottle، Tornado و غیره دارد، این سوال مطرح می شود که چرا باید سراغ فریم ورک flask برویم؟ قبل از جواب دادن به این سوال باید این نکته را یادآور شویم که هیچکدام از فریم ورک ها از دیگری بالاتر نیست و باید با توجه به شرایط پروژه و نیازهای خود بهترین انتخاب را داشته باشیم. در واقع هر فریم ورک نقاط ضعف و قوت خودش را دارد. بعضی از نقاط قوت فلسک که برنامه نویسان را به استفاده از آن ترغیب می کنند عبارتند از:

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

ساخت یک برنامه تحت وب ساده با Flask

نوشتن یک برنامه بسیار ساده با Flask

حالا که فهمیدیم Flask چیست به عنوان آشنایی بیشتر با flask بهتر است یک پروژه کوچک را با هم انجام دهیم. برای شروع یک فایل پایتون بسازید و کد زیر را داخل آن قرار دهید تا Flask و Objectهای آن به پروژه اضافه شوند.

from flask import Flask

سپس یک Object به متغیری با نام app اضافه می کنیم. در واقع هر برنامه در فلسک باید یک نمونه یا Instance ایجاد کند تا وب سرویس کلیه درخواست ها را با پروتکل WSGI به Object مورد نظر پاس بدهد.

from flask import Flask

app = Flask(__name__) #app is the name of the object here

حالا دایرکتوری اصلی (Root) خودمان را به یک تابع فراخوانی وصل می کنیم:

        from flask import Flask

        app = Flask(__name__)

        @app.route('/')
        def home():
          return "<h1> Hello World </h1>"

در خط 5 ما یک Route یا URL تعریف کرده ایم. زمانی که کاربر درخواست آن صفحه خاص را داشته باشد سرور ما تابع مربوطه را فراخوانی می کند (در این مثال home() ) در واقع یکی از مزیت های استفاده از فریم ورک را اینجا به چشم خود می بینیم، چون بدون فریم ورک همین کار ساده نیاز به کدهای بسیار بیشتر و در نتیجه صرف زمان بیشتر داشت. در آخر کد زیر را هم به پروژه خود اضافه می کنیم:

        from flask import Flask

        app = Flask(__name__)

        @app.route('/')
        def home():
          return "<h1> Hello World </h1>"

        if __name__ =="__main__":
          app.run(debug=True,port=8080)

این تکه کد آخر برنامه ما را کامل می کند. دستور آخر وب سرور را راه انداخته و برنامه ما اجرا می شود. اگر مراحل بالا را درست انجام داده باشید با چنین تصویری مواجه شده و پیغام Hello World را روی صفحه مشاهده خواهید کرد. تبریک می گویم. اولین برنامه خود را با Flask طراحی و اجرا کردید.

نتیجه گیری

در این مطلب بررسی کردیم که میکرو فریم ورک Flask چیست و چه کاربردی دارد. همینطور درباره پروژه های موفقی که با آن ساخته شده اند صحبت کردیم. در آخر هم یک تمرین کوچک انجام داده و پیغام قدیمی و معروف "سلام دنیا" را روی صفحه نمایش چاپ کردیم. فلسک با اینکه بسیار مینیمال و کوچک است اما امکانات پایه ای که یک سایت نیاز دارد را در اختیارتان قرار می دهد. این میکرو فریم ورک یک روش سریع و قابل اطمینان برای طراحی سایت با پایتون است. یادگیری آن بسیار آسان بوده و پیچیدگی بسیاری از فریم ورک ها را ندارد. اگر با این میکرو فریم ورک کار کرده اید خوشحال می شویم تجربیات خود را با ما و کاربران سون لرن به اشتراک بگذارید.

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

نظرات کاربران

اولین دیدگاه این پست رو تو بنویس !

ارسال دیدگاه
خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :

 
گزارش مشکل