از دلایل محبوبیت پایتون داشتن فریم ورک ها است،پایتون فریم ورک های زیادی دارد، فریم ورک ها کمک می کنند که با سرعت بیشتری کدها را بنویسید،و همچنین پایتون یک زبان برنامهنویسی داینامیک و چندمنظوره است و بر روی بسیاری از پلتفرمها مثل ویندوز، مک و لینوکس قابل دستیابی است. تعداد زیادی از فریمورکهای پایتون موجود هستند که در ابتدا به ارائه ی چهارچوبها و پس از آن فریم ورکها را بررسی می کنیم.زبان برنامه نویسی پایتون یکی از زبانهای سمت سرور است که می توانید در سایت زبانهای دیگر سمت سرور را مطالعه کنید.
انواع چهارچوب های پایتون:
1-چارچوب Full-Stack :
این چارچوب یک یک راه حل یکپارچه برای همه نیازهای توسعه دهندگان هستند. ژنراتورهای فرم، اعتبارسنجی فرم و طرح بندی قالبها معمولاً با یک چارچوب معمولی تمام پشته در دسترس هستند که شامل:
1- Python 2- C++ 3- HTML 4- CSS 5- Java Script 6- PHP 7- Oracle 8- Ruby 9- MangoDB 10- ReactJS 11- Node.JS 12- My SQL 13- Angular 14- SQL
2- میکروفرم ورک:
این نوع فریمورک ها ، فریمورک های نسبتا سبکی هستند که امکانات اضافی ارائه نمیدهند مانند : لایه ی انتزاعی پایگاه داده ،اعتبار سنجی فرم ها و بعضی ابزارها و کتابخانه های خاص دیگر . برنامه نویسی که با فریمورک های Microframework کار میکند باید افزودنی های جانبی را بعدا خودش دستی به پروژه اضافه کند همچنین نیاز کدنویسی کمی بیشتر است
۳- چارچوب ناهمزمان (asynchronous):
چارچوب ناهمزمان برای نظارت بر عملیات طولانی مدت با بازگشت به روز رسانی وضعیت به عنوان رویداد استفاده می شود. چارچوب ناهمزمان نه تنها توانایی نظارت بر این عملیات را در اختیار شما قرار می دهد ، بلکه می توانید از آن برای لغو آنها نیز استفاده کنید. با توجه به محبوبیت اخیر، هر چارچوب ناهمزمان یک میکروفریمورک است که امکان مدیریت مجموعه وسیعی از اتصالات همزمان را فراهم میکند. معمولا، چارچوبهای ناهمزمان ساخته شده برای پایتون از کتابخانه asyncio زبان برنامه نویسی استفاده میکنند.
انواع فریم ورک پایتون:
1- Django (جنگو):
فریم ورک Django (جنگو)، توسط Django Software Foundation توسعه پیدا کرده است و یک فریم ورک کامل برای پایتون است.امروزه، یکی از مزیت های یادگیری python ، توانایی استفاده از Django است. ساخت برنامه های وب تا به حال اینقدر لذت بخش نبوده است.آینده نگری در زمینه طراحی و کاربری آسان باعث شده محبوبیت این برنامه هر روز بیشتر از دیروز باشد. Django یک فریم ورک سطح بالا برای زبان برنامه نویسی Python است. فریم ورک، جعبه ابزاری از Component هاست که برنامه های تحت وب به آنها نیاز دارند. هدف این است که برنامه نویس ها به جای نوشتن کد های تکراری برای کار های تکراری، روی قسمت هایی از پروژه هایشان کار کنند که مخصوص همان پروژه است. در حقیقت، فریم ورک Django نسبت به سایر فریم ورک های موجود ویژگی های بیشتری دارد. این فریم ورک، خیلی از دردسرهای کدنویسی را حل کرده است. به علاوه، فریم ورک Django به شما کمک می کند تا کلاس های کد ها و دامنه تان را مدل سازی کرده و قبل از این که متوجه شوید، یک ORM داشته باشید.
2- CherryPy (چری پای)
چری پای یک فرم ورک پایتون برای طراحی و ساخت وبسایت های داینامیک هست. مزیت چری پای این است که تا جایی که امکان دارد از امکانات پایتون استفاده می کند و به همین دلیل یادگیری آن تقریبا آسان است.اگر تمایل به برنامه نویسی شی گرا دارید پس بهتر است از این فریم ورک پایتون استفاده کنید.این فریم ورک در هر سیستم عاملی که از پایتون پشتیبانی می کند مانند ویندوز، لینوکس و مک قابل استفاده است و از پروتکل های HTTP استفاده میکند. داشتن ابزارهایی برای احراز هویت کاربران، سیستم ذخیره داده ها (Caching)، پلاگینها و پیکربندی منعطف از دیگر قابلیتهای این فریم ورک است. همچنین در فریم ورک TurboGears از چری پای به عنوان یکی از کامپوننت های اصلی استفاده شده است.
3- (Bottle ) باتل:
یکی دیگر از فریم ورک ها که از محبوبیت زیادی برخوردار است و برای توسعه ی اپلیکیشن های کوچک بکار برده می شود فریم ورک باتل است.فریم ورک باتل یک فایل منبع واحدی برای هر کاربرد که با استفاده از آن ایجاد میشود، می سازد. این فریم ورک یکی از بهترین فریم ورک های تحت وب است که در ابتدا برای ساخت API ها توسعه یافت.به غیر از کتابخانه استاندارد پایتون، باتل هیچ وابستگی ضروری برای استفاده از برنامههای کاربردی وب کوچک ندارد. یکی از مهمترین مزایای استفاده از باتل این است که به توسعه دهندگان اجازه میدهد تا به سختافزار رابطه راحت تری داشته باشند.
4- Pyramid (پیرامید):
یکی دیگر از فریم ورک های پایتون که از احراز هویت و مسیریابی را پشتیبانی می کند پیرامید است.این فریم ورک برای برنامه های بزرگ تر و پیچیده تر طراحی شده است. به همین دلیل ابزا Bootstrapping در آن قرار داده شده است. هم چنین این فریم ورک دارای تمپلیت های نمونه و فایل هایی برای جمع بندی برنامه و ارسال آن به Python Package Index میباشد.
5- Falcon (فالکن):
فریم ورک فالکون، یکی از فریم ورک های رده بالای زبان PHP می باشد که به لطف معماری MVC از یکپارچگی بسیار خوبی برخوردار است. نسخه آلفای این فریم ورک در سال 2012 منتشر شد که از آن زمان همیشه به صورت Open-Source در اختیار برنامه نویسان قرار گرفته است، در اصل فریم ورک فالکن یک افزونه زبان برنامه نویسی C می باشد که برای یادگیری آن نیازی به یادگیری زبان C ندارید به گونه ای که آشنایی با زبان PHP برایتان کافیست. فالکن یک چارچوب وب پایتون قابل اعتماد میباشد و با کارایی بالای خود برای ایجاد نسخههای پشتیبان و سرویسهای برنامه کاملا مناسب است.
6-Gork(گروک):
این فریم ورک نیز برای مبتدیان و توسعه دهندگان وب بسیار با تجربه طراحی شده است. و بسیار آسان و قدرتمند است. گروک با استفاده از Zope Toolkit (ZTK)، مجموعه ای از کتابخانه های شی گرا و پیشرفته که برای استفاده مجدد توسط چارچوب های وب در نظر گرفته شده است، این کار را انجام میدهد. در حالی که گروک از ZTK استفاده میکند و از آن سود زیادی میبرد، میتوانید بدون هیچ دانش خاصی از ZTK با گروک شروع کنید.
7- Flask (فلسک):
فلسک یک فریم ورک برای زبان پایتون (Python) است که ابزار، کتابخانه ها و تکنولوژی های مورد نیاز برای توسعه صفحات وب را در اختیار برنامه نویسان قرار می دهد. در حقیقت Flask یکی از بهترین میکرو فریم ورک های موجود تلقی می شود چرا که وابستگی کمتری به ابزار و کتابخانه های بیرونی دارد. کار با فلسک به قدری ساده می باشد که اگر کمی با زبان پایتون آشنا باشید با دیدن اولین کدهای flask با ساختار این فریمورک آشنا میشوید. فریمورک flask با همهی سادگی خود بسیار قدرتمند و کارا می باشد. کوچک بودن فریمورک با ضعیف بودن آن برابر نیست و امکانات فریمورکهایی مثل جنگو و ریلز را با اندکی جستجو به دست میدهد.از آنجایی که این فریم ورک بسیار سبک به شمار می رود، باگ های امنیتی در آن به شدت کاهش یافته است ولی در عوض برنامه نویس باید برای رفع محدودیت های آن از پلاگین های مختلفی استفاده کند که یک نکته منفی برای فریم ورک Flask محسوب می شود.
8- Web2Py
web2py به عنوان یک فریم ورک وب رایگان، منبع باز برای توسعهAGILEتعریف شده است. web2py شامل تمام اجزای ضروری است که یک توسعه دهنده نیاز به ساخت یک برنامه وب کاملا کاربردی دارد. منبع اصلی در سال 2007 توسط ماسیمو دیپیرو منتشر شد. در آن زمان، به عنوان Enterprise Web Framework شناخته شد. با توجه به اختلافات در نامگذاری، نام چندین بار تغییر کرده و در نهایت web2py در نسخه 1.16 انتخاب شد. این فریمورک Open Source و دارای قابلیت ویرایش و خطایابی است. داشتن امنیت بالا و معماری MVC برنامهنویسان را برای استفاده از این فریمورک ترغیب میکند.
9– TurboGears:
فریم ورکی است که با کسب تجربه از فریم ورک های جنگو، روبی آن ریلز و … طراحی گشته که با استفاده از آن در کوتاه ترین زمان ممکن میتوان یک وب اپلیکیشن طراحی کرد. توربوگیرز پاسخی به تمام توسعه دهندگانی است که از محدودیتهای فریم ورک های زبانهای برنامه نویسی مختلف خسته شده و به دنبال راهکاری اثربخش و در عین حال ساده می گردند.
TurboGears بیانگر همکاری هم افزا برای فنآوریهای چند منظوره مبتنی بر وب است. این فریم ورک مجموعه کاملی از ابزارها را برای توسعه برنامههای کاربردی مبتنی بر داده، توسعهپذیر در عرض چند دقیقه فراهم میکند TurboGears بر روی بسیاری از کتابخانهها و میان افزار متنوع و متنوع ساخته شدهاست. ابزارهای پیشفرض بین ۱. x و ۲. سریهای x، ولی بسیاری از آنها در هر کدام به صورت پیکربندیهای متناوب پشتیبانی میشوند.
10– BlueBream:
BlueBream یک فریمورک کوچک و متن باز پایتونی است که براساس لایسنس Zope Public License منتشر شده است. استفاده از این فریمورک برای اپلیکیشنهای حد میانی میتواند انتخاب خوبی باشد چرا که از طرفی لایسنس آن تا حدی محدودکننده است اما میتواند برای کارهای عادی استفاده شود. از آنجایی که این فریمورک براساس Zope Toolkit ساخته شده سازگاری بالایی با دیگر ابزارهای این سری برای مثال ZODB دارد.
11-Matplotlib :
این یک کتابخانه نقشه کشی برای پایتون است و با API شی گرا موجود که امکان جاسازی plots در برنامه را فراهم می کند. این کتابخانه همچنین از ساخت نمودار 2d با یک اسکریپت پایتون پشتیبانی می کند. این همانند ابزار GUI با هدف کلی است که بیشتر مجموعه ای از plots و نمودارها از جمله هیستوگرام ، طیف نیرو ، نمودار نوار ، نمودار خطا و غیره را پشتیبانی می کند. این کتابخانه دارای یک ماژول به نام Pyplot است که با طرح ریزی ساده با صفاتی مانند استایل های رنگی ، خصوصیات قلم ، قالب بندی محورها ساده تر می کند.
12- Giotto:
فریم ورک Giotto فریم ورکی مبتنی بر معماری MVC و از نوع Full-stack است که از کدهای خلاصه نیز پشتیبانی می کند و به توسعه گران کمک می کند که با استفاده از کنترل گرهای چندگانه آن، به صورت مستقل به طراحی و توسعه اپلیکیشن بپردازند.
13- Dash:
Dash یک میکروفریم ورک است و یکی دیگر از فریم ورک های پایتون محسوب میشود که برای توسعه اپلیکیشنهای تحلیلی طراحی و برپایه Flask طراحی شده است. همچنین برای کار کردن با آن، نیاز به دانش فنی ندارید.
ویژگیهای Dash
- قابلیت تولید محتوای Html
- پشتیبانی از افزونه
- قابلیت شخصیسازی
- رابط کاربری ساده
14- Cubic web
چهاردهمین مورد از فریم ورک های پایتون Cubic web میباشد و یک فریمورک open source و رایگان میباشد. به توسعهدهندگان، امکان استفاده مجدد از کامپوننتها را می دهد تا بتوانند با اصول طراحی شی گرا برنامههای تحت وب کارآمد بسازند.
15- Hug
رابط برنامه نویسی اپلیکیشن یا همان API هایی که با میکروفریم ورک Hug توسعه داده می شود را می توانید در هر جایی مورد استفاده قرار دهید.
مزایا :
- قابلیت Write-once, Use-Anywhere
- مجهز به Version Management داخلی
- پشتیبانی از مستندسازی اتوماتیک (Automatic Documentation)
- مجهز به اعتبار سنجی Annotation Driven
16- Sanic
این فریم ورک Async به صورت منبع باز برای پایتون 3.6 به بالا مورد استفاده قرار می گیرد. این فریم ورک به صورت اختصاصی برای پاسخ پرسرعت به درخواست های HTTP طراحی شده است.
مزایا :
- قابلیت خواندن و نوشتن کوکی ها
- انواع مختلف Logging
- نمای Class-Based
- پشتیبانی از توابع Decorators
- پشتیبانی از پلاگین
- دارای بلوپرینت هایی برای Sub Routing درون برنامه ای
- دارای اشیای کانفیگ (Configuration Object) طبقه بندی شده
17- Pylons:
Pylons یک فریمورک توسعه وب opensource است که بسیار انعطافپذیر میباشد و ایدهها و پروژههای بزرگی را هدایت میکند که بر تکنولوژی توسعه وب مدرن تمرکز دارند. همچنین دارای دیباگر آنلاین است که به شما کمک میکند تا خطاها را به آسانی پیدا کنید. به طور کلی فریمورک خوبی است و اگر با django آشنایی دارید روند یادگیری آن حتی برایتان آسانتر می شود.
18- NAGARE
Nagare فریمورک توسعه وب opensource بر اساس ادامه ترکیبات stackless python است که به ما در بهبود درخواست اتصال HTTP کمک میکند. برنامهای که با استفاده از Nagare توسعه داده میشود همانند برنامه دسکتاپ است.
19- Reahl:
Reahl یک فریم ورک وب با ویژگیهای کامل است که به طور کامل با پایتون توسعه یافته است و اسکریپتهای شلوغ و به هم ریخته ای پیرامون آن وجود ندارد و فاقد تمام تکنولوژیهای سنگین وب HTML، CSS، Javascript است. یادگیری آن در مقایسه با سایر فریمورکهای وب بسیار آسان است.
20- Growler
در بین فریم ورک های پایتون به فریمورک Growler، فریمورک غیر همزمان Growler نیز گفته می شود که در طبق کتابخانه asyncio و Node.js نوشته و طراحی شده است
21– Quixote
فریمورک Quixote به عنوان یک میکرو فریمورک با قابلیت انعطاف پذیری و عملکرد پرقدرت در بین برنامه نویسان شناخته شده است. این فریمورک امکاناتی همچون تکنیک های کلاسیک برنامه نویسی را در اختیار توسعه دهندگان قرار می دهد.
دیدگاهتان را بنویسید