وبلاگ بلیان

Practical Rust Web Projects : Building Cloud and Web-Based Applications

جلد کتاب Practical Rust Web Projects : Building Cloud and Web-Based Applications

معرفی کتاب «Practical Rust Web Projects : Building Cloud and Web-Based Applications» نوشتهٔ Annie Berthet، Catherine Hugot، Véronique Kizirian، Béatrix Sampsonis، Monique Waendendries و Shing Lyu (auth.)، منتشرشده توسط نشر Apress : Imprint: Apress در سال 2021. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.

در دنیای برنامه‌نویسی امروز، زبان راست (Rust) به دلیل کارایی و امنیت حافظه، جایگاه ویژه‌ای یافته است. کتاب «Practical Rust Web Projects» نوشتهٔ شینگ لیو، پلی است از مفاهیم پایه تا ساخت پروژه‌های واقعی و کاربردی در حوزه وب. این اثر با رویکردی گام‌به‌گام، به توسعه‌دهندگان نشان می‌دهد که چگونه می‌توانند از این زبان قدرتمند برای پیاده‌سازی طیف گسترده‌ای از برنامه‌های تحت وب و ابری بهره ببرند.

دربارهٔ کتاب — Practical Rust Web Projects

کتاب «Practical Rust Web Projects» یک راهنمای عملی برای توسعه‌دهندگانی است که دانش پایه‌ای از زبان راست دارند و می‌خواهند آن را در پروژه‌های واقعی حوزه وب به کار گیرند. این کتاب که توسط انتشارات معتبر آپرس (Apress) در سال ۲۰۲۱ منتشر شده، بر روی ساخت برنامه‌های کاربردی تحت وب و ابری متمرکز است و از وب‌سایت‌های پویا تا برنامه‌های سمت کاربر با کارایی بالا را پوشش می‌دهد. اثر حاضر که در نسخهٔ اول خود منتشر شده، محصول تجربهٔ عملی نویسنده در شرکت‌های بزرگی چون موزیلا و دازن (DAZN) است و این تجربه را در قالب شش فصل مدون در اختیار خواننده قرار می‌دهد. ساختار هر فصل از کتاب به شکلی طراحی شده که فرایند یادگیری را برای مخاطب شفاف و هدفمند کند. در ابتدای هر بخش، توضیح داده می‌شود که برنامهٔ مورد نظر چگونه کار می‌کند و الزامات آن چیست. سپس، کتاب به معرفی کتابخانه‌های مورد استفاده در زبان راست پرداخته و در ادامه، پیاده‌سازی گام‌به‌گام برنامه را همراه با ذکر مشکلات رایج و بهترین شیوه‌ها شرح می‌دهد. در انتهای هر فصل نیز مقایسه‌ای مختصر بین کتابخانه‌ها و فریم‌ورک‌های موجود در آن حوزه انجام می‌شود که به خواننده در انتخاب ابزار مناسب کمک می‌کند. عناوین فصول شامل توسعه وب‌سایت، ساخت ای‌پی‌آیهای RESTful، ارتباط بیدرنگ با وب‌سوکت، محاسبات بدون سرور و استفاده از WebAssembly برای رابط کاربری سریع است. این کتاب با حجمی معادل ۲۵۶ صفحه، منبعی فشرده و کاربردی محسوب می‌شود.

دربارهٔ نویسنده

نویسندهٔ کتاب، شینگ لیو (Shing Lyu)، یک مهندس نرم‌افزار با تجربه و از علاقه‌مندان جدی به نرم‌افزارهای متن‌باز (Open Source) است. او سابقهٔ کار حرفه‌ای بر روی زبان راست را در شرکت موزیلا دارد و بر روی موتورهای مرورگر فایرفاکس (Gecko) و سِروو (Servo) فعالیت کرده است. لیو در حال حاضر به عنوان توسعه‌دهندهٔ بک‌اند در پلتفرم پخش ورزشی دازن مشغول به کار است و تمرکز او بر روی فناوری ابری آمازون وب سرویس (AWS) و محاسبات بدون سرور است. علاوه بر سابقهٔ همکاری با برندهای مطرح جهانی نظیر اینتل و بوکینگ، او یکی از بنیان‌گذاران جامعهٔ کاربری زبان راست در تایوان است و همواره به اشتراک‌گذاری دانش خود در این حوزه علاقه‌مند بوده است.

