فلَسک (به انگلیسی: Flask) عنوان یک چارچوب وب ساده و سبک و در عین حال قدرتمند برای زبان برنامه‌نویسی پایتون است.[۲] فلسک عموماً به عنوان یک ریزچارچوب شناخته می‌شود؛ به این معنی که خصوصیاتی نظیر نگاشت شیء-رابطه‌ای، اعتبارسنجی فرم‌ها و دیگر ویژگی‌هایی که در چارچوب‌های بزرگ‌تر مانند جنگو یافت می‌شوند را ندارد؛[۳] اما در عوض دستِ توسعه‌دهنده را برای اعمال پیاده‌سازی مورد نظرش کاملاً باز می‌گذارد و در کنار آن امکان گسترش به وسیلهٔ تعداد زیادی افزونه‌های طرف سوم را داراست.[۴]

فلسک
توسعه‌دهنده(ها)آرمین روناچر
انتشار ابتدایی۱ آوریل ۲۰۱۰؛ ۱۴ سال پیش (۲۰۱۰-۰۱}})
انتشار پایدار
۲.۰.۳
۱۴ فوریه ۲۰۲۲؛ ۲ سال پیش (۲۰۲۲-14}})[۱]
مخزن
نوشته‌شده باپایتون
سیستم‌عاملچندسکویی
گونهچارچوب نرم‌افزاری تحت وب
پروانهبی‌اس‌دی
وبگاه

مقایسه با فریمورک جنگو ویرایش

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

فریمورک فلسک برای توسعه بک‌اندهای ساده مناسب می‌باشد، درصورتی که فریمورک جنگو در پروژه‌هایی همچون اینستاگرام و یوتیوب به کار رفته است.

تاریخچه ویرایش

فلسک توسط آرمین روناچر از گروه pocoo، یک گروه بین‌المللی از علاقمندان به پایتون که در سال ۲۰۰۴ تشکیل شد، ساخته شده است.[۵] به گفته روانچار، ایدهٔ پروژه از یک دروغ آوریل بود که آنقدر طرفدار داشت که آن را به یک پروژه واقعی تبدیل کند.[۶][۷][۸]

زمانی که روانچار و جورج برندل با پایتون یک انجمن گفت‌وگو ایجاد کردند، پروژه‌های pocoo شامل جعبه‌ابزار (به انگلیسی: werkzeug) و جینجا (به انگلیسی: jinja) ساخته شدند.[۹] فلسک میان علاقمندان به پایتون، محبوب شده است. تا ژانویه ۲۰۲۰ در گیت‌هاب بیشتر از هر چارچوب پایتونی دیگری ستاره دارد[۱۰] و به عنوان محبوب‌ترین چارچوب وب پایتون در نظر سنجی سال ۲۰۱۸ برنامه نویسان پایتون[۱۱] که توسط شرکت جت‌برینز انجام شده‌ بود، انتخاب شد.

ویژگی‌ها ویرایش

برخی ویژگی‌ها و کارکردهای فلسک عبارتند از:[۱۲]

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

مثال ویرایش

برنامهٔ «سلام، دنیا!» در فلسک:[۱۳]

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

جستارهای وابسته ویرایش

پانویس ویرایش

  1. flask.palletsprojects.com/en/2.0.x/changes/#version-2-0-3
  2. Hauck, Instant Data Intensive Apps with Pandas How-To, 86.
  3. Zlobin, Learning Python Design Patterns, 33.
  4. Grinberg, Flask Web Development: Developing Web Applications with Python.
  5. «Pocoo Team — Pocoo». web.archive.org. ۲۰۱۸-۰۳-۱۵. بایگانی‌شده از اصلی در ۱۵ مارس ۲۰۱۸. دریافت‌شده در ۲۰۲۰-۰۴-۰۷.
  6. «Wayback Machine» (PDF). web.archive.org. ۲۰۱۶-۰۶-۰۴. بایگانی‌شده از اصلی (PDF) در ۴ ژوئن ۲۰۱۶. دریافت‌شده در ۲۰۲۰-۰۴-۰۷.
  7. «April 1st Post Mortem | Armin Ronacher's Thoughts and Writings». web.archive.org. ۲۰۱۸-۰۵-۱۴. بایگانی‌شده از اصلی در ۱۴ مه ۲۰۱۸. دریافت‌شده در ۲۰۲۰-۰۴-۰۷.
  8. «DENIED». web.archive.org. ۲۰۱۱-۰۹-۰۴. بایگانی‌شده از اصلی در ۴ سپتامبر ۲۰۱۱. دریافت‌شده در ۲۰۲۰-۰۴-۰۷.
  9. «History — Pocoo». web.archive.org. ۲۰۱۷-۱۱-۱۹. بایگانی‌شده از اصلی در ۱۹ نوامبر ۲۰۱۷. دریافت‌شده در ۲۰۲۰-۰۴-۰۷.
  10. "پروژه‌های پایتونی بر اساس ستاره". GitHub (به انگلیسی). Retrieved 2020-04-07.
  11. "Python Developers Survey 2018 Results". JetBrains (به انگلیسی). Retrieved 2020-04-07.
  12. Cunningham, Python in 24 Hours, Sams Teach Yourself, 224.
  13. Quickstart.

منابع ویرایش