معرفی

اگر این صفحه رو میبینی یعنی تصمیم گرفتی که FastAPI رو یاد بگیری! ما در این دوره تمامی موارد لازم برای اینکه شما به یک توسعه دهنده FastAPI بدل بشید رو آماده کردیم و موضوعات رو قدم به قدم و از سطوح پایین شروع و به سمت سطوح پیشرفته جلو بردیم. از اونجائیکه دوره رویکرد پروژه محوری داره توصیه میشه که هیچ قسمتی رو از دست ندید تا هم به نتیجه مطوب برسید و هم پیوستگی مطالب براتون حفظ بشه.

پیش نیازها

این دوره برای FastAPI 0.95.2 و Python 3.11 تدوین شده و همه نمونه کد های موجود در دوره با این نسخه ها قابل اجرا هستند. احتمالا الان که شما دارید این دوره رو مطالعه میکنید نسخه های جدیدتری از FastAPI و پایتون در دسترس باشن اما از اونجایی که هر دو تکنولوژی تا به امروز بخوبی درس پس دادن و به اصطلاح بالغ هستند، هر مشکلی که در آینده ممکنه رخ بده تا حدود بسیار زیادی جزئی و به راحتی قابل حل خواهد بود.


البته با عرضه ی نسخه ی 1 FastAPI احتمالا این دوره به یک بروزرسانی اساسی نیاز داشته باشه ولی احتمال این مسئله نسبتا پایینه.


درکل برای تکمیل این دوره شما به پیشینه خاصی در توسعه وب نیاز ندارید. بلکه این دوره از قصد به نحوی نگارش شده که حتی یک توسعه دهنده کاملا مبتدی بتونه آموزش ها رو به راحتی دنبال کنه و حس بینظیر نوشتن وب اَپلیکیشن های خودشو تجربه کنه.

در مورد FastAPI

این فریم ورک یک وِب فریمورک رایگان و اُپن سورس هستش که بر پایه زبان پایتون و با در نظر گرفتن استاندارد OpenAPI نوشته شده. FastAPI به خوبی تونسته توی مدت کوتاهی

چرا باید FastAPI رو یاد بگیریم؟

یک "وب فریمورک" مجموعه ای از ابزار هایی هست که عمده ی سختی ها و DRY رو در توسعه وب تا حدود زیادی کاهش میده و حلشون میکنه. برای مثال، اکثر وب سایتها به یک ساختار پایه ای یکسانی نیاز دارند که بتونه: به یک دیتابیس متصل بشه، URL ها رو تعیین کنه، محتوا رو روی یک صفحه نشون بده، به مسائل امنیتی بخوبی رسیدگی کنه و ... . حالا به جای اینکه بخواییم همه این موارد رو از صفر دوباره ایجاد کنیم، در طی سالیان برنامه نویس ها وِب فریمورک هایی رو در همه زبان های برنامه نویسی بزرگ ایجاد کردند: مثل FastAPI در زبان Python یا Rails در زبان Ruby و یا Laravel در زبان PHP که در کنار بسیاری دیگه از فریمورک ها و زبان های برنامه نویسی دیگه میشه بهشون اشاره کرد.

اما چیزی که FastAPI رو متمایز میکنه سرعت و کاراییه اونه که میتونه حتی سریع تر از Node.js و GoLang عمل کنه و یکی از سریع ترین و کم دردسر ترین ابزار توسعه ی میکروسرویس ممکن باشه. از طرف دیگه مسئله Type Safety (یعنی مشخص بودن نوع درخواست ها و پاسخ ها) که به شکل soft و از طریق arrow function های پایتون و Typing برای FastAPI تعبیه شده باعث میشه بتونیم برنامه های ایمن تری با FastAPI بنویسم و از فصل 13 به بعد این Type Safety رو با بکارگیری Pydantic به شکل Hard تغییر میدیم و امنیت المان هامون رو افزایش میدیم. همچنین ORM مرسوم که SQLAlchemy هست رو هم در فصل 14 کنار میگذاریم و سراغ بهترین گزینه ی موجود یعنی piccolo میریم.

بعد از این دوره نه تنها کاملا به FastAPI مسلط خواهید شد، بلکه به برنامه نویس پایتون بهتری هم تبدیل میشید!