۳۰ کتابخانه پایتون برای توسعه وب – بخش دوم

ترجمه و تالیف : ارسطو عباسی
تاریخ انتشار : 07 فروردین 99
خواندن در 4 دقیقه
دسته بندی ها : پایتون

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

11. Tornado

نوع: فریمورک Asynchronous

Tornado یک وب فریمورک متن باز و non-blocking است که براساس کتابخانه asyncio ساخته شده است. این فریمورک منحصرا برای ایجاد اپلیکیشن‌های مقیاس‌پذیر با قابلیت مدیریت پردازش‌های غیرهم‌زمان ساخته شده است.

از آنجایی که این فریمورک می‌تواند به خوبی شبکه I/O به صورت non-blocking را ایجاد کند می‌تواند برای WebSocketها، long polling و وب اپلیکیشن‌هایی که برای هر کاربر نیاز به داشتن یک ارتباط زنده طولانی هستند مناسب باشد.

Tornado همراه با یک سرور HTTP داخلی نیز عرضه می‌شود که به فریمورک این قابلیت را می‌دهد تا بتواند سرور توسعه راه‌اندازی کرده و اپلیکیشن را اجرا کند. در نهایت می‌توان گفت که برای استفاده‌های هم‌زمان و پردازش‌های همرو این فریمورک انتخاب بسیار خوبی می‌تواند باشد.

از ویژگی‌های کلی این فریمورک می‌توان به Non-blocking بودن، داشتن سرویس‌های بلادرنگ، کارایی با کیفیت بالا، پشتیبانی از قابلیت‌های احراز هویت و محلی‌سازی و کیفیت خروجی بالا اشاره کرد.

13. TurboGears

نوع: فریمورک فول-استک

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

معماری اصلی فریمورک براساس MVC یا همان Model-View-Controller پیش می‌رود با این حال می‌توان گفت که به منظور پیاده‌سازی اهداف گفته شده، این معماری مفاهیم دیگری را نیز در بر دارد. جدای از این، در این فریمورک می‌توانید شاهد یک ORM و Ajax نیز باشید.

از ویژگی‌های کلی این فریمورک می‌توان به معماری MVC، داشتن تمپلیت‌های PasteScript، پشتیبانی از دیتابیس‌های متعدد، دکوراتورهای مختلف و پشتیبانی از Pylon اشاره کرد.

13. Web2Py

نوع: فریمورک فول-استک

Web2Py یکی دیگر از فریمورک‌های فول-استک و متن باز پایتونی است که علاقه‌مندان بسیار زیادی نیز دارد. این فریمورک مقیاس‌پذیر بوده و همراه با IDE منحصر به‌فرد خود عرضه می‌شود. در این IDE می‌توانید عملیات‌های دیباگینگ، تستینگ، دیپلوی و… را به سرعت و به سادگی انجام دهید.

معماری این فریمورک نیز مانند موارد قبلی همان MVC بوده و همچنین در این فریمورک می‌توانید شاهد کامپوننت‌های داخلی برای مدیریت درخواست‌های HTTP، کوکی‌ها، تعاملات و… باشید.

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

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

از ویژگی‌های کلی این فریمورک می‌توان به سازگاری بالا، معماری MVC، پشتیبانی از محلی‌سازی، فرایند نصب و پیاده‌سازی آسان، داشتن عناصر داخلی مانند مدیریت درخواست‌های HTTP، کوکی و...، ارتباط گیری مؤثر با دیتابیس‌های مختلف و... اشاره کرد.

14. Grok

نوع: فریمورک فول-استک

Grok براساس Zope Toolkit طراحی شده است. با در نظر گرفتن این‌که در چنین ساختاری توسعه‌دهندگان، پروتکل را بر پیکربندی ترجیح می‌دهند و قواعد DRY را پیش می‌برند، می‌توانند فرایند توسعه بسیار سریعی داشته باشند. Grok متن باز بوده و در عین حال سرعت بسیار بالایی در امر توسعه وب دارد.

در این فریمورک می‌توانید شاهد کتابخانه‌ها و ابزارهای مستقل خود فریمورک بوده و همچنین از یک رابط کاربری بهره‌مند شوید. این مورد را البته می‌توانید در فریمورک‌های Pylons و TurboGears نیز مشاهده کنید. 

از ویژگی‌های کلی این فریمورک می‌توان به سرعت بالا در امر توسعه وب، پشتیبانی از توسعه اپلیکیشن‌های سفارشی، داشتن ابزارهای مستقل و هسته در حال تکامل اشاره کرد.

15. Growler

نوع: فریمورک Asynchronous

این فریمورک پایتونی با الهام از نودجی‌اس و فریمورک اکسپرس/کانکت ساخته شده است. از آنجایی که این فریمورک در دسته‌بندی فریمورک‌های Asynchronous قرار گرفته می‌توان پیش‌بینی کرد که برای ساخته شدن این فریمورک از کتابخانه asyncio استفاده شده است. 

یکی از تفاوت‌های شاخص این فریمورک با دیگر فریمورک‌های پایتونی آن است که در این فریمورک درخواست‌ها در داخل خود فریمورک مدیریت نمی‌شوند بلکه این کار توسط یک تکنولوژی Middleware صورت می‌گیرد. 

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

از ویژگی‌های کلی این فریمورک می‌توان به وجود دکوراتورهای مختلف، پشتیبانی از پکیج‌های متن‌باز، قرار دادن اپلیکیشن در یک فایل اجرایی تنها، جریان توسعه آسان و... اشاره کرد.

16. BlueBream

نوع: میکروفریمورک

BlueBream یک فریمورک کوچک و متن باز پایتونی است که براساس لایسنس Zope Public License منتشر شده است. استفاده از این فریمورک برای اپلیکیشن‌های حد میانی می‌تواند انتخاب خوبی باشد چرا که از طرفی لایسنس آن تا حدی محدودکننده است اما می‌تواند برای کارهای عادی استفاده شود. 

از آنجایی که این فریمورک براساس Zope Toolkit ساخته شده سازگاری بالایی با دیگر ابزارهای این سری برای مثال ZODB دارد. 

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

17. Falcon

نوع: میکروفریمورک

Falcon یکی از فریمورک‌هایی‌ست که به توانایی بالا در ساخت وب APIها معروف است. در دنیای فریمورک‌های پایتون می‌توان گفت که Falcon یکی از شناخته شده‌ترین موارد برای ایجاد HTTP API یا REST API است که در حال حاضر مورد استفاده بسیاری از شرکت‌ها و توسعه‌دهندگان قرار می‌گیرد. 

Falcon طراحی تمیز‌تری را نسبت به دیگر فریمورک‌ها برای ایجاد وب ای‌پی‌آی فراهم می‌کند. از همین منظر می‌توان گفت که فرایند توسعه بک-اند با استفاده از این مورد بسیار سریع‌تر انجام می‌شود. 

Falcon از کتابخانه WSGI برای ایجاد و مدیریت سرویس‌ها استفاده می‌کند. از طرفی دیگر فالکون نشان داده که در طی این سال‌ها به خوبی می‌تواند درخواست‌های مختلفی را به صورت هم‌زمان مدیریت کرده و بنچمارک خوبی داشته باشد. 

از شرکت‌های معتبری که از فالکون استفاده می‌کنند می‌توان به Linkedin، RackSpace و OpenStack اشاره کرد. 

از ویژگی‌های کلی این فریمورک می‌توان به بهینه بودن کدها، پردازش درخواست‌ها، پشتیبانی از Cython، طراحی تمیز، پشتیبانی از PyPy و... اشاره کرد.

18. AIOHTTP

نوع: فریمورک Asynchronous

AIOHTTP یک فریمورک غیرهم‌زمان پایتونی است که از ویژگی‌های پایتون ۳.۵ به بالا استفاده می‌کند. برای پیاده‌سازی حالت async/await در این فریمورک نیز می‌توانید شاهد استفاده از کتابخانه asyncio باشم.

در کنار آن‌که این فریمورک می‌تواند به عنوان یک فریمورک برای وب سرور عمل کند می‌تواند برای کلاینت نیز استفاده شود. در این فریمورک برای آن‌که کوئری‌ها و درخواست‌ها به اجرا در بیایند یک شئ request و یک router در نظر گرفته شده که فرایند اجرای موارد گفته شده را آسان‌تر می‌کند. با داشتن توانایی در امر پشتیبانی از Middleware و signalها این فریمورک می‌تواند وب اپلیکشن‌های توانمندی را ایجاد کند. 

از ویژگی‌های کلی این فریمورک می‌توان به توانایی بالا در امر ایجاد Viewها، پشتیبانی از Signals، روتینگ با قابلیت پلاگین‌پذیری، پشتیبانی از Middleware و... اشاره کرد.

19. MorePath

نوع: میکروفریمورک

MorePath با عنوان «وب فریمورک فوق العاده پایتون» شناخته می‌شود و صادقانه باید گفت که به همین شکل نیز هست. هدف این فریمورک آن است که با کم‌ترین تلاش بیشترین بهره‌وری را داشته باشد. فرایند نصب و پیاده‌سازی این فریمورک بسیار ساده بوده و روال کار با آن نیز پیچیده نیست. می‌توان برای ساخت وب‌سرویس‌های مبتنی بر REST به خوبی از این فریمورک استفاده کرد.

این فریمورک به شدت منعطف بوده و می‌تواند به سادگی به شما در ایجاد مدل‌های داده‌ای و… کمک کند.

از ویژگی‌های کلی این فریمورک می‌توان به داشتن Generic View، توانایی در توسعه RESTful API، مجوز‌های منعطف و... اشاره کرد.

20. Pycnic

نوع: میکروفریمورک

Pycnic یکی دیگر از میکروفریمورک‌های پایتونی است که به صورت کامل از قواعد برنامه‌نویسی شئ‌گرا پیروی می‌کند. براساس آمار، این مورد سریع‌ترین فریمورک برای ایجاد APIهای مبتنی بر JSON است. 

Pycnic بسیار کوچک بوده و به صورت منحصر به فرد برای توسعه و طراحی وب ای‌پی‌آی‌ها توسعه یافته است. 

از ویژگی‌های کلی این فریمورک می‌توان به مدیریت داخلی خطاها، پشتیبانی از توسعه APIهای مبتنی بر JSON، پشتیبانی از کوکی‌ها و مدیریت Routing اشاره کرد.

در پایان

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

منبع

گردآوری و تالیف ارسطو عباسی
آفلاین
user-avatar

من ارسطو‌ام :) کافی نیست؟! :)

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر لازم است ابتدا وارد سایت شوید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید