ফ্লাস্ক (ওয়েব ফ্রেমওয়ার্ক)

ফ্লাস্ক হলো পাইথনে লেখা একটি মাইক্রো ওয়েব ফ্রেমওয়ার্ক । এটিকে একটি মাইক্রোফ্রেমওয়ার্ক হিসেবে শ্রেণীবদ্ধ করা হয়েছে কারণ এর জন্য নির্দিষ্ট সরঞ্জাম বা লাইব্রেরির প্রয়োজন হয় না। এতে কোন ডেটাবেজ বিমূর্তকরণ স্তর, ফর্ম যাচাইকরণ বা অন্য কোন উপাদান নেই যেখানে পূর্বে বিদ্যমান তৃতীয় পক্ষের লাইব্রেরিগুলি সাধারণ ফাংশন প্রদান করে। তবে, ফ্লাস্ক এমন এক্সটেনশনগুলিকে সমর্থন করে যা অ্যাপ্লিকেশন বৈশিষ্ট্যগুলি যুক্ত করতে পারে যেন সেগুলি ফ্লাস্কেই বাস্তবায়িত হয়েছিল। অবজেক্ট-রিলেশনাল ম্যাপার, ফর্ম ভ্যালিডেশন, আপলোড হ্যান্ডলিং, বিভিন্ন ওপেন অথেনটিকেশন প্রযুক্তি এবং বেশ কিছু সাধারণ ফ্রেমওয়ার্ক সম্পর্কিত সরঞ্জামের জন্য এক্সটেনশন বিদ্যমান।

ফ্লাস্ক ফ্রেমওয়ার্ক ব্যবহার করে এমন অ্যাপ্লিকেশনগুলির মধ্যে রয়েছে পিন্টারেস্ট এবং লিংকডইন।

ইতিহাস 
২০০৪ সালে গঠিত পাইথন উৎসাহীদের একটি আন্তর্জাতিক দল, পোকুর আরমিন রোনাচার ফ্লাস্ক তৈরি করেছিলেন। রোনাচারের মতে, ধারণাটি মূলত একটি এপ্রিল ফুলের রসিকতা ছিল যা যথেষ্ট জনপ্রিয় ছিল এবং এটি একটি গুরুতর প্রয়োগে পরিণত হয়েছিল। নামটি পূর্ববর্তী বোতল কাঠামোর উপর একটি নাটক।

২০০৪ সালে যখন রোনাচার এবং জর্জ ব্র্যান্ডল পাইথনে লেখা একটি বুলেটিন বোর্ড সিস্টেম তৈরি করেন, তখন পোকু প্রকল্প ওয়ার্কজেগ এবং জিনজা তৈরি করা হয়।

২০১৬ সালের এপ্রিল মাসে, পোকু টিম ভেঙে দেওয়া হয় এবং ফ্লাস্ক এবং সংশ্লিষ্ট লাইব্রেরির উন্নয়ন নবগঠিত প্যালেট প্রকল্পের কাছে হস্তান্তর করা হয়। ২০১৮ সাল থেকে, ফ্লাস্ক-সম্পর্কিত ডেটা এবং অবজেক্টগুলি বুটস্ট্র্যাপ দিয়ে রেন্ডার করা যেতে পারে।

পাইথন উৎসাহীদের মধ্যে ফ্লাস্ক জনপ্রিয় হয়ে উঠেছে। , পাইথন ওয়েব-ডেভেলপমেন্ট ফ্রেমওয়ার্কগুলির মধ্যে এটি গিটহাবে দ্বিতীয় সর্বাধিক সংখ্যক তারকা পেয়েছে জ্যাঙ্গোর চেয়ে সামান্য পিছনে অবস্থান করছে। এবং ২০১৮ থেকে ২০২২ সাল পর্যন্ত পাইথন ডেভেলপারস সার্ভেতে এটি সবচেয়ে জনপ্রিয় ওয়েব ফ্রেমওয়ার্ক হিসেবে নির্বাচিত হয়েছে।

কম্পোনেন্টস 
মাইক্রোফ্রেমওয়ার্ক ফ্লাস্ক প্যালেটস প্রজেক্টের (পূর্বে পোকু) অংশ এবং এটি আরও বেশ কয়েকটির উপর ভিত্তি করে তৈরি, সবই একটি বিএসডি লাইসেন্সের অধীনে মুক্ত।

