ഫ്ലാസ്ക് (വെബ് ചട്ടക്കൂട്)

പൈത്തൺ പ്രോഗ്രാമിംഗ് ഭാഷയിൽ എഴുതിയിരിക്കുന്ന മൈക്രോ വെബ് ചട്ടക്കൂടാണ് ഫ്ലാസ്ക്. പ്രത്യേകിച്ച് അധിക ടൂളുകളോ ലൈബ്രറികളോ ആവശ്യമില്ലാത്തതിനാലാണ് ഇത് മൈക്രേ ഫ്രൈംവർക്ക് എന്ന് അറിയപ്പെടുന്നത്. (bottom.py പോലെയുള്ള ചില സ്റ്റാന്റേഡ് ലൈബ്രറികൾ ആവശ്യമാണ്). ഇതിന് ഡാറ്റാബേസ് അബ്സ്ട്രാക്ഷൻ ലെയർ, ഫോം വാലിഡേഷൻ തുടങ്ങിയ ഒന്നും ഇല്ല. അത്തരത്തിലുള്ള കാര്യങ്ങൾക്ക് തേർഡ്പാർട്ടി ലൈബ്രറികളാണ് ഉപയോഗിക്കുന്നത്. ഫ്ലാസ്ക് എക്സ്റ്റൻഷനുകൾ പിന്തുണയ്ക്കുന്നുണ്ട്. അതുപയോഗിച്ച് ആപ്ലികേഷൻ ഫീച്ചറുകൾ ചേർക്കാനാകും. ഒബ്ജക്ട് റിലേഷണൽ മാപ്പുകൾ, ഫോം വാലിഡേഷൻ, അപ്ലോഡ് കൈകാര്യം ചെയ്യൽ, ചില ഓപൺ ഓതന്റിക്കേഷൻ സാങ്കേതികവിദ്യ തുടങ്ങിയ ചില സാധാരണ ആവശ്യങ്ങൾക്കുള്ള ചട്ടക്കൂട് ഉപകരണങ്ങൾ ഇത്തരത്തിലുള്ള എക്സ്റ്റൻഷനുകളിൽ ലഭ്യമാണ്. കോർ ഫ്ലാസ്കിനേക്കാൾ എക്സ്റ്റൻഷനുകളാണ് കൂടുതൽ സ്ഥിരമായി പുതുക്കപ്പെടുന്നത്. ഫ്ലാസ്ക് പൊതുവേ മോംഗോഡിബിയാണ് ഉപയോഗിക്കുന്നത്. ഡാറ്റാബേസിലും ഹിസ്റ്ററിയിലും കൂടുതൽ നിയന്ത്രണം നൽകുന്നത് അതാണ്.  

ഫ്ലാസ്ക് ഫ്രേം വർക്ക് ഉപയോഗിക്കുന്ന ആപ്ലിക്കേഷൻിൽ പെടുന്നതാണ് പിൻട്രെസ്റ്റ്, ലിങ്ക്ഡ് ഇൻ, ഫ്ലാസ്കിന്റെ തന്നെ കമ്യൂണിറ്റി വെബ് പേജ് തുടങ്ങിയവ.

 ചരിത്രം 
2004 ൽ രൂപം കൊണ്ട ഒരു അന്താരാഷ്ട്ര പൈത്തൺ ഉപഭോക്താക്കളുടെ സംഘമായ ആർമിൻ റൊണാക്കർ ഓഫ് പോക്കോ ആണ് ഫ്ലാസ്ക് സൃഷ്ടിച്ചത്.   റോണാചർ പറയുന്നതനുസരിച്ച് ഏപ്രിൽ ഫൂൾ തമാശയായാണ് തുടങ്ങിയതെങ്കിലും പിന്നീട് ഒരു ആപ്ലികേഷൻ ലെവലിലേക്ക് ഉയരുകയായിരുന്നു.    

റൊണേച്ചറും ജോർജ് ബ്രാന്റിലും പൈത്തണിൽ എഴുതിയ ഒറു ബുള്ളറ്റിൻ ബോർഡ് സിസ്റ്റം നിർമിച്ചപ്പോൾ പോകോ പ്രോജെക്റ്റ്സ് വെർക്സ്യൂജും ജിൻജയും നിർമ്മിക്കപ്പെട്ടു. 

 ഘടകങ്ങൾ 
