کتاب جنگو برای APIها
معرفی کتاب جنگو برای APIها
کتاب جنگو برای APIها (ساخت APIهای وب با پایتون و جنگو) نوشتهٔ ویلیام اس. وینسنت و ترجمهٔ یوسف عباس نژادورزی و مجید رهی و سعید عباس نژادورزی است و انتشارات فناوری نوین آن را منتشر کرده است.
درباره کتاب جنگو برای APIها
در این کتاب، شما یاد خواهید گرفت که چگونه با استفاده از فریم ورک جنگو و فریمورک REST جنگو چندین وب API با پیچیدگیهای متفاوت را ایجاد کنید. جنگو یک فریم ورک محبوب مبتنی بر پایتون است که بخشهای پیچیدهٔ ایجاد یک وبسایت ازجمله احراز هویت کاربر، اتصال به پایگاه داده، منطق، امنیت و غیره را شامل میشود. همچنین هزاران بستهٔ شخص ثالث وجود دارند که قابلیتهایی را به خود جنگو اضافه میکنند، مهمترین آنها فریمورک REST جنگو است که به برنامهنویسان این امکان را میدهد که هر پروژهٔ جنگو موجود را به یک وب API قدرتمند تبدیل کنند.
شرکتهای فناوری بزرگی مانند اینستاگرام، موزیلا و پینترست از جنگو و فریمورک REST جنگو استفاده میکنند. به خاطر اینکه رویکرد batteries included جنگو بخشهای زیربنایی پنهان را پوشش میدهد و توسعه سریع و امن را امکانپذیر میکند، این فریماه همچنین برای مبتدیان یا پروژههایی کوچک مناسب هستند. با مطالعه این کتاب، شما قادر خواهید بود تا با استفاده از کمترین حجم کد و در زمان بسیار کمتر، وب APIهایی آمادهبهکار را ایجاد کنید.
چرا از وب APIها استفاده میشود؟
API (Application Programming Interface) یک راه کوتاه برای توصیف نحوه ارتباط مستقیم دو رایانه با یکدیگر است. برای APIهای وب که در وب جهانی وجود دارند، الگوی معماری غالب REST (REpresentational State Transfer) شناختهشده است و در این کتاب بهدرستی پوشش داده خواهد شد.
در سال ۲۰۰۵، هنگامیکه جنگو برای اولین بار منتشر شد، بیشتر وبسایتها یک کد حجیم یکپارچه داشتند. پشتیبانی از مدلهای پایگاه داده، دیدها و URLها با قالبهای پیشخوان (فرانتاند) ترکیب میشدند تا لایه ارائه هر صفحه وب را کنترل کنند.
اما این روزها برای وبسایتها بسیار رایجتر شده است که رویکرد API-First را اتخاذ کنند تا پسخوان (back-end) را از پیشخوان (front-end) جدا کنند. این موضوع به وبسایت امکان میدهد تا از فریمورک پیشخوان JavaScript اختصاصی مانند React یا Vue استفاده کند که به ترتیب در سالهای ۲۰۱۳ و ۲۰۱۴ منتشر شدند.
وقتی فریمورکهای جدید جای فریمورکهای فعلی را در آینده به خود اختصاص میدهند، API پشتیبانی شده باقی میماند و نیازی به بازنویسی اساسی و از ابتدای آنها نیست. یکی دیگر از مزایای عمده، این است که یک API میتواند چندین پیشخوان (فرانتاند) را که با زبانها و فریمورکهای مختلف نوشتهشدهاند، پشتیبانی کند. برای مثال، جاوا اسکریپت برای پیشخوان (فرانتاند)های وب استفاده میشود، درحالیکه اپلیکیشنهای اندروید به زبان جاوا و اپلیکیشنهای iOS به زبان Swift نوشته میشوند. با رویکرد سنتی مونولیتیک، یک وبسایت جنگو قادر به پشتیبانی از این (فرانتاند)های مختلف نیست. اما با یک API داخلی، همه آنها میتوانند با پایگاه داده مشترک پشتیبانی کنند!
وبسایتهای در حال رشد همچنین میتوانند از ایجاد یک API خارجی بهرهمند شوند که به توسعهدهندگان شخص ثالث اجازه میدهد اپلیکیشنهای iOS یا Android خود را بسازند.
عیب اصلی رویکرد API-first این است که نسبت به یک اپلیکیشن جنگو سنتی، نیاز به پیکربندی بیشتری دارد. بااینحال، همانطور که در این کتاب خواهیم دید، کتابخانه فوقالعاده فریمورک REST جنگو بسیاری از این پیچیدگیها را برای ما حذف میکند.
فریمورک REST جنگو
هزاران اپلیکیشن شخص ثالث در دسترس هستند که عملکردها و قابلیتهای بیشتری را به جنگو اضافه میکنند. شما میتوانید یک لیست کامل و قابل جستجو را در سایت جنگو Packagesمشاهده کنید، همچنین لیستی منتخب را در ریپوی awesome-django مشاهده کنید. بااینحال، در میان تمام اپلیکیشنهای شخص ثالث، میتوان گفت فریمورک REST جنگو برای جنگو بهترین اپلیکیشن است. این فریمورک کامل، دارای ویژگیهای بسیار، قابل سفارشیسازی، قابل تست و با مستندات بسیار خوب و مناسب است. همچنین بهطور هدفمند بسیاری از مفاهیم سنتی جنگو را تقلید میکند که یادگیری آن را بسیار سریعتر میکند. اگر شما از قبل جنگو را بلد باشید، یادگیری فریمورک REST جنگو گام منطقی بعدی است.
پیشنیازها
اگر در توسعه وب با جنگو تازهکار هستید، توصیه میکنیم ابتدا کتاب قبلی من Django for Beginners (جنگو برای مبتدیان) را بخوانید. چند فصل اول این کتاب بهصورت رایگان در اینترنت در دسترس است و شامل مباحثی مانند راهاندازی مناسب، اپلیکیشن Hello World، اپلیکیشن Pages و اپلیکیشن Message Board است. نسخه کامل این کتاب عمیقتر میشود و یک وبسایت وبلاگ را با فرمها و حسابهای کاربری و همچنین یک سایت روزنامه آماده محیط تولید را پوشش میدهد که دارای یک مدل کاربر سفارشی، جریان احراز هویت کامل کاربر، ایمیلها، مجوزها، استقرار، متغیرهای محیطی و موارد دیگر است.
این پیشینه در جنگو سنتی، مهم است به خاطر اینکه فریمورک REST جنگو عمداً بسیاری از مفاهیم جنگو سنتی را تقلید میکند. همچنین، توصیه میشود که خوانندگان دانش پایهای و اولیه در زمینه پایتون را داشته باشند. بهطورکلی، فراگیری کامل پایتون چندین سال زمان میبرد، اما با یک دانش کم میتوانید مستقیماً شروع به ساخت مدلها کنید.
چرا این کتاب؟
این کتاب نوشته شده، زیرا بهنوعی، برای توسعهدهندگانی که بهتازگی با فریمورک REST جنگو آشنا شدهاند، منابع مناسبی وجود ندارد. به نظر میرسد فرض بر این است که همه از قبل همهچیز را در مورد رابط برنامهنویسی اپلیکیشن (API)ها، HTTP، REST و موارد مشابه میدانند.
فصل اول به نصب پایتون، جنگو، Git و کار با خط فرمان میپردازد. فصل دوم، یک مقدمهای برای رابط برنامهنویسی اپلیکیشن (API) و پروتکل HTTP ارائه میدهد. در فصلهای ۳ و ۴، ما با ساختن یک وبسایت کتابخانه با جنگو سنتی، آن را به یک API تبدیل کرده، تست میکنیم و سپس آن را بهصورت آنلاین به کار میبریم. در فصل ۵، یک API Todo با نقاط پایانی لیست و جزئیات را ساخته، تست کرده و آن را به کار میبریم. این فصل همچنین شامل CORS (اشتراک منابع بین سایتهای مختلف یا Cross Origin Resource Sharing) است.
فصل ۶، شروع ساخت یک API وبلاگی آمادهبهکار (محصول) با یک مدل کاربری سفارشی و قابلیت CRUD (ایجاد-خواندن-بهروزرسانی-حذف) کامل است. فصل ۷، بهدرستی به محدود کردن دسترسی و ایجاد یک کلاس دسترسی سفارشی میپردازد. در فصل هشتم، تمرکز به احراز هویت کاربر و چهار روش داخلی احراز هویت میپردازد. سپس به اضافه کردن نقاط پایانی ثبتنام کاربر، ورود، خروج، بازنشانی کلمه عبور و تأیید بازنشانی کلمه عبور میپردازیم. در فصل نهم به viewsetها و مسیریابها پرداخته میشود که اجزای داخلی هستند که میتوانند حجم کد نویسی موردنیاز برای نقاط پایانی API استاندارد را بهشدت کاهش دهند. فصل دهم شما (schema) و مستندات را پوشش میدهد و فصل یازدهم بهصورت گامبهگام در مورد استقرار محصول میپردازد.
کدهای منبع کامل برای همه فصلها این کتاب بهصورت آنلاین در Github موجود است.
درواقع جنگو و فریمورک REST جنگو یک راه قدرتمند و دسترس برای ساخت APIهای وب هستند. در پایان این کتاب شما قادر خواهید بود API را به هر پروژه جنگویی موجود اضافه کنید یا با استفاده از بهترین شیوههای مدرن، یک API وب اختصاصی از صفر ایجاد کنید.
خواندن کتاب جنگو برای APIها را به چه کسانی پیشنهاد میکنیم
این کتاب را به فعالان حوزهٔ پایتون و جنگو پیشنهاد میکنیم.
حجم
۸٫۵ مگابایت
سال انتشار
۱۴۰۲
تعداد صفحهها
۱۸۱ صفحه
حجم
۸٫۵ مگابایت
سال انتشار
۱۴۰۲
تعداد صفحهها
۱۸۱ صفحه