چرا باید Practical Rust Web Projects را بخوانید؟

  • گذر از مفاهیم پایه به پروژه‌های واقعی: این کتاب صرفاً به معرفی کتابخانه‌ها نمی‌پردازد، بلکه با ارائهٔ مثال‌های عینی و پروژه‌های کامل، دانش تئوری را به مهارت عملی تبدیل می‌کند.
  • پوشش طیف وسیعی از فناوری‌های وب: از ساخت وب‌سایت‌های داینامیک با پایگاه داده گرفته تا طراحی ای‌پی‌آیهای RESTful، پیاده‌سازی سرور وب‌سوکت برای چت بیدرنگ، و کامپایل کد به WebAssembly برای برنامه‌های سمت کاربر، همگی در این کتاب پوشش داده شده‌اند.
  • آشنایی با محاسبات بدون سرور (Serverless): کتاب به طور خاص به قابلیت‌های زبان راست در پلتفرم ابری آمازون (AWS) پرداخته و مزایای استفاده از آن در معماری‌های مدرن را بررسی می‌کند.
  • یادگیری مبتنی بر بهترین شیوه‌ها: هر پروژه با ذکر مشکلات رایج و دام‌هایی که ممکن است توسعه‌دهندگان با آن مواجه شوند، همراه است و راهکارهای استاندارد و بهینه را ارائه می‌دهد.
  • مقایسهٔ ابزارهای مختلف: در پایان هر فصل، کتابخانه‌ها و فریم‌ورک‌های موجود در آن حوزه با یکدیگر مقایسه شده‌اند تا خواننده دیدی جامع نسبت به گزینه‌های پیش‌رو داشته باشد.

این کتاب برای چه کسانی مناسب است؟

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

سوالات متداول

آیا برای مطالعهٔ این کتاب به تجربهٔ قبلی در برنامه‌نویسی وب نیاز است؟

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

آیا کتاب به مباحث محاسبات ابری نیز پرداخته است؟

بله، یکی از بخش‌های مهم کتاب به محاسبات بدون سرور (Serverless) و استفاده از قابلیت‌های زبان راست در بستر آمازون وب سرویس اختصاص دارد. نویسنده با سابقهٔ کار خود در دازن، تجربیات عملی خود را در این حوزه به اشتراک گذاشته است.

آیا پس از مطالعهٔ کتاب می‌توانم پروژه‌های واقعی را با راست شروع کنم؟

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

Go beyond the basics of Rust and build web and serverless cloud applications. The applications explained in this practical book include web sites, RESTful APIs, a real-time web chat application, and frontend application with WebAssembly. Each chapter is organized in the following format: what this kind of application looks like; requirements for the example program; an introduction to the Rust libraries used; step-by-step implementation of the example program, including common pitfalls and best practices; and a brief comparison of libraries and frameworks in the same domain. This book will open your eyes to the world of practical web applications of Rust. After reading the book, you will be able to apply your Rust knowledge to build your own web projects. What You Will Learn Build dynamic websites with databases Build RESTful APIs Write a WebSocket server that can power a real-time chat app in Rust Discover the benefits of serverless computing using Amazon Web Service's Rust support Compile Rust to WebAssembly for high-performance frontend applications Who This Book Is For A reader with basic Rust knowledge, wishing to learn more about how to apply Rust in a real-world scenario. A developer who is evaluating the possibility to build their next project in Rust. Table of Contents About the Author About the Technical Reviewer Chapter 1: Rust in the Web World Who Is This Book For? Who Is This Book Not For? Criteria for Selecting Libraries Pure-Rust Maturity Popularity How To Use This Book Chapter Overview Source Code Chapter 2: Developing Websites What Are You Building? Hello World! Serving Static Files Rendering Dynamic Templates Using a Database Adding Cats with a Form Showing the Cat Detail Page Other Alternatives Chapter 3: REST APIs What Are You Building? Converting the Cats List to a REST API API Testing Building the Cat Detail API Input Validation Error Handling Using a ResponseBuilder or Response Using the actix web::error Helpers Using a Generic Error That Implemented the ResponseError Trait Using a Custom-Built Error Type Customize the web::Path Extractor Error Logging Enabling HTTPS Other Alternatives Chapter 4: Chatting in Real-Time with WebSocket Introduction to WebSocket What Are You Building? A WebSocket Echo Server Pushing Notifications from the Server Cleaning Up Unresponsive Clients Two-Way Chat Sending Structural JSON Data Other Alternatives Chapter 5: Going Serverless What Are You Building? Registering an AWS Account Hello World in Lambda Making a REST API with Lambda Using the Serverless Framework Building the /cats API Building the Upload API Uploading the Image Using S3 Presigned URL Adding the Frontend Other Alternatives Chapter 6: High-Performance Web Frontend Using WebAssembly What Is WebAssembly? What Are You Building? Hello WebAssembly! Setting Up the Development Environment Creating the Project Creating the Frontend Resizing Images with WebAssembly Loading an Image File Onto the Passing the Image to Wasm Writing the Whole Frontend in Rust Setting Up Yew A Hello World Example Reimplement the Image-Processing Frontend with Yew Other Alternatives Index
دانلود کتاب Practical Rust Web Projects : Building Cloud and Web-Based Applications