В то время как в сообществе фронтендов по-прежнему много шума вокруг Angular 2, ранее на этой неделе Google уже выпустил Angular 4. Google получил отрицательную обратную косую черту от разработчиков AngularJS, когда он перешел на Angular 2 с совершенно другой архитектурой без обратной совместимости с существующей структурой. Angular 4, с другой стороны, является улучшением по сравнению с angular 2 с небольшими критическими изменениями или без них, обеспечивая лучшую оптимизацию кода и некоторые интересные новые функции. Что ж, это облегчение для сообщества angular, которое все еще восстанавливается после радикального перехода Google с Angular 1 на Angular 2.

В этом новом выпуске команда angular представляет семантическое управление версиями: второстепенная версия выпускается каждый месяц с новыми функциями, а основная версия выпускается каждые шесть месяцев с минимальными критическими изменениями. Итак, мы можем ожидать следующего крупного обновления Angular 5 в конце этого года.

Почему не Angular 3?

Техническая причина, указанная Google, заключается в том, что последняя версия углового маршрутизатора имеет версию 3.3.0, которая не синхронизирована с другими модулями, которые имеют версию 2.3.0, и команда планирует выровнять имена версий среди модулей с Angular 4.

Что нового в Angular 4?

Меньше и быстрее

  • Просмотр двигателя

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

  • Отдельный модуль анимации

Раньше анимация была частью основного модуля angular. В новом выпуске анимация отделяется от ядра в отдельном модуле. Это делает приложения, не требующие анимации, немного меньше, что снова является преимуществом для разработчиков.

Enhanced * ngIf

Директива * ngIf используется для условного отображения шаблона, который является частью более ранних версий. Теперь angular 4 поддерживает отображение альтернативного шаблона с помощью else.

<div *ngIf="show; else elseBlock">Text to show</div>

<ng-template #elseBlock>Alternate text while primary text is hidden</ng-template>

Улучшенный интерфейс командной строки

Больше всего мне нравится в angular его отличный инструмент CLI. Angulat cli основан на сборщике модулей webpack, который сегодня популярен в веб-сообществе. Он выполняет все этапы установки и настройки, позволяя разработчику быстро приступить к работе с существующим новым проектом, вместо того, чтобы тратить часы на настройку и сборку частей для запуска проекта. В angular cli представлены лучшие практики, настройка машинописного текста, конфигурация тестирования и настройки среды, что облегчает работу разработчика. Новый интерфейс командной строки также поддерживает установку пакетов через менеджер пакетов yarn. Все, что вам нужно сделать, это открыть терминал и ввести команду:

set --global packageManager=yarn

Конфигурация веб-пакета

Что ж, эта функция была доступна некоторое время, и не только для версии angular 4. Angular cli, построенный на веб-пакете, обеспечивает работу с черным ящиком, не открывая файл конфигурации веб-пакета. Невозможность настроить файл webpack и добавить собственные модули и библиотеки была преградой. Я считаю, что первые последователи Angular чувствуют мою боль. Однако в более поздних версиях angular cli вы можете просто запустить ng eject в каталоге вашего проекта, чтобы включить файл конфигурации webpack в вашем проекте angular.

Обновление до Angular 4

Вы можете выполнить следующие команды, чтобы обновить существующий проект angular 2 до angular 4.

iOS / Linux:

npm i @angular/{common,compiler,core,forms,http,platform-browser,platform-browser-dynamic,platform-server,router}@next typescript@latest –S –E
npm i @angular/compiler-cli@next — D -E

Windows:

npm i @angular/common@next @angular/compiler@next @angular/core@next @angular/forms@next @angular/http@next @angular/platform-browser@next @angular/platform-browser-dynamic@next @angular/platform-server@next @angular/router@next typescript@latest — S -E
npm i @angular/compiler-cli@next — D -E

Команда Angular пообещала плавное и безболезненное обновление до новой версии angular с минимальными усилиями разработчика или без них.

Это захватывающее время для фронтенд-разработчика. Не могу дождаться, чтобы попробовать новые функции. Так вы попробовали Angular 4? Какие новые функции вам нравятся больше всего? Напишите в комментариях.