Google продолжает развивать Angular, что привело к созданию многочисленных версий за пять лет. Благодаря быстрому росту последняя версия стала одной из наиболее широко используемых платформ, и ее используют более миллиона разработчиков.
Вышел Angular 8.0! Это основной выпуск, охватывающий всю платформу, такую как фреймворк, Angular Material и CLI с основными версиями. В этом выпуске улучшено время запуска приложений в современных браузерах, представлены новые API-интерфейсы для подключения к CLI, а также приведена в соответствие Angular с экосистемой и другими веб-стандартами.

Дифференциальная загрузка современного JavaScript:
Одним из ключевых элементов пользовательских служб разработки веб-приложений является создание веб-приложений, совместимых с большинством браузеров. JavaScript претерпел экспоненциальную эволюцию. Однако вместо того, чтобы вводить новые функции, не все браузеры обновляются с поддержкой новых функций с одинаковой скоростью.
Некоторые из его особенностей упомянуты ниже
- Создавайте оптимизированные пакеты для современных браузеров.
- Создавайте устаревшие пакеты для старых браузеров.
- Убедитесь, что браузер загружает правильный набор пакетов.
- Автоматизируйте процесс, упростив расширение CLI.
Доступ к обмену информацией об использовании:
Чтобы их усилия соответствовали потребностям сообщества, Angular 8.0 добавит телеметрию в CLI. При этом Angular 8.0 начнет собирать анонимные данные, такие как используемые команды и скорость сборки, но только если вы позволите им это сделать. Эта информация поможет им узнать, как разработчики используют Angular 8.0, чтобы в будущем они могли улучшить его.
Улучшенное объединение веб-воркеров:
Веб-воркеры включаются при создании производственных пакетов, что важно для улучшения параллелизма и помогает повысить производительность.
Таким образом, Angular 8.0 добавляет поддержку построения в CLI, которая предоставляет один пакет для каждого веб-работника.
Поддержка Базель:
Одной из новых функций Angular 8 является возможность создавать CLI-приложения с помощью Bazel. Сам фреймворк Angular построен с помощью Bazel.
Особенности Базеля:
- Мы сможем создавать наши серверные части и интерфейсы с помощью одного и того же инструмента.
- Более быстрое время сборки: первая сборка будет мучительно медленной, поскольку Bazel стремится к точно воспроизводимым сборкам, но параллельные сборки будут намного быстрее, и будет полезно, если ваше приложение использует несколько модулей и библиотек.
- Инкрементная сборка: Codebase вызовет только наименьшую возможную помощь по перестройке для сборки и развертывания только того, что изменилось, а не всего приложения.
- Вы можете извлечь файлы Bazel, по умолчанию они скрыты.
- Возможность иметь удаленные сборки (с кешем) на сборочной ферме
Отложенная загрузка:
Ленивая загрузка основана на идеях Angular Routing, поскольку она помогает уменьшить размер больших файлов за счет ленивой загрузки необходимых файлов. В предыдущих версиях angular конфигурация маршрута использовала свойство @loadChildren, которое принимает строку, и если при написании кода было неправильное имя модуля или какая-либо опечатка, Angular не считал бы это неправильным и принимал любое значение как строку, пока мы попробуй построить.
Таким образом, чтобы преодолеть это, они добавили поддержку динамического импорта в конфигурацию маршрутизатора в последней версии Angular 8, которая позволяет использовать оператор импорта для ленивой загрузки модуля, и это будет пониматься IDE, веб-пакетом и т. д.
Теперь редактор поймет, что это за синтаксис, и распознает, если есть какая-то ошибка, и нам не придется ждать времени сборки, чтобы понять об ошибке.
угловой/http
Начиная с Angular 8 эта поддержка больше недоступна. Итак, нам нужно внести коррективы в наш код, чтобы использовать @angular/common/http вместо @angular/http.
Обратная совместимость маршрутизатора Angular
С Angular 8 обновление больших приложений будет проще, поскольку они добавляют режим обратной совместимости.
Командам будет проще перейти на Angular, разрешив ленивую загрузку частей приложения AngularJS с помощью API $route.
Обновления зависимостей
Как обычно, они обновляют все зависимости от таких инструментов, как: RxJS, TypeScript и Node, чтобы синхронизировать их с остальной частью экосистемы.
Поддержка typeScript 3.4
Angular 8 разрешил использование Typescript 3.4 с его введением. Таким образом, вы обязаны безошибочно обновлять версию TypeScript.
Это обновление может показаться незначительным; однако это будет полезно при создании читаемых и чистых кодов JavaScript.
Сотрудник службы
Angular поставляется с реализацией сервис-воркера, начиная с версии 5. С помощью Angular Service Worker и встроенной поддержки PWA в Angular CLI разработчики Angular могут воспользоваться преимуществами этого сервис-воркера и извлечь выгоду из повышенной надежности и производительности, которые он обеспечивает, без необходимости кодирования. против низкоуровневых API и может обеспечить загрузку и установку нативных приложений.
Движок визуализации Ivy:
Наиболее важной особенностью Angular 8 является движок рендеринга IVY.
- Google представил предварительную версию Ivy с целью получения отзывов от сообщества разработчиков Angular, связанных с Ivy. В настоящее время он находится в производственной среде прямо сейчас.
- Ivy — это новый и новейший компилятор Angular, а также инструмент, служащий новым конвейером рендеринга.
- Создает значительно небольшие пакеты и может выполнять инкрементную компиляцию простым способом.
- Ivy формирует основу будущих инноваций в мире Angular.
- Многие разделы в Angular были изменены, после перехода на Ivy существующее приложение будет работать так же, как и раньше. Но это поможет уменьшить размер пучков.
Как обновиться до версии 8?
Посетите update.angular.io для получения подробной информации и рекомендаций. Для большинства разработчиков об этом обновлении должна заботиться одна команда:
“ ng update @angular/cli @angular/core“
Ниже приведены несколько вещей, которые необходимо учитывать при обновлении до Angular 8:
- Возможно появление синтаксических ошибок из-за наличия файла TypeScript 3.4. Это может вызвать некоторые проблемы.
- Для обновления необходимо использовать версию Node.js 12 или более позднюю. Вы можете запустить команду $ node-v, чтобы проверить, какую версию Node вы используете в данный момент.
- Вам также потребуется обновить Angular Material в приложении, выполнив команду: $ ng update @angular/material.
Вывод:
Если вы хотите ответить, следует ли вам перейти на Angular 8.0 или нет, то наш ответ да не задумываясь. С Angular 8.0 вы можете наслаждаться приложениями Ivy, а также приростом производительности за счет дифференциальной загрузки.