മൈക്രോഫ്രേം വർക്കായ ഫ്ലാസ്ക് പോകോ പ്രോജക്ടിന്റെ വെർക്സ്യൂജും ജിൻജ2 വും അടിസ്ഥാനപ്പെടുത്തിയുള്ളതാണ്.

 വെർക്സ്യൂജ്

പൈത്തൺ പ്രോഗ്രാമിങ് ഭാഷയ്ക്കുള്ള ഒരു യൂട്ടിലിറ്റി ലൈബ്രറിയാണ് Werkzeug, അല്ലെങ്കിൽ വെബ് സെർവർ ഗേറ്റ് വേ ഇന്റർഫേസ് (WSGI) ആപ്ലിക്കേഷനുകൾക്കുള്ള ടൂൾകിറ്റ്, ഇത് BSD ലൈസൻസിനു കീഴിലാണ് ലൈസൻസ് ചെയ്തിരിക്കുന്നത്. വെർക്സ്യൂജിന് റിക്വസ്റ്റ്, റെസ്പോൺസ് മറ്റു ഫംഗ്ഷനുകൾ എന്നിവ കൈകാര്യം ചെയ്യാൻ കഴിയും. ഇത് ഒരു കസ്റ്റം സോഫ്റ്റ്‍വെയർ ഫ്രേംവർക്ക് അതിന് മുകളിൽ നിർമ്മിക്കാൻ ഉപയോഗിക്കുന്നു. പൈത്തൺ 2.6,2.7,3.3 എന്നീ വെർഷനുകൾ പിന്തുണയ്ക്കുന്നു. 

 ജിൻജ

ജിൻജയും റൊണാച്ചർ നിർമിച്ചതാണ്. പൈത്തൺ പ്രോഗ്രാമിംഗ് ഭാഷയ്ക്കുള്ള ഒരു ടെംപ്ലേറ്റ് എഞ്ചിനാണ് ഇത്. ബിഎസ്ഡി ലൈസൻസിൽ പ്രസിദ്ധീകരിച്ചിരിക്കുന്നു. ജാങ്കോ ഫ്രേം വർക്ക് പോലെ ഇത് ടെംപ്ലേറ്റുകളെ ഒരു സാന്റ്ബോക്സിൽ ആണ് വിലയിരുത്തുന്നത്.

 സവിശേഷതകൾ 
 ഡവലപ്പ്മെന്റ് സെർവറും ഡീബഗ്ഗറും ഉൾപ്പെടുന്നു 
 യൂണിറ്റ് പരിശോധനയ്ക്കായി സംയോജിത പിന്തുണ 
 സമാധാനപരമായ റിക്വസ്റ്റ് ഡിസ്പാച്ചിംഗ് 
 Jinja2 ടെംപ്ലേറ്റിംഗ് ഉപയോഗിക്കുന്നു 
 സുരക്ഷിത കുക്കികൾക്കുള്ള പിന്തുണ (ക്ലയന്റ് സൈഡ് സെഷനുകൾ) 
 100% WSGI 1.0 അനുകൂലിക്കുന്നു 
 യൂണിക്കോഡ് അടിസ്ഥാനമാക്കിയുള്ളതാണ് 
 വിപുലമായ ഡോക്യുമെന്റേഷൻ 
 Google അപ്ലിക്കേഷൻ എഞ്ചിൻ അനുയോജ്യത 
 ആവശ്യമുള്ള ഫീച്ചറുകൾ മെച്ചപ്പെടുത്താൻ വിപുലീകരണങ്ങൾ ലഭ്യമാണ് 

 ഉദാഹരണം 
" ഹലോ വേൾഡ് !" എന്ന് പ്രിന്റ് ചെയ്യുന്ന ഒരു ലളിതമായ വെബ് ആപ്ലിക്കേഷന്റെ കോഡ് കാണാം. from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()ഇത് കൂടി കാണുക

 അവലംബങ്ങൾ 

വർഗ്ഗം:Pages with unreviewed translations