به Comprehensive Rust خوش آمدید 🦀
این یک دوره رایگان Rust است که توسط تیم اندروید در گوگل توسعه یافته است. این این دوره طیف کاملای از Rust را پوشش میدهد, از مباحث پایه تا مباحث پیشرفته مانند جنریک و مدیریت خطاها.
آخرین نسخه از دوره را میتوان در https://google.github.io/comprehensive-rust/ پیدا کنید. اگر از جای دیگری میخوانید, لطفا برای بروز رسانیها منبع اصلی را نیز بررسی کنید.
این دوره به زبان های دیگر موجود است. زبان مورد نظر خود را در گوشه سمت راست بالای صفحه انتخاب کنید یا صفحه ترجمهها را برای فهرستی از تمام ترجمههای موجود را بررسی کنید.
این دوره نیز به عنوان یک PDF در دسترس است.
هدف از این دوره آموزش Rust به شماست. ما فرض می کنیم شما چیزی از درباره Rust نمی دانید :
- درک جامعی از syntax و زبان Rust به شما می دهد.
- شما را قادر می سازد تا برنامه های موجود را تغییر دهید و برنامه های جدید را در Rust بنویسید.
- اصطلاحات رایج Rust را به شما یاد می دهد.
ما چهار روز اول دوره را اصول Rust می نامیم.
با تکیه بر این، از شما دعوت می شود تا به یک یا چند موضوع تخصصی بپردازید:
- Android: یک دوره نیم روزه استفاده از Rust برای توسعه پلت فرم اندروید (AOSP). این شامل قابلیت همکاری با C، C ++و Java است.
- Chromium: یک دوره نیم روزه در مورد استفاده از Rust در مرورگرهای مبتنی بر Chromium. این شامل قابلیت همکاری با C ++ و نحوه قرار دادن جعبه های(crates) شخص ثالث در کروم است.
- Bare-metal: یک کلاس تمام روز در مورد استفاده از Rust برای توسعهbare-metal (تعریف شده). هم میکروکنترلرها و هم پردازنده های برنامه پوشش داده شده اند.
- همروندی: یک کلاس یک روزه در مورد concurrency در زبان Rust است. ما هر دو مورد concurrency کلاسیک (زمانبندی preemptively با استفاده از threadها و mutexها ) و async/await concurrency (multitasking مشارکتی) با استفاده از futures را پوشش خواهیم داد.
اهداف خارج از این دوره
زبان Rust, یک زبان بزرگ است و ما نمیتوانیم طی چند روز همه موارد را پوشش دهیم.چندتا از اهداف خارج از این دوره عبارتند از:
- برای آموزش چگونهگی توسعه Macro ها: لطفا Chapter 19.5 in the Rust Book و Rust by Example را برسی کنید.
فرض میشود
این دوره فرض میکند که شما دانش برنامهنویسی دارید. Rust یک زبان استاتیک تایپ است و ما گاهی اوقات زبان Rust را با C و C++ مقایسه می کنیم تا رویکردهای Rust را بهتر توضیح دهیم.
اگر میدانید چگونه به زبانی با دینامیک تایپ مانند پایتون یا جاوا اسکریپت برنامهنویسی کنید میتوانید به خوبی این روش را دنبال کنید.
این یک نمونه از speaker note هست. ما از اینها استفاده خواهیم کرد تا تا اطلاعات بیشتری را ارائه دهیم.. این مورد میتواند شامل نکات کلیدی باشد که مدرس باید آن را پوشش دهد و همچنین پاسخ به سوالات رایجی که در کلاس مطرح می شود.