|
|
4 days ago | |
|---|---|---|
| .. | ||
| 1-getting-started-lessons | 4 days ago | |
| 2-js-basics | 1 month ago | |
| 3-terrarium | 1 month ago | |
| 4-typing-game | 1 month ago | |
| 5-browser-extension | 1 month ago | |
| 6-space-game | 1 month ago | |
| 7-bank-project | 1 month ago | |
| 8-code-editor/1-using-a-code-editor | 1 month ago | |
| 9-chat-project | 1 month ago | |
| 10-ai-framework-project | 1 month ago | |
| Git-Basics | 1 month ago | |
| docs | 1 month ago | |
| lesson-template | 1 month ago | |
| memory-game | 1 month ago | |
| quiz-app | 1 month ago | |
| .co-op-translator.json | 4 days ago | |
| AGENTS.md | 4 days ago | |
| CODE_OF_CONDUCT.md | 1 month ago | |
| CONTRIBUTING.md | 1 month ago | |
| README.md | 4 days ago | |
| Roadmap.md | 1 month ago | |
| SECURITY.md | 1 month ago | |
| SUPPORT.md | 1 month ago | |
| _404.md | 1 month ago | |
| for-teachers.md | 1 month 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 استفاده کنید:
Bash / macOS / Linux:
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'CMD (Windows):
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 Mode برای تکمیل!
چالش جدید اضافه شده است، به دنبال "چالش GitHub Copilot Agent 🚀" در اکثر فصلها باشید. این یک چالش جدید برای شماست تا با استفاده از GitHub Copilot و حالت Agent آن را کامل کنید. اگر قبلاً از حالت Agent استفاده نکردهاید، این حالت قادر است نه تنها متن تولید کند بلکه میتواند فایل ایجاد و ویرایش کند، دستورها را اجرا کند و بیشتر.
📣 اعلامیه - پروژه جدیدی برای ساخت با استفاده از هوش مصنوعی مولد
پروژه دستیار هوش مصنوعی جدید به تازگی اضافه شده است، آن را بررسی کنید پروژه
📣 اعلامیه - برنامه درسی جدید برای هوش مصنوعی مولد در جاوااسکریپت به تازگی منتشر شده است
برنامه درسی جدید هوش مصنوعی مولد ما را از دست ندهید!
برای شروع به آدرس https://aka.ms/genai-js-course مراجعه کنید!
- درسهایی که از مبانی تا RAG را پوشش میدهند.
- تعامل با شخصیتهای تاریخی با استفاده از GenAI و اپلیکیشن همراه ما.
- روایت سرگرمکننده و جذاب، شما به سفر در زمان خواهید رفت!
هر درس شامل یک تکلیف برای تکمیل، یک تست دانش و یک چالش برای راهنمایی شما در یادگیری موضوعاتی مانند:
- پرامپت و مهندسی پرامپت
- تولید برنامههای متن و تصویر
- برنامههای جستجو
برای شروع به آدرس https://aka.ms/genai-js-course مراجعه کنید!
🌱 شروع به کار
معلمان، ما برخی پیشنهادات برای چگونگی استفاده از این برنامه درسی ارائه کردهایم. ما مشتاقانه منتظر بازخورد شما در انجمن بحث ما هستیم!
یادگیرندگان، برای هر درس، با یک آزمون قبل از درس شروع کنید و سپس به خواندن مطالب درس بپردازید، فعالیتهای مختلف را انجام دهید و در پایان در آزمون بعد از درس دانش خود را بسنجید.
برای بهبود تجربه یادگیری خود، با همکلاسانتان به همکاری در پروژهها بپردازید! بحث و گفتگو در انجمن بحث تشویق میشود که تیمی از ناظران ما برای پاسخ به سوالات شما حضور دارند.
برای گسترش دانش خود، ما قویاً توصیه میکنیم که Microsoft Learn را برای منابع مطالعاتی اضافی بررسی کنید.
📋 راهاندازی محیط کاری شما
این برنامه درسی دارای محیط توسعه آماده به کار است! با شروع، میتوانید انتخاب کنید که در Codespace (یک محیط مبتنی بر مرورگر بدون نیاز به نصب) یا به صورت محلی روی کامپیوتر خود با استفاده از یک ویرایشگر متن مانند Visual Studio Code کار کنید.
ایجاد مخزن خود
برای این که راحتتر کارهای خود را ذخیره کنید، توصیه میشود نسخهای از این مخزن را ایجاد کنید. میتوانید این کار را با کلیک بر روی دکمه Use this template در بالای صفحه انجام دهید. این کار یک مخزن جدید در حساب گیتهاب شما با نسخهای از برنامه درسی ایجاد میکند.
مراحل زیر را دنبال کنید:
- فورک کردن مخزن: روی دکمه "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 انجام دهید:
سپس، درون Terminal در Visual Studio Code باز کنید و فرمان زیر را اجرا کنید، به جای
<your-repository-url>آدرسی که تازه کپی کردهاید را جایگزین کنید:git clone <your-repository-url> -
پوشه را در Visual Studio Code باز کنید. میتوانید این کار را با کلیک روی File > Open Folder انجام داده و پوشهای را که تازه کلون کردهاید انتخاب کنید.
افزونههای پیشنهادی Visual Studio Code:
- Live Server - برای پیشنمایش صفحات HTML درون Visual Studio Code
- Copilot - برای کمک به نوشتن کد سریعتر
📂 هر درس شامل:
- طرح اولیه اختیاری (sketchnote)
- ویدئوی کمکی اختیاری
- آزمون گرمکننده پیش از درس
- درس کتبی
- برای درسهای مبتنی بر پروژه، راهنماهای گام به گام ساخت پروژه
- بررسیهای دانش
- یک چالش
- مطالعه تکمیلی
- تکلیف
- آزمون پس از درس
نکتهای درباره آزمونها: همه آزمونها در پوشه Quiz-app قرار دارند، در مجموع ۴۸ آزمون با هر کدام شامل سه سوال. آنها قابل دسترس در اینجا هستند و میتوان اپلیکیشن آزمون را به صورت محلی اجرا کرد یا در Azure مستقر نمود؛ دستورالعملها در پوشه
quiz-appآمده است.
🗃️ درسها
| نام پروژه | مفاهیم آموزش داده شده | اهداف یادگیری | درس مرتبط | نویسنده | |
|---|---|---|---|---|---|
| 01 | شروع به کار | مقدمهای بر برنامهنویسی و ابزارهای کار | یادگیری اصول پایهای اکثر زبانهای برنامهنویسی و نرمافزاری که به توسعهدهندگان حرفهای در انجام کارشان کمک میکند | مقدمهای بر زبانها و ابزارهای برنامهنویسی | Jasmine |
| 02 | شروع به کار | مبانی گیتهاب، شامل کار گروهی | چگونگی استفاده از گیتهاب در پروژه و همکاری با دیگران روی کد | مقدمهای بر گیتهاب | Floor |
| 03 | شروع به کار | دسترسیپذیری | فراگیری مبانی دسترسیپذیری وب | مبانی دسترسیپذیری | Christopher |
| 04 | مبانی JS | انواع داده در JavaScript | مبانی انواع داده در JavaScript | انواع داده | Jasmine |
| 05 | مبانی JS | توابع و روشها | آشنایی با توابع و روشها برای مدیریت جریان منطقی برنامه | توابع و روشها | Jasmine and Christopher |
| 06 | مبانی JS | گرفتن تصمیم با JS | یادگیری چگونگی ایجاد شرایط در کد با استفاده از روشهای تصمیمگیری | گرفتن تصمیم | Jasmine |
| 07 | مبانی JS | آرایهها و حلقهها | کار با دادهها با استفاده از آرایهها و حلقهها در JavaScript | آرایهها و حلقهها | Jasmine |
| 08 | تراریوم | HTML در عمل | ساخت HTML برای ایجاد تراریوم آنلاین، تمرکز بر ساختار بندی صفحه | مقدمهای بر HTML | Jen |
| 09 | تراریوم | CSS در عمل | ساخت CSS برای طراحی تراریوم آنلاین، تمرکز بر مبانی CSS شامل واکنشگرا کردن صفحه | مقدمهای بر CSS | Jen |
| 10 | تراریوم | بستههای JavaScript، دستکاری DOM | ساخت جاوااسکریپت برای کارکرد تراریوم به صورت رابط کشیدن/رها کردن، تمرکز بر بستهها و دستکاری DOM | بستههای JavaScript، دستکاری DOM | Jen |
| 11 | بازی تایپ | ساخت بازی تایپ | یادگیری استفاده از رویدادهای صفحه کلید برای هدایت منطق برنامه جاوااسکریپت | برنامهنویسی رویدادمحور | Christopher |
| 12 | افزونه مرورگر سبز | کار با مرورگرها | یادگیری کارکرد مرورگرها، تاریخچه آنها و راهاندازی اولیه افزونه مرورگر | درباره مرورگرها | Jen |
| 13 | افزونه مرورگر سبز | ساخت فرم، فراخوانی API و ذخیره متغیرها در local storage | ساخت عناصر جاوااسکریپت افزونه مرورگر برای فراخوانی API با استفاده از متغیرهای ذخیره شده در local storage | APIها، فرمها و ذخیره محلی | Jen |
| 14 | افزونه مرورگر سبز | فرآیندهای پسزمینه در مرورگر، کارایی وب | استفاده از فرآیندهای پسزمینه مرورگر برای مدیریت آیکون افزونه؛ آشنایی با عملکرد وب و بهینهسازیهایی برای بهبود آن | وظایف پسزمینه و کارایی | Jen |
| 15 | بازی فضایی | توسعه بازی پیشرفتهتر با JavaScript | یادگیری وراثت با هر دو کلاس و ترکیب و الگوی Pub/Sub، برای آمادهسازی ساخت بازی | مقدمهای بر توسعه بازی پیشرفته | Chris |
| 16 | بازی فضایی | رسم روی بوم | آشنایی با API بوم (Canvas) برای رسم عناصر روی صفحه | رسم روی بوم | Chris |
| 17 | بازی فضایی | حرکت عناصر در صفحه نمایش | کشف چگونگی حرکت گرفتن عناصر با استفاده از مختصات کارتزین و API بوم | حرکت دادن عناصر | Chris |
| 18 | بازی فضایی | تشخیص برخورد | ایجاد برخورد و واکنش عناصر به یکدیگر با استفاده از فشار کلیدها و فراهم کردن عملکرد خنککننده برای اطمینان از کارایی بازی | تشخیص برخورد | Chris |
| 19 | بازی فضایی | نگهداری امتیاز | انجام محاسبات ریاضی بر اساس وضعیت و عملکرد بازی | نگهداری امتیاز | Chris |
| 20 | بازی فضایی | پایان و شروع مجدد بازی | یادگیری پایان دادن و شروع مجدد بازی، شامل پاکسازی منابع و بازنشانی مقادیر متغیرها | شرط پایان | Chris |
| 21 | اپ بانک | قالبها و مسیرها در یک اپ وب | یادگیری ساخت اسکلت معماری وبسایت چندصفحهای به کمک روتینگ و قالبهای HTML | قالبها و مسیرها | Yohan |
| 22 | اپ بانک | ساخت فرم ورود و ثبتنام | یادگیری ساخت فرمها و مدیریت روالهای اعتبارسنجی | فرمها | Yohan |
| 23 | اپ بانک | روشهای دریافت و استفاده از داده | جریان داده در برنامه، نحوه دریافت، ذخیره و حذف آن | داده | Yohan |
| 24 | اپ بانک | مفاهیم مدیریت وضعیت | یادگیری حفظ وضعیت برنامه و مدیریت برنامهای آن | مدیریت وضعیت | Yohan |
| 25 | کد مرورگر/VScode | کار با VScode | یادگیری استفاده از ویرایشگر کد | استفاده از ویرایشگر کد VScode | Chris |
| 26 | دستیارهای هوش مصنوعی | کار با هوش مصنوعی | یادگیری ساخت دستیار هوش مصنوعی خودتان | پروژه دستیار هوش مصنوعی | Chris |
🏫 روش آموزش
برنامهی درسی ما با دو اصل کلیدی آموزش طراحی شده است:
- یادگیری مبتنی بر پروژه
- آزمونهای مکرر
این برنامه اساسهای JavaScript، HTML و CSS را آموزش میدهد، همچنین جدیدترین ابزارها و تکنیکهایی که توسعهدهندگان وب امروزه استفاده میکنند. دانشآموزان فرصت کسب تجربه عملی را با ساخت بازی تایپ، تراریوم مجازی، افزونه مرورگر دوستدار محیط زیست، بازی سبک Space Invader و اپ بانک برای کسبوکارها خواهند داشت. تا پایان این مجموعه، یک درک جامع از توسعه وب کسب خواهند کرد.
🎓 شما میتوانید چند درس اول این برنامه را به صورت مسیر یادگیری در Microsoft Learn دنبال کنید!
با اطمینان از هماهنگی محتوا با پروژهها، روند یادگیری برای دانشآموزان جذابتر شده و ماندگاری مفاهیم افزایش مییابد. همچنین چند درس مقدماتی در مبانی JavaScript نوشته شده است که مفاهیم را معرفی میکند و با ویدئویی از مجموعه آموزشی "Beginners Series to: JavaScript" همراه است که برخی نویسندگان آن به این برنامه کمک کردهاند.
علاوه بر این، یک آزمون کمفشار قبل از کلاس هدف دانشآموز را به سمت یادگیری موضوع تعیین میکند، در حالی که آزمون دوم پس از کلاس، حفظ بهتر مطلب را تضمین میکند. این برنامه طوری طراحی شده که انعطافپذیر و سرگرمکننده باشد و میتوان آن را به صورت کامل یا بخشی از آن را گذراند. پروژهها از سطح کوچک آغاز شده و تا پایان چرخه ۱۲ هفتهای به طور فزایندهای پیچیده میشوند.
در حالی که عمداً از معرفی فریمورکهای JavaScript اجتناب کردهایم تا روی مهارتهای پایهای که به عنوان توسعهدهنده وب نیاز دارید تمرکز کنیم، گام بعدی خوب برای تکمیل این برنامه، یادگیری Node.js از طریق مجموعه ویدئوهای دیگر است: "Beginner Series to: Node.js".
به کد رفتاری و راهنمای مشارکت ما مراجعه کنید. بازخورد سازنده شما را خوشآمد میگوییم!
🧭 دسترسی آفلاین
شما میتوانید این مستندات را به صورت آفلاین با استفاده از Docsify اجرا کنید. این مخزن را فورک کنید، Docsify را روی دستگاه خود نصب کنید و سپس در پوشه اصلی مخزن این فرمان را وارد کنید docsify serve. وبسایت روی پورت ۳۰۰۰ در لوکالهاست شما اجرا خواهد شد: localhost:3000.
یک فایل PDF از تمام درسها را میتوانید در اینجا پیدا کنید.
🎒 دورههای دیگر
تیم ما دورههای دیگری هم تولید میکند! نگاه کنید به:
LangChain
Azure / Edge / MCP / Agents
سری هوش مصنوعی مولد
آموزشهای پایهای
سری CoPilot
گرفتن کمک
اگر گیر کردید یا سوالی درباره ساخت اپلیکیشنهای هوش مصنوعی دارید، به جمع یادگیرندگان و توسعهدهندگان با تجربه در بحثهای MCP بپیوندید. این یک جامعه حمایتگر است که سوالات پذیرفته شده و دانش به صورت آزاد به اشتراک گذاشته میشود.
اگر بازخورد محصول یا خطا در حین ساخت دارید، به نشانی زیر مراجعه کنید:
مجوز
این مخزن تحت مجوز MIT است. برای اطلاعات بیشتر به فایل LICENSE مراجعه کنید.
سلب مسئولیت: این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما تلاش میکنیم دقت را حفظ کنیم، لطفاً آگاه باشید که ترجمههای خودکار ممکن است شامل اشتباهات یا نواقصی باشند. سند اصلی به زبان بومی خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفهای انسانی توصیه میشود. ما مسئول هیچ گونه سوءتفاهم یا برداشت نادرست ناشی از استفاده از این ترجمه نیستیم.