ওয়ের্কজেগ 
ওয়ের্কজেগ (জার্মান ভাষায় "টুল") হল ওয়েব সার্ভার গেটওয়ে ইন্টারফেস (ডব্লিউএসজিআই) অ্যাপ্লিকেশনের জন্য পাইথন প্রোগ্রামিং ভাষার একটি ইউটিলিটি লাইব্রেরি। ওয়ের্কজেগ অনুরোধ, প্রতিক্রিয়া এবং ইউটিলিটি ফাংশনের জন্য বস্তুগুলিকে তাৎক্ষণিকভাবে উপস্থাপন করতে পারে। এটি একটি কাস্টম সফটওয়্যার ফ্রেমওয়ার্কের ভিত্তি হিসেবে ব্যবহার করা যেতে পারে এবং পাইথন ২.৭ এবং ৩.৫ এবং পরবর্তী সংস্করণগুলিকে সমর্থন করে।

জিনজা 
রোনাচারের লেখা জিনজা হলো পাইথন প্রোগ্রামিং ভাষার জন্য একটি টেমপ্লেট ইঞ্জিন । জ্যাঙ্গো ওয়েব ফ্রেমওয়ার্কের মতো এটি একটি স্যান্ডবক্সে টেমপ্লেট পরিচালনা করে।

মার্কআপসেফ 
মার্কআপসেফ হল পাইথন প্রোগ্রামিং ভাষার জন্য একটি স্ট্রিং হ্যান্ডলিং লাইব্রেরি। মার্কআপসেফ নামের এই টাইপটি পাইথন স্ট্রিং টাইপকে প্রসারিত করে এবং এর বিষয়বস্তুকে "নিরাপদ" হিসেবে চিহ্নিত করে; নিয়মিত স্ট্রিংগুলির সাথে মার্কআপসেফকে একত্রিত করলে স্বয়ংক্রিয়ভাবে অচিহ্নিত স্ট্রিংগুলি এড়িয়ে যায়, এবং ইতিমধ্যে চিহ্নিত স্ট্রিংগুলির দ্বিগুণ এড়িয়ে যাওয়া এড়ানো যায়।

ইটসডেঞ্জারাস 
ইটসডেঞ্জারাস হল পাইথন প্রোগ্রামিং ভাষার জন্য একটি নিরাপদ ডেটা সিরিয়ালাইজেশন লাইব্রেরি। এটি একটি ফ্লাস্ক অ্যাপ্লিকেশনের সেশন কুকিতে সংরক্ষণ করতে ব্যবহৃত হয়, ব্যবহারকারীদের সেশনের বিষয়বস্তুতে হস্তক্ষেপ করার অনুমতি না দিয়ে।

বৈশিষ্ট্যাবলী 

 ডেভেলপমেন্ট সার্ভার এবং ডিবাগার
 ইউনিট পরীক্ষার জন্য সমন্বিত সহায়তা
 বিশ্রামের অনুরোধ প্রেরণ
 জিনজা টেম্পলেটিং ব্যবহার করে
 নিরাপদ কুকিজের জন্য সমর্থন (ক্লায়েন্ট সাইড সেশন)
 ১০০% ডব্লিউএসজিআই ১.০ অনুগত
 ইউনিকোড-ভিত্তিক
 সম্পূর্ণ ডকুমেন্টেশন
 গুগল অ্যাপ ইঞ্জিনের সামঞ্জস্যতা
 কার্যকারিতা বাড়ানোর জন্য উপলব্ধ এক্সটেনশনগুলি

উদাহরণ 
নিচের কোডটি একটি সাধারণ ওয়েব অ্যাপ্লিকেশন দেখায় যা পরিদর্শন করার সময় "হ্যলো ওয়ার্ল্ড!" প্রদর্শন করে:from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello() -> str:
    return "Hello World"

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

আরও দেখুন 

 জ্যাঙ্গো (ওয়েব ফ্রেমওয়ার্ক)

তথ্যসূত্র

বহিঃসংযোগ 

 

পাইথন (প্রোগ্রামিং ভাষা) ওয়েব ফ্রেমওয়ার্ক
মুক্ত পাইথন সফটওয়্যার প্রোগ্রাম