Frontend
October 15, 2023

Angular: создание простого веб-приложения

Введение

Привет! Сегодня я расскажу тебе, что такое Angular и как с его помощью можно создавать крутые веб-приложения.

Angular - это инструмент, который упрощает жизнь веб-разработчиков. Он позволяет быстро создавать сайты и приложения, используя готовые блоки кода.

В этой статье мы с тобой разберем основы Angular и создадим простое веб-приложение. Готов? Тогда поехали!

Что такое Angular

Angular - это JavaScript фреймворк, созданный компанией Google для разработки веб-приложений.

Он использует технологию компонентов. Это значит, что веб-страница делится на отдельные части-компоненты. Каждый компонент - это как кусочек пазла в общей картинке.

К примеру, на странице может быть:

  • Компонент меню
  • Компонент слайдера
  • Компонент футера

Из этих компонентов как из конструктора и собирается веб-приложение.

Главные преимущества Angular:

  • Ускоряет разработку за счет готовых решений
  • Упрощает тестирование кода
  • Позволяет создавать крутые анимации и интерактивные элементы
  • Отлично масштабируется - от маленьких до огромных проектов

Короче, если хочешь научиться быстро кодить сайты - Angular твой выбор! Он очень популярен среди веб-разработчиков и используется во многих компаниях. Например, на Angular сделаны сайты Upwork, Forbes, IKEA, Nike, Google и другие. Так что этот навык точно будет востребован!

Установка Angular

Чтобы начать разработку приложений на Angular, нужно установить Angular CLI. Это специальная утилита командной строки, которая упрощает создание и работу с проектами.

Открой терминал и введи команду:

npm install -g @angular/cli

Это установит последнюю версию Angular CLI. Теперь можно приступать к разработке.

Angular CLI содержит множество команд для быстрого старта, создания компонентов, тестирования, сборки и других задач. Нам это очень пригодится!

Создание нового проекта Angular

Самое простое - создать новый проект, используя Angular CLI:

ng new my-app

Здесь "my-app" - это название твоего приложения.

После выполнения команды, Angular CLI автоматически сгенерирует структуру проекта со всеми нужными файлами и папками.

В корне будут основные файлы приложения:

  • package.json - настройки проекта
  • angular.json - конфигурация Angular
  • src/ - папка с исходным кодом

В src/ создаются компоненты, сервисы, модули - всё, что нужно для приложения.

Также Angular CLI сразу установит необходимые библиотеки и модули, чтобы можно было сразу начинать кодить. Например, модуль форм, модуль роутинга, HttpClient для работы с API и так далее.

Конфигурация проекта в angular.json тоже будет готова - настройки сборки, тестирования, запуска dev-сервера. Можно не вдаваться в детали, Angular CLI всё сделает за тебя!

Основные компоненты Angular

Как я уже упоминал, Angular использует компонентный подход.

Компонент - это основной блок интерфейса. Компонент состоит из 3 частей:

  • HTML шаблон - разметка компонента
  • TypeScript класс - логика компонента
  • CSS стили - визуальное оформление

Модуль - это контейнер для компонентов. Он помогает их группировать.

Сервис - это класс со вспомогательной функциональностью, например работа с данными.

Сервисы могут использоваться в компонентах для вынесения бизнес-логики.

Давай рассмотрим пример компонента в Angular:

// Компонент
@Component({
  selector: 'app-hero',
  templateUrl: './hero.component.html',
  styleUrls: ['./hero.component.css']
})
export class HeroComponent {
  // Логика компонента  
}

<!--HTML шаблон-->
<div>
  <h2>Герой</h2>
  <p>Информация о герое</p>
</div>

/* CSS стили */
h2 {
  color: red; 
}

Компоненты нужно добавлять в модули, чтобы они были доступны для использования.

Angular использует TypeScript - это такой улучшенный JavaScript со строгой типизацией и дополнительными возможностями. Но не волнуйся, основы JavaScript тебе будет достаточно, чтобы разобраться!

Создание простого веб-приложения

Теперь, когда мы разобрали основы, можно попробовать создать небольшое веб-приложение на Angular.

Давай сделаем простой сайт-визитку с такими страницами:

  • Главная
  • Обо мне
  • Мои работы
  • Контакты

Сначала сгенерируем компоненты для каждой страницы:

ng generate component home
ng generate component about
ng generate component works
ng generate component contacts

Angular CLI позволяет легко генерировать файлы по шаблонам. Команда ng generate component создаст папку с файлами для нового компонента.

Теперь добавим их в app.module.ts, чтобы они были доступны в приложении:

@NgModule({
  declarations: [
    AppComponent,
    HomeComponent,
    AboutComponent,
    WorksComponent,
    ContactsComponent
  ]
})

Также создадим базовый компонент AppComponent, который будет содержать общую разметку.

В нем разместим меню для навигации между страницами:

<nav>
  <a routerLink="/home">Главная</a>
  <a routerLink="/about">Обо мне</a>
  <a routerLink="/works">Мои работы</a>
  <a routerLink="/contacts">Контакты</a>
</nav>

<router-outlet></router-outlet>

В router-outlet будут подгружаться компоненты страниц при навигации.

Не забудем также импортировать и настроить модуль роутинга в приложении!

Теперь осталось реализовать содержимое страниц: добавить разметку, стили, логику. Можно использовать Bootstrap для стилизации.

И конечно же не забудь про мобильную адаптивность! Меню должно выглядеть красиво на всех устройствах. Это важно для пользовательского опыта.

Тестирование веб-приложения

После разработки функционала нужно протестировать приложение. Angular предоставляет удобные инструменты для этого.

Можно написать unit-тесты для отдельных компонентов, чтобы убедиться в работоспособности кода.

Например:

it('should create', () => {
  const component = new HomeComponent();
  expect(component).toBeTruthy();
});

Также полезно сделать end-to-end тесты, которые проверят весь workflow приложения от начала до конца.

Для этого используется framework Protractor. Он эмулирует действия пользователя в браузере и проверяет, что всё работает корректно.

Тестирование поможет выявить и исправить баги перед релизом. Это очень важный этап разработки!

Заключение

Мы разобрали основы Angular и создали простое одностраничное веб-приложение на нем. Это отличная возможность попрактиковаться и понять как устроен Angular. В реальных проектах всё намного сложнее - используются дополнительные библиотеки, паттерны проектирования, базы данных. Изучай Angular дальше, пробуй реализовывать новые идеи для своего портфолио. Можешь почитать документацию, посмотреть видео-уроки и каналы про Angular в YouTube.