|
|
3 weeks ago | |
|---|---|---|
| .. | ||
| 1-getting-started-lessons | 3 weeks ago | |
| 2-js-basics | 3 weeks ago | |
| 3-terrarium | 3 weeks ago | |
| 4-typing-game | 3 weeks ago | |
| 5-browser-extension | 3 weeks ago | |
| 6-space-game | 3 weeks ago | |
| 7-bank-project | 3 weeks ago | |
| 8-code-editor/1-using-a-code-editor | 3 weeks ago | |
| 9-chat-project | 3 weeks ago | |
| 10-ai-framework-project | 3 weeks ago | |
| Git-Basics | 4 months ago | |
| docs | 5 months ago | |
| lesson-template | 5 months ago | |
| memory-game | 4 months ago | |
| quiz-app | 5 months ago | |
| AGENTS.md | 4 months ago | |
| CODE_OF_CONDUCT.md | 5 months ago | |
| CONTRIBUTING.md | 5 months ago | |
| README.md | 3 weeks ago | |
| SECURITY.md | 5 months ago | |
| SUPPORT.md | 5 months ago | |
| _404.md | 5 months ago | |
| for-teachers.md | 3 weeks ago | |
README.md
توسعه وب برای مبتدیان - یک برنامه آموزشی
اصول توسعه وب را با دوره جامع ۱۲ هفتهای ما توسط مدافعان ابر مایکروسافت بیاموزید. هر یک از ۲۴ درس به صورت عملی به جاوااسکریپت، CSS و HTML میپردازد، از طریق پروژههایی مانند تراریومها، افزونههای مرورگر و بازیهای فضایی. در آزمونها، بحثها و تکالیف عملی شرکت کنید. مهارتهای خود را بهبود دهید و حفظ دانش خود را با روش تدریس مبتنی بر پروژه ما بهینه کنید. امروز سفر کدنویسی خود را شروع کنید!
به جامعه دیسکورد Azure AI Foundry بپیوندید
برای شروع استفاده از این منابع، این مراحل را دنبال کنید:
- انشعاب گرفتن از مخزن: کلیک کنید
- کلون کردن مخزن:
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git - به دیسکورد Azure AI Foundry بپیوندید و با کارشناسان و توسعهدهندگان همصنف ملاقات کنید
🌐 پشتیبانی چند زبانه
پشتیبانی شده توسط GitHub Action (خودکار و همیشه بهروز)
Arabic | Bengali | Bulgarian | Burmese (Myanmar) | Chinese (Simplified) | Chinese (Traditional, Hong Kong) | Chinese (Traditional, Macau) | Chinese (Traditional, Taiwan) | Croatian | Czech | Danish | Dutch | Estonian | Finnish | French | German | Greek | Hebrew | Hindi | Hungarian | Indonesian | Italian | Japanese | Kannada | Korean | Lithuanian | Malay | Malayalam | Marathi | Nepali | Nigerian Pidgin | Norwegian | Persian (Farsi) | Polish | Portuguese (Brazil) | Portuguese (Portugal) | Punjabi (Gurmukhi) | Romanian | Russian | Serbian (Cyrillic) | Slovak | Slovenian | Spanish | Swahili | Swedish | Tagalog (Filipino) | Tamil | Telugu | Thai | Turkish | Ukrainian | Urdu | Vietnamese
ترجیح میدهید به صورت محلی کلون کنید؟
این مخزن شامل بیش از ۵۰ ترجمه زبان است که حجم دانلود را به طور قابل توجهی افزایش میدهد. برای کلون کردن بدون ترجمهها، از sparse checkout استفاده کنید:
git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git cd Web-Dev-For-Beginners git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'این به شما همه چیز لازم برای تکمیل دوره را با سرعت دانلود بسیار بیشتر میدهد.
اگر مایل هستید زبانهای ترجمه اضافی پشتیبانی شوند، لیست آنها در اینجا موجود است
🧑🎓 آیا دانشجو هستید؟
به صفحه مرکز دانشجویان مراجعه کنید که در آن منابع برای مبتدیان، بستههای دانشجویی و حتی راههایی برای دریافت کوپن گواهی رایگان را خواهید یافت. این صفحهای است که باید نشانک بزنید و گهگاه بررسی کنید چون ما هر ماه محتوای آن را بهروزرسانی میکنیم.
📣 اطلاعیه - چالشهای حالت GitHub Copilot Agent جدید برای تکمیل!
چالش جدید اضافه شده، به دنبال "GitHub Copilot Agent Challenge 🚀" در اکثر فصلها بگردید. این یک چالش جدید است برای اینکه با استفاده از GitHub Copilot و حالت Agent آن را کامل کنید. اگر قبلاً از حالت Agent استفاده نکردهاید، این حالت قادر است فقط متن تولید نکند بلکه میتواند فایلها را ایجاد و ویرایش کند، دستور اجرا کند و بیشتر.
📣 اطلاعیه - پروژه جدیدی برای ساخت با استفاده از هوش مصنوعی مولد
پروژه دستیار هوش مصنوعی جدید اضافه شده است، آن را بررسی کنید پروژه
📣 اطلاعیه - برنامه درسی جدید در زمینه هوش مصنوعی مولد برای جاوااسکریپت تازه منتشر شد
دوره جدید هوش مصنوعی مولد ما را از دست ندهید!
برای شروع به https://aka.ms/genai-js-course مراجعه کنید!
- درسهایی که از اصول پایه تا RAG را پوشش میدهد.
- تعامل با شخصیتهای تاریخی با استفاده از GenAI و اپلیکیشن همراه ما.
- روایت سرگرمکننده و جذاب، شما را در سفر در زمان میبرد!
هر درس شامل یک تکلیف برای تکمیل، یک آزمون دانش و یک چالش برای راهنمایی شما در مباحث مانند:
- دستور دادن و مهندسی دستور
- تولید اپلیکیشنهای متنی و تصویری
- اپلیکیشنهای جستجو
برای شروع به https://aka.ms/genai-js-course مراجعه کنید!
🌱 شروع به کار
معلمان، ما چند پیشنهاد درباره نحوه استفاده از این برنامه درسی قرار دادهایم. مشتاقانه منتظر دریافت بازخورد شما در انجمن بحث ما هستیم!
یادگیرندگان، برای هر درس، با یک آزمون قبل از کلاس شروع کنید و سپس مطالب درس را خوانده، فعالیتهای مختلف را انجام دهید و با آزمون پس از کلاس درک خود را بسنجید.
برای بهبود تجربه یادگیری خود، با همسالانتان برای کار روی پروژهها به صورت گروهی ارتباط برقرار کنید! بحثها در انجمن بحث ما تشویق میشود و تیم ناظران ما برای پاسخ به سوالات شما در دسترس خواهند بود.
برای تعمیق آموزش خود، بهشدت توصیه میکنیم Microsoft Learn را برای مواد مطالعاتی بیشتر بررسی کنید.
📋 راهاندازی محیط کاری شما
این برنامه آموزشی یک محیط توسعه آماده دارد! وقتی شروع میکنید، میتوانید Curriculum را در یک Codespace (یک محیط مبتنی بر مرورگر بدون نیاز به نصب) یا به صورت محلی روی رایانه خود با استفاده از یک ویرایشگر متن مانند Visual Studio Code اجرا کنید.
ساخت مخزن خود
برای اینکه کارهای خود را به آسانی ذخیره کنید، توصیه میشود یک نسخه کپی از این مخزن ایجاد کنید. این کار را میتوانید با کلیک روی دکمه Use this template در بالای صفحه انجام دهید. این یک مخزن جدید در حساب GitHub شما ایجاد میکند که نسخهای از برنامه آموزشی دارد.
این مراحل را دنبال کنید:
- انشعاب گرفتن از مخزن: روی دکمه "Fork" در گوشه بالا سمت راست این صفحه کلیک کنید.
- کلون کردن مخزن:
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
اجرای برنامه در یک Codespace
در نسخهای که از این مخزن ساختهاید، دکمه Code را بزنید و گزینه Open with Codespaces را انتخاب کنید. این یک Codespace جدید برای کار کردن شما ایجاد میکند.
اجرای برنامه به صورت محلی روی رایانه شما
برای اجرای این برنامه به صورت محلی روی رایانه خود، به یک ویرایشگر متن، مرورگر و ابزار خط فرمان نیاز دارید. اولین درس ما، مقدمهای بر زبانها و ابزارهای برنامهنویسی، شما را در انتخاب گزینههای مختلف هر یک از این ابزارها راهنمایی میکند.
توصیه ما استفاده از Visual Studio Code به عنوان ویرایشگر است که یک ترمینال داخلی نیز دارد. میتوانید Visual Studio Code را از اینجا دانلود کنید.
-
مخزن خود را به رایانهتان کلون کنید. این کار را میتوانید با کلیک روی دکمه Code و کپی کردن آدرس URL انجام دهید:
CodeSpace سپس، در داخل ترمینال در ویژوال استودیو کد باز کنید و فرمان زیر را اجرا کنید، جایگزین کردن
<your-repository-url>با URL که همین الان کپی کردید:git clone <your-repository-url>
۲. پوشه را در ویژوال استودیو کد باز کنید. این کار را میتوانید از طریق کلیک کردن روی File > Open Folder و انتخاب پوشهای که همین الآن کلون کردهاید انجام دهید.
افزونههای پیشنهادی ویژوال استودیو کد:
- Live Server - برای پیشنمایش صفحات HTML در داخل ویژوال استودیو کد
- Copilot - برای کمک به شما در نوشتن سریعتر کد
📂 هر درس شامل:
- اسکتچنوت اختیاری
- ویدئوی مکمل اختیاری
- آزمون گرمکننده قبل از درس
- درس مکتوب
- برای درسهای مبتنی بر پروژه، راهنمای گامبهگام ساخت پروژه
- بررسیهای دانش
- یک چالش
- مطالعه مکمل
- تکلیف
- آزمون پس از درس
نکتهای درباره آزمونها: همه آزمونها در پوشه Quiz-app قرار دارند، مجموعاً ۴۸ آزمون که هر کدام شامل سه سوال هستند. آنها در اینجا قرار دارند. برنامه آزمون میتواند به صورت محلی اجرا شده یا روی Azure مستقر شود؛ دستورالعملها را در پوشه
quiz-appدنبال کنید.
🗃️ دروس
| نام پروژه | مفاهیم آموزش داده شده | اهداف یادگیری | درس مرتبط | نویسنده | |
|---|---|---|---|---|---|
| ۰۱ | شروع کار | معرفی برنامهنویسی و ابزارهای حرفهای | یادگیری مبانی پایه اکثر زبانهای برنامهنویسی و نرمافزارهایی که به توسعهدهندگان حرفهای کمک میکند | معرفی زبانها و ابزارها | Jasmine |
| ۰۲ | شروع کار | مبانی GitHub، شامل کار تیمی | نحوه استفاده از GitHub در پروژه و چگونگی همکاری با دیگران روی کدها | معرفی GitHub | Floor |
| ۰۳ | شروع کار | دسترسیپذیری | یادگیری مبانی دسترسیپذیری وب | مبانی دسترسیپذیری | Christopher |
| ۰۴ | مبانی JS | انواع دادهها در جاوااسکریپت | مبانی انواع داده در جاوااسکریپت | انواع داده | Jasmine |
| ۰۵ | مبانی JS | توابع و روشها | یادگیری در مورد توابع و روشها برای مدیریت جریان منطق برنامه | توابع و روشها | Jasmine and Christopher |
| ۰۶ | مبانی JS | تصمیمگیری با JS | یادگیری نحوه ایجاد شرطها در کد با استفاده از روشهای تصمیمگیری | تصمیمگیری | Jasmine |
| ۰۷ | مبانی JS | آرایهها و حلقهها | کار با دادهها با استفاده از آرایهها و حلقهها در جاوااسکریپت | آرایهها و حلقهها | Jasmine |
| ۰۸ | تراریوم | تمرین HTML | ساخت HTML برای ایجاد تراریوم آنلاین، با تمرکز بر طراحی یک چیدمان | معرفی HTML | Jen |
| ۰۹ | تراریوم | تمرین CSS | ساخت CSS برای استایلدهی تراریوم آنلاین، با تمرکز بر مبانی CSS و نحوه ریسپانسیو کردن صفحه | معرفی CSS | Jen |
| ۱۰ | تراریوم | بستههای جاوااسکریپت، دستکاری DOM | ساخت جاوااسکریپت برای تعامل تراریوم به عنوان یک رابط کشیدن و رها کردن، تمرکز بر بستهها و دستکاری DOM | بستهها و دستکاری DOM | Jen |
| ۱۱ | بازی تایپینگ | ساخت بازی تایپینگ | یادگیری استفاده از رویدادهای صفحهکلید برای هدایت منطق برنامه جاوااسکریپتی | برنامهنویسی مبتنی بر رویداد | Christopher |
| ۱۲ | افزونه مرورگر سبز | کار با مرورگرها | یادگیری نحوه کار مرورگرها، تاریخچه آنها، و ساختار اولیه عناصر افزونه مرورگر | درباره مرورگرها | Jen |
| ۱۳ | افزونه مرورگر سبز | ساخت فرم، فراخوانی API و ذخیره متغیرها در حافظه محلی | ساخت عناصر جاوااسکریپت افزونه مرورگر برای فراخوانی API با استفاده از متغیرهای ذخیره شده در حافظه محلی | API ها، فرمها، و حافظه محلی | Jen |
| ۱۴ | افزونه مرورگر سبز | فرآیندهای پسزمینه مرورگر، عملکرد وب | استفاده از فرآیندهای پسزمینه مرورگر برای مدیریت آیکون افزونه؛ یادگیری درباره عملکرد وب و بهینهسازیهایی برای بهبود فرآیند | فرآیندهای پسزمینه و عملکرد | Jen |
| ۱۵ | بازی فضایی | توسعه بازی پیشرفتهتر با جاوااسکریپت | یادگیری درباره وراثت با استفاده از کلاسها و ترکیب و الگوی Pub/Sub، آمادهسازی برای ساخت بازی | معرفی توسعه بازی پیشرفته | Chris |
| ۱۶ | بازی فضایی | رسم روی بوم | یادگیری درباره API بوم (Canvas) که برای رسم عناصر روی صفحه استفاده میشود | رسم روی بوم | Chris |
| ۱۷ | بازی فضایی | حرکت دادن عناصر در صفحه | کشف چگونگی حرکت عناصر با استفاده از مختصات کارتزین و API بوم | حرکت دادن عناصر | Chris |
| ۱۸ | بازی فضایی | تشخیص برخورد | ایجاد برخورد و واکنش عناصر به یکدیگر با استفاده از کلیدها و اضافه کردن عملکرد خنککنندگی برای اطمینان از عملکرد بازی | تشخیص برخورد | Chris |
| ۱۹ | بازی فضایی | نگهداری امتیاز | انجام محاسبات ریاضی بر اساس وضعیت و عملکرد بازی | نگهداری امتیاز | Chris |
| ۲۰ | بازی فضایی | پایان و شروع مجدد بازی | یادگیری در مورد چگونگی پایان دادن و شروع مجدد بازی، شامل پاکسازی منابع و ریست متغیرها | شرط پایان | Chris |
| ۲۱ | اپلیکیشن بانکی | قالبها و مسیریابی در یک وب اپ | یادگیری ساختار اولیه معماری یک وب سایت چند صفحهای با استفاده از مسیریابی و قالبهای HTML | قالبها و مسیرها | Yohan |
| ۲۲ | اپلیکیشن بانکی | ساخت فرم ورود و ثبت نام | یادگیری ساخت فرمها و مدیریت اعتبارسنجی | فرمها | Yohan |
| ۲۳ | اپلیکیشن بانکی | روشهای دریافت و استفاده از دادهها | نحوه جریان دادهها درون و بیرون برنامه، نحوه دریافت، ذخیره و پاکسازی دادهها | دادهها | Yohan |
| ۲۴ | اپلیکیشن بانکی | مفاهیم مدیریت وضعیت | یادگیری چگونگی حفظ و مدیریت وضعیت برنامه به صورت برنامهای | مدیریت وضعیت | Yohan |
| ۲۵ | کد مرورگر/ویاسکد | کار با ویاسکد | یادگیری نحوه استفاده از ویرایشگر کد | استفاده از ویرایشگر کد ویاسکد | Chris |
| ۲۶ | دستیارهای هوش مصنوعی | کار با هوش مصنوعی | یادگیری ساخت دستیار هوش مصنوعی خودتان | پروژه دستیار هوش مصنوعی | Chris |
🏫 روش تدریس
برنامه درسی ما بر اساس دو اصل کلیدی آموزشی طراحی شده است:
- یادگیری مبتنی بر پروژه
- آزمونهای مکرر
این برنامه اصول اولیه جاوااسکریپت، HTML و CSS را آموزش داده و همچنین آخرین ابزارها و تکنیکهای استفاده شده توسط توسعهدهندگان وب امروزی را پوشش میدهد. دانشآموزان فرصت دارند تجربه عملی کسب کنند با ساخت بازی تایپینگ، تراریوم مجازی، افزونه مرورگر دوستدار محیط زیست، بازی سبک فضا نورد و اپلیکیشن بانکی برای کسبوکارها. تا پایان این دوره، دانشآموزان درک عمیق و محکمی از توسعه وب خواهند داشت.
🎓 شما میتوانید چند درس اول این برنامه درسی را به صورت یک مسیر یادگیری در Microsoft Learn بردارید!
با اطمینان از همترازی محتوا با پروژهها، فرآیند برای دانشآموزان جذابتر شده و حفظ مفاهیم افزایش مییابد. همچنین چند درس ابتدایی در مبانی جاوااسکریپت نوشتهایم برای معرفی مفاهیم، همراه با ویدیویی از مجموعه "مقدماتی به: جاوااسکریپت" که برخی نویسندگان آن در طراحی این برنامه مشارکت داشتهاند.
علاوه بر این، یک آزمون کمفشار قبل از کلاس، نیت دانشآموز را برای یادگیری موضوع مشخص میکند، و یک آزمون دوم بعد از کلاس کمک میکند حفظ مفاهیم افزایش یابد. این برنامه درسی انعطافپذیر و سرگرمکننده طراحی شده و میتوان آن را به صورت کامل یا بخشی از آن را گذراند. پروژهها از ساده شروع شده و تا پایان چرخه ۱۲ هفتهای به تدریج پیچیدهتر میشوند.
در حالی که عمداً از معرفی فریمورکهای جاوااسکریپت خودداری کردهایم تا ابتدا مهارتهای پایه لازم برای توسعهدهنده وب را تقویت کنیم قبل از بهکارگیری فریمورک، گام بعدی خوب برای تکمیل این برنامه یادگیری Node.js از طریق مجموعهای دیگر از ویدیوهاست: "مقدماتی به: Node.js".
راهنمای رفتارنامه و مشارکت ما را ببینید. ما از بازخورد سازنده شما استقبال میکنیم!
🧭 دسترسی آفلاین
شما میتوانید این مستندات را به صورت آفلاین با استفاده از Docsify اجرا کنید. این مخزن را فورک کنید، Docsify را نصب کنید روی دستگاه محلی و سپس در پوشه ریشه این مخزن، دستور docsify serve را تایپ کنید. سایت روی پورت ۳۰۰۰ روی لوکالهاست شما سرو میشود: localhost:3000.
نسخه PDF تمام درسها را میتوانید اینجا بیابید.
🎒 دورههای دیگر
تیم ما دورههای دیگری نیز تولید میکند! بررسی کنید:
LangChain
Azure / Edge / MCP / Agents
سری هوش مصنوعی مولد
یادگیری اصلی
سری کمکخلبان
دریافت کمک
اگر گیر کردید یا سوالی درباره ساخت برنامههای هوش مصنوعی دارید، به جمع یادگیرندگان و توسعهدهندگان باتجربه در بحثهای مربوط به MCP بپیوندید. این یک جامعه حمایتکننده است که سوالات پذیرفته میشوند و دانش به صورت آزادانه به اشتراک گذاشته میشود.
اگر بازخورد محصول یا خطاهای حین ساخت دارید، به موارد زیر مراجعه کنید:
مجوز
این مخزن تحت مجوز MIT منتشر شده است. برای اطلاعات بیشتر فایل LICENSE را ببینید.
اعلان مسئولیت:
این سند با استفاده از سرویس ترجمهی هوش مصنوعی Co-op Translator ترجمه شده است. هرچند ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است اشتباهات یا نواقص داشته باشند. سند اصلی به زبان بومی خود، منبع معتبر و قطعی تلقی میشود. برای اطلاعات حیاتی، ترجمه حرفهای انسانی توصیه میشود. ما مسئول هیچ گونه برداشت نادرست یا تفسیر اشتباه ناشی از استفاده از این ترجمه نیستیم.


