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, а также приростом производительности за счет дифференциальной загрузки.