1. مقدمه

‫Backendpy یک چارچوب آزاد و متن‌باز برای ساخت پروژه‌های تحت وب با زبان برنامه‌نویسی پایتون است.‬

1.1. ‫چرا Backendpy؟‬

‫این چارچوب نه آزادی توسعه‌دهندگان را با مقید کردن آن‌ها به ساختارهای ازپیش‌تعیین‌شده سلب می‌کند و نه برخی کارهای تکراری و زمان‌بر را بر عهده‌ی توسعه‌دهنده می‌گذارد.‬

‫برخی از ویژگی‌های Backendpy عبارت‌اند از:‬

  • ‫برنامه‌نویسی ناهمگام (پروژه‌های مبتنی بر ASGI)‬

  • ‫معماری اپلیکیشن‌محور و قابلیت نصب آسان اپلیکیشن‌های ثالث توسط ابزار pip و فعال‌سازی آن‌ها در پروژه‬

  • ‫پشتیبانی از انواع مختلف Middlewareها مختص لایه‌های Request، Handler، Application یا Response‬

  • ‫پشتیبانی از Eventها و Hookها‬

  • ‫کلاس‌های Data Handler‌، شامل اعتبارسنج‌ها و فیلترها برای اعمال خودکار روی داده‌های ورودی Requestها‬

  • ‫پشتیبانی از انواع Responseها شامل JSON، HTML، File و … با تنظیمات مختلف از قبیل stream، gzip و …‬

  • ‫Router با قابلیت تعریف Urlها به‌صورت Decorator پایتونی و یا به‌صورت فایل‌های مجزا (برحسب سلیقه‌ی توسعه‌دهنده)‬

  • ‫کدهای خطای مختص هر اپلیکیشن‬

  • ‫لایه‌ی Database پیش‌فرض (اختیاری) Async توسط Sqlalchemy ORM و سیستم پایگاه‌داده‌ی Postgresql با مدیریت بهینه‌ی Sessionها برای محدوده‌ی هر Request‬

  • ‫لایه‌ی Templaing پیش‌فرض (اختیاری) توسط Jinja template engine‬

1.2. ‫پروانه‬

‫چارچوب Backendpy به‌صورت متن‌باز و با مجوز آزاد BSD 3-Clause منتشر شده است. کد منبع این چارچوب در آدرس https://github.com/savangco/backendpy در دسترس قرار گرفته است.‬

توجه

‫این پروژه در حال توسعه است.‬