# Создание банковского приложения. Часть 1: HTML-шаблоны и маршруты в веб-приложении ## Викторина перед лекцией [Викторина перед лекцией](https://ff-quizzes.netlify.app/web/quiz/41) ### Введение С появлением JavaScript в браузерах веб-сайты стали более интерактивными и сложными, чем когда-либо. Веб-технологии теперь часто используются для создания полноценных приложений, которые работают прямо в браузере и называются [веб-приложениями](https://en.wikipedia.org/wiki/Web_application). Поскольку веб-приложения очень интерактивны, пользователи не хотят ждать полной перезагрузки страницы каждый раз, когда выполняется какое-либо действие. Именно поэтому JavaScript используется для обновления HTML напрямую через DOM, чтобы обеспечить более плавный пользовательский опыт. В этом уроке мы заложим основы для создания банковского веб-приложения, используя HTML-шаблоны для создания нескольких экранов, которые можно отображать и обновлять без необходимости перезагрузки всей HTML-страницы. ### Предварительные требования Для тестирования веб-приложения, которое мы будем создавать в этом уроке, вам понадобится локальный веб-сервер. Если у вас его нет, вы можете установить [Node.js](https://nodejs.org) и использовать команду `npx lite-server` из папки вашего проекта. Это создаст локальный веб-сервер и откроет ваше приложение в браузере. ### Подготовка На вашем компьютере создайте папку с именем `bank` и файл с именем `index.html` внутри нее. Мы начнем с этого [шаблона HTML](https://en.wikipedia.org/wiki/Boilerplate_code): ```html Bank App ``` --- ## HTML-шаблоны Если вы хотите создать несколько экранов для веб-страницы, одним из решений будет создание отдельного HTML-файла для каждого экрана, который вы хотите отобразить. Однако это решение имеет некоторые недостатки: - При переключении экрана необходимо перезагружать весь HTML, что может быть медленным. - Сложно делиться данными между различными экранами. Другой подход — использовать только один HTML-файл и определить несколько [HTML-шаблонов](https://developer.mozilla.org/docs/Web/HTML/Element/template) с помощью элемента `