|
|
<!--
|
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
|
{
|
|
|
"original_hash": "efa251c5fc089367f0a81c572874afca",
|
|
|
"translation_date": "2025-08-28T10:49:03+00:00",
|
|
|
"source_file": "README.md",
|
|
|
"language_code": "uk"
|
|
|
}
|
|
|
-->
|
|
|
[](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE)
|
|
|
[](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/)
|
|
|
[](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/)
|
|
|
[](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/)
|
|
|
[](http://makeapullrequest.com)
|
|
|
|
|
|
[](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/)
|
|
|
[](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/)
|
|
|
[](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/)
|
|
|
|
|
|
[](https://discord.gg/zxKYvhSnVp?WT.mc_id=academic-000002-leestott)
|
|
|
|
|
|
[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
|
|
|
|
|
|
[](https://discord.com/invite/ByRwuEEgH4)
|
|
|
|
|
|
Виконайте наступні кроки, щоб почати використовувати ці ресурси:
|
|
|
1. **Форкніть репозиторій**: Натисніть [](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
|
|
|
2. **Клонуйте репозиторій**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
|
|
|
3. [**Приєднайтеся до Azure AI Foundry Discord, щоб поспілкуватися з експертами та іншими розробниками**](https://discord.com/invite/ByRwuEEgH4)
|
|
|
|
|
|
# Веб-розробка для початківців - навчальна програма
|
|
|
|
|
|
Вивчайте основи веб-розробки за допомогою нашого 12-тижневого курсу від Microsoft Cloud Advocates. Кожен із 24 уроків охоплює JavaScript, CSS та HTML через практичні проєкти, такі як тераріуми, розширення для браузера та космічні ігри. Беріть участь у вікторинах, обговореннях та практичних завданнях. Покращуйте свої навички та оптимізуйте засвоєння знань завдяки нашій ефективній проєктно-орієнтованій методиці. Почніть свою подорож у програмуванні вже сьогодні!
|
|
|
|
|
|
#### 🧑🎓 _Ви студент?_
|
|
|
|
|
|
Відвідайте [**сторінку Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), де ви знайдете ресурси для початківців, студентські пакети та навіть способи отримати безкоштовний сертифікат. Це сторінка, яку варто додати в закладки та час від часу перевіряти, оскільки ми щомісяця оновлюємо контент.
|
|
|
|
|
|
### 📣 Оголошення - _Нова навчальна програма_ з генеративного AI для JavaScript
|
|
|
|
|
|
Не пропустіть нашу нову навчальну програму з генеративного AI!
|
|
|
|
|
|
Відвідайте [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), щоб розпочати!
|
|
|
|
|
|

|
|
|
|
|
|
- Уроки, що охоплюють все від основ до RAG.
|
|
|
- Спілкуйтеся з історичними персонажами за допомогою GenAI та нашого додатку-компаньйона.
|
|
|
- Весела та захоплююча розповідь, ви будете подорожувати у часі!
|
|
|
|
|
|

|
|
|
|
|
|
Кожен урок включає завдання для виконання, перевірку знань та виклик, щоб допомогти вам освоїти такі теми, як:
|
|
|
- Створення запитів та інженерія запитів
|
|
|
- Генерація тексту та зображень
|
|
|
- Додатки для пошуку
|
|
|
|
|
|
Відвідайте [https://aka.ms/genai-js-course](../../[https:/aka.ms/genai-js-course), щоб розпочати!
|
|
|
|
|
|
## 🌱 Початок роботи
|
|
|
|
|
|
> **Вчителі**, ми [додали кілька пропозицій](for-teachers.md) щодо використання цієї навчальної програми. Ми будемо раді вашим відгукам [у нашому форумі обговорень](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
|
|
|
|
|
|
**[Учні](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, для кожного уроку починайте з вікторини перед лекцією, читайте матеріал лекції, виконуйте різні завдання та перевіряйте своє розуміння за допомогою вікторини після лекції.
|
|
|
|
|
|
Щоб покращити ваш досвід навчання, спілкуйтеся з однолітками та працюйте над проєктами разом! Обговорення заохочуються у нашому [форумі обговорень](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), де наша команда модераторів буде доступна для відповіді на ваші запитання.
|
|
|
|
|
|
Для подальшого навчання ми настійно рекомендуємо дослідити [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) для додаткових навчальних матеріалів.
|
|
|
|
|
|
### 📋 Налаштування середовища
|
|
|
|
|
|
Ця навчальна програма має готове середовище для розробки! На початку ви можете вибрати запуск навчальної програми у [Codespace](https://github.com/features/codespaces/) (_середовище на основі браузера, без необхідності встановлення_), або локально на вашому комп'ютері за допомогою текстового редактора, такого як [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
|
|
|
|
|
|
#### Створіть свій репозиторій
|
|
|
Щоб легко зберігати свою роботу, рекомендується створити власну копію цього репозиторію. Ви можете зробити це, натиснувши кнопку **Use this template** у верхній частині сторінки. Це створить новий репозиторій у вашому обліковому записі GitHub з копією навчальної програми.
|
|
|
|
|
|
Виконайте наступні кроки:
|
|
|
1. **Форкніть репозиторій**: Натисніть кнопку "Fork" у верхньому правому куті цієї сторінки.
|
|
|
2. **Клонуйте репозиторій**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
|
|
|
|
|
|
#### Запуск навчальної програми у Codespace
|
|
|
|
|
|
У вашій копії цього репозиторію, яку ви створили, натисніть кнопку **Code** та виберіть **Open with Codespaces**. Це створить новий Codespace для роботи.
|
|
|
|
|
|
[!Codespace](../..)./images/createcodespace.png)
|
|
|
|
|
|
#### Запуск навчальної програми локально на вашому комп'ютері
|
|
|
|
|
|
Щоб запустити цю навчальну програму локально на вашому комп'ютері, вам знадобиться текстовий редактор, браузер та інструмент командного рядка. Наш перший урок, [Вступ до мов програмування та інструментів](../../1-getting-started-lessons/1-intro-to-programming-languages), проведе вас через різні варіанти кожного з цих інструментів, щоб ви могли вибрати те, що найкраще підходить для вас.
|
|
|
|
|
|
Ми рекомендуємо використовувати [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) як редактор, який також має вбудований [Термінал](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Ви можете завантажити Visual Studio Code [тут](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
|
|
|
|
|
|
1. Клонуйте ваш репозиторій на комп'ютер. Ви можете зробити це, натиснувши кнопку **Code** та скопіювавши URL:
|
|
|
|
|
|
[!CodeSpace](./images/createcodespace.png)
|
|
|
|
|
|
Потім відкрийте [Термінал](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) у [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) та виконайте наступну команду, замінивши `<your-repository-url>` на URL, який ви щойно скопіювали:
|
|
|
|
|
|
```bash
|
|
|
git clone <your-repository-url>
|
|
|
```
|
|
|
|
|
|
2. Відкрийте папку у Visual Studio Code. Ви можете зробити це, натиснувши **File** > **Open Folder** та вибравши папку, яку ви щойно клонували.
|
|
|
|
|
|
> Рекомендовані розширення для Visual Studio Code:
|
|
|
>
|
|
|
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - для перегляду HTML-сторінок у Visual Studio Code
|
|
|
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - для швидшого написання коду
|
|
|
|
|
|
## 📂 Кожен урок включає:
|
|
|
|
|
|
- необов'язковий скетчноут
|
|
|
- необов'язкове додаткове відео
|
|
|
- вікторину перед уроком
|
|
|
- письмовий урок
|
|
|
- для уроків, заснованих на проєктах, покрокові інструкції щодо створення проєкту
|
|
|
- перевірку знань
|
|
|
- виклик
|
|
|
- додаткове читання
|
|
|
- завдання
|
|
|
- [вікторину після уроку](https://ff-quizzes.netlify.app/web/)
|
|
|
|
|
|
> **Примітка щодо вікторин**: Усі вікторини знаходяться у папці Quiz-app, всього 48 вікторин по три питання кожна. Вони доступні [тут](https://ff-quizzes.netlify.app/web/), додаток для вікторин можна запустити локально або розгорнути в Azure; дотримуйтесь інструкцій у папці `quiz-app`.
|
|
|
|
|
|
## 🗃️ Уроки
|
|
|
|
|
|
| | Назва проєкту | Вивчені концепти | Навчальні цілі | Посилання на урок | Автор |
|
|
|
| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
|
|
|
| 01 | Початок роботи | Вступ до програмування та інструментів | Вивчіть основи більшості мов програмування та програмне забезпечення, яке допомагає професійним розробникам виконувати свою роботу | [Вступ до мов програмування та інструментів](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
|
|
|
| 02 | Початок роботи | Основи GitHub, включаючи роботу в команді | Як використовувати GitHub у вашому проєкті, як співпрацювати з іншими над кодовою базою | [Вступ до GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
|
|
|
| 03 | Початок роботи | Доступність | Вивчіть основи веб-доступності | [Основи доступності](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
|
|
|
| 04 | Основи JS | Типи даних у JavaScript | Основи типів даних у JavaScript | [Типи даних](./2-js-basics/1-data-types/README.md) | Jasmine |
|
|
|
| 05 | Основи JS | Функції та методи | Вивчіть функції та методи для управління логікою додатка | [Функції та методи](./2-js-basics/2-functions-methods/README.md) | Jasmine і Christopher |
|
|
|
| 06 | Основи JS | Прийняття рішень у JS | Вивчіть, як створювати умови у вашому коді за допомогою методів прийняття рішень | [Прийняття рішень](./2-js-basics/3-making-decisions/README.md) | Jasmine |
|
|
|
| 07 | Основи JS | Масиви та цикли | Працюйте з даними за допомогою масивів та циклів у JavaScript | [Масиви та цикли](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
|
|
|
| 08 | [Тераріум](./3-terrarium/solution/README.md) | HTML на практиці | Створіть HTML для онлайн тераріуму, зосереджуючись на створенні макету | [Вступ до HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
|
|
|
| 09 | [Тераріум](./3-terrarium/solution/README.md) | CSS на практиці | Створіть CSS для стилізації онлайн тераріуму, зосереджуючись на основах CSS, включаючи адаптивність | [Вступ до CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
|
|
|
| 10 | [Terrarium](./3-terrarium/solution/README.md) | Замикання в JavaScript, маніпуляція DOM | Напишіть JavaScript, щоб тераріум працював як інтерфейс перетягування, зосереджуючись на замиканнях і маніпуляції DOM | [Замикання в JavaScript, маніпуляція DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
|
|
|
| 11 | [Typing Game](./4-typing-game/solution/README.md) | Створення гри для друку | Дізнайтеся, як використовувати події клавіатури для управління логікою вашого JavaScript-додатка | [Програмування, кероване подіями](./4-typing-game/typing-game/README.md) | Christopher |
|
|
|
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Робота з браузерами | Дізнайтеся, як працюють браузери, їхню історію, і як створити перші елементи розширення для браузера | [Про браузери](./5-browser-extension/1-about-browsers/README.md) | Jen |
|
|
|
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Створення форми, виклик API та збереження змінних у локальному сховищі | Створіть елементи JavaScript для вашого розширення браузера, щоб викликати API, використовуючи змінні, збережені в локальному сховищі | [API, форми та локальне сховище](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
|
|
|
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Фонові процеси в браузері, продуктивність вебу | Використовуйте фонові процеси браузера для управління іконкою розширення; дізнайтеся про продуктивність вебу та оптимізації | [Фонові завдання та продуктивність](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
|
|
|
| 15 | [Space Game](./6-space-game/solution/README.md) | Розширена розробка ігор з JavaScript | Дізнайтеся про наслідування за допомогою класів і композиції, а також про патерн Pub/Sub, готуючись до створення гри | [Вступ до розширеної розробки ігор](./6-space-game/1-introduction/README.md) | Chris |
|
|
|
| 16 | [Space Game](./6-space-game/solution/README.md) | Малювання на Canvas | Дізнайтеся про API Canvas, який використовується для малювання елементів на екрані | [Малювання на Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
|
|
|
| 17 | [Space Game](./6-space-game/solution/README.md) | Рух елементів по екрану | Дізнайтеся, як елементи можуть рухатися за допомогою декартових координат і API Canvas | [Рух елементів](./6-space-game/3-moving-elements-around/README.md) | Chris |
|
|
|
| 18 | [Space Game](./6-space-game/solution/README.md) | Виявлення зіткнень | Зробіть так, щоб елементи стикалися та реагували один на одного за допомогою натискань клавіш, і додайте функцію охолодження для продуктивності гри | [Виявлення зіткнень](./6-space-game/4-collision-detection/README.md) | Chris |
|
|
|
| 19 | [Space Game](./6-space-game/solution/README.md) | Підрахунок очок | Виконуйте математичні обчислення на основі статусу гри та її продуктивності | [Підрахунок очок](./6-space-game/5-keeping-score/README.md) | Chris |
|
|
|
| 20 | [Space Game](./6-space-game/solution/README.md) | Завершення та перезапуск гри | Дізнайтеся, як завершувати та перезапускати гру, включаючи очищення ресурсів і скидання значень змінних | [Умови завершення](./6-space-game/6-end-condition/README.md) | Chris |
|
|
|
| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML-шаблони та маршрути у веб-додатку | Дізнайтеся, як створити структуру багатосторінкового вебсайту за допомогою маршрутизації та HTML-шаблонів | [HTML-шаблони та маршрути](./7-bank-project/1-template-route/README.md) | Yohan |
|
|
|
| 22 | [Banking App](./7-bank-project/solution/README.md) | Створення форми входу та реєстрації | Дізнайтеся, як створювати форми та обробляти процедури перевірки даних | [Форми](./7-bank-project/2-forms/README.md) | Yohan |
|
|
|
| 23 | [Banking App](./7-bank-project/solution/README.md) | Методи отримання та використання даних | Як дані надходять у ваш додаток, як їх отримувати, зберігати та видаляти | [Дані](./7-bank-project/3-data/README.md) | Yohan |
|
|
|
| 24 | [Banking App](./7-bank-project/solution/README.md) | Концепції управління станом | Дізнайтеся, як ваш додаток зберігає стан і як програмно ним керувати | [Управління станом](./7-bank-project/4-state-management/README.md) | Yohan |
|
|
|
|
|
|
|
|
|
## 🏫 Педагогіка
|
|
|
|
|
|
Наша навчальна програма розроблена з урахуванням двох ключових педагогічних принципів:
|
|
|
* навчання на основі проєктів
|
|
|
* часті тести
|
|
|
|
|
|
Програма охоплює основи JavaScript, HTML і CSS, а також найновіші інструменти та техніки, які використовують сучасні веб-розробники. Студенти матимуть можливість отримати практичний досвід, створюючи гру для друку, віртуальний тераріум, екологічне розширення для браузера, гру в стилі "космічних загарбників" та банківський додаток для бізнесу. До кінця курсу студенти отримають міцне розуміння веб-розробки.
|
|
|
|
|
|
> 🎓 Ви можете пройти перші кілька уроків цієї програми як [навчальний шлях](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) на Microsoft Learn!
|
|
|
|
|
|
Забезпечуючи відповідність контенту проєктам, процес навчання стає більш захоплюючим для студентів, а засвоєння концепцій покращується. Ми також створили кілька вступних уроків з основ JavaScript, які супроводжуються відео з колекції "[Серія для початківців: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", деякі з авторів якої долучилися до створення цієї програми.
|
|
|
|
|
|
Крім того, тест перед заняттям налаштовує студента на вивчення теми, а другий тест після заняття забезпечує краще засвоєння матеріалу. Ця програма була розроблена як гнучка та цікава і може бути пройдена повністю або частково. Проєкти починаються з простих і стають дедалі складнішими до кінця 12-тижневого циклу.
|
|
|
|
|
|
Хоча ми свідомо уникали введення фреймворків JavaScript, щоб зосередитися на базових навичках, необхідних веб-розробнику перед освоєнням фреймворків, наступним кроком після завершення цієї програми може бути вивчення Node.js через іншу колекцію відео: "[Серія для початківців: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
|
|
|
|
|
|
> Ознайомтеся з нашими [Правилами поведінки](CODE_OF_CONDUCT.md) та [Рекомендаціями щодо внесків](CONTRIBUTING.md). Ми вітаємо ваші конструктивні відгуки!
|
|
|
|
|
|
|
|
|
## 🧭 Офлайн-доступ
|
|
|
|
|
|
Ви можете переглядати цю документацію офлайн, використовуючи [Docsify](https://docsify.js.org/#/). Форкніть цей репозиторій, [встановіть Docsify](https://docsify.js.org/#/quickstart) на ваш локальний комп'ютер, а потім у кореневій папці цього репозиторію введіть `docsify serve`. Вебсайт буде доступний на порту 3000 вашого localhost: `localhost:3000`.
|
|
|
|
|
|
## 📘 PDF
|
|
|
|
|
|
PDF з усіма уроками можна знайти [тут](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
|
|
|
|
|
|
|
|
|
## 🎒 Інші курси
|
|
|
|
|
|
Наша команда створює інші курси! Ознайомтеся з:
|
|
|
|
|
|
- [Генеративний ШІ для початківців](https://aka.ms/genai-beginners)
|
|
|
- [Генеративний ШІ для початківців .NET](https://github.com/microsoft/Generative-AI-for-beginners-dotnet)
|
|
|
- [Генеративний ШІ з JavaScript](https://github.com/microsoft/generative-ai-with-javascript)
|
|
|
- [Генеративний ШІ з Java](https://github.com/microsoft/Generative-AI-for-beginners-java)
|
|
|
- [ШІ для початківців](https://aka.ms/ai-beginners)
|
|
|
- [Наука про дані для початківців](https://aka.ms/datascience-beginners)
|
|
|
- [Машинне навчання для початківців](https://aka.ms/ml-beginners)
|
|
|
- [Кібербезпека для початківців](https://github.com/microsoft/Security-101)
|
|
|
- [Веб-розробка для початківців](https://aka.ms/webdev-beginners)
|
|
|
- [IoT для початківців](https://aka.ms/iot-beginners)
|
|
|
- [Розробка XR для початківців](https://github.com/microsoft/xr-development-for-beginners)
|
|
|
- [Опановуємо GitHub Copilot для агентного використання](https://github.com/microsoft/Mastering-GitHub-Copilot-for-Paired-Programming)
|
|
|
- [Опановуємо GitHub Copilot для розробників C#/.NET](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers)
|
|
|
- [Обирайте власну пригоду з Copilot](https://github.com/microsoft/CopilotAdventures)
|
|
|
|
|
|
## Ліцензія
|
|
|
|
|
|
Цей репозиторій ліцензовано за ліцензією MIT. Дивіться файл [LICENSE](../../LICENSE) для отримання додаткової інформації.
|
|
|
|
|
|
---
|
|
|
|
|
|
**Відмова від відповідальності**:
|
|
|
Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу. |