Эта статья изначально появилась на dormoshe.io

Пока мы заняты изучением и изучением Angular v4, команда Angular с нетерпением ждет и планирует пятую версию нашей прекрасной платформы Angular. На прошлой неделе в Юте прошла основная конференция Angular, ng-conf 2017, и это было потрясающе. Вы можете создавать вместе с нами! - это общее послание команды Angular сообществу разработчиков в этом году 😍

Команда Angular всегда думает, что им нужно сделать в следующей версии, что подтолкнет Angular в правильном направлении и что изменит ситуацию.

В этой статье мы познакомимся с версией 5.

Сделайте AOT по умолчанию

Одна из целей команды Angular - упростить способ компиляции приложения. Очень часто в режиме разработки мы используем то, что мы называем JIT-компиляцией. JIT - это очень быстрый процесс компиляции, который помогает ускорить жизненный цикл разработки. Затем, когда вы будете готовы перейти к производству, используйте оптимизирующий компилятор, который мы называем компилятором Ahead-Of-Time (AOT). Иногда между этими двумя есть различия, которые могут расстраивать, потому что вы работаете над приложением, и когда вы готовы к отправке, вы понимаете, что есть вещи, которые вам все еще нужно сделать, прежде чем вы действительно сможете создать приложение и продвинуть его. это к производству.

Команда собирается сделать AOT-компиляцию по умолчанию. Это будет сделано за счет ускорения и включения инкрементной компиляции. Это означает, что у нас будет единый процесс компиляции, который мы будем использовать на протяжении всей разработки приложения. Процесс уменьшит количество трений в проявке. Другое дело акцент на размер и скорость. Мы много слышали о «60% уменьшении размера пакета или размера приложения по всем направлениям». Это было хорошее достижение, но команда поняла, что еще может сделать гораздо больше.

Режим просмотра

Поскольку мы можем запускать tsc —-watch, мы хотим иметь то же самое для компилятора Angular (ngc) и интегрировать его с Angular-CLI. Мы хотим как можно скорее понять, хорош наш код или нет.

Проверка типа в шаблонах

Еще одна вещь, над которой они действительно будут работать, - это проверка типов в шаблонах. Если мы использовали предварительную компиляцию и неправильно написали свойство, то в наших файлах * .ngfactory будет ошибка проверки типа. Для тех, кто не является экспертом, это ни о чем не говорит, потому что, просматривая эти файлы * .ngfactory, мы не понимаем, что Angular делает под капотом. Итак, команда изменит это на средство проверки типов, которое будет сообщать о нашем шаблоне, поэтому будет сказано «строка: 2, столбец: 3, вы допустили ошибку в свойстве x», и он будет работать. также с помощью Typescript strict-null-проверок.

Более гибкие метаданные

AOT допускает только функции верхнего уровня в качестве фабрик в свойстве useFactory, поэтому, когда мы создаем объект поставщика, мы не можем использовать замыкание. Это будет поддерживаться в будущем.

Удалить файлы * .ngfactory.ts

Автономный компилятор Angular компилирует шаблоны в файлы Typescript с расширением .ngfactory.ts. Компилятор Typescript компилирует эти файлы в JavaScript. Таким образом, он (тип) проверяет и обнаруживает опечатки и ошибки типа в наших шаблонах, если таковые имеются. Команда изменит скомпилированный конвейер на встроить * .ngfactory в наш код, пока мы его компилируем.

Улучшенные сообщения об ошибках

Версия 4 приносит нам огромные улучшения в сообщениях об ошибках, но она все еще не идеальна. Команда работала над улучшением сообщений об ошибках с точки зрения количества, качества и других деталей.

Плавные обновления

Плавное обновление, как и в версии 4, просто потрясающее. Они хотят сделать это супер простым для нас и использовать его. Это можно сделать, только убедившись, что нет никаких препятствий и нет причин придерживаться версии 4 или 5. Это похоже на автоматическое обновление? 😱

Встряхиваемые деревьями компоненты

Встряхиватель дерева проходит по графу зависимостей сверху вниз и вытряхивает неиспользуемый код, как мертвые листья на дереве. Встряхивание дерева может значительно уменьшить загружаемый размер приложения за счет удаления неиспользуемых частей как исходного кода, так и кода библиотеки. Еще одна вещь, на которой команда будет сосредоточена, - это убедиться, что при использовании библиотек компонентов, таких как angular-material, ionic или material design, мы сможем древовидно встряхнуть все компоненты.

Приложение для гибридного обновления

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

  • Ленивая загрузка для AngularJS / Angular
  • Меньше шаблонов и лучший инструментарий
  • Повышение производительности гибридных приложений.
  • Лучше двойной маршрутизатор
  • Улучшить тестирование
  • Дополнительная документация и примеры

Заключение

До v5 еще далеко, но некоторые его преимущества уже видны. В компиляторе angular и в приложении для гибридного обновления можно сделать большие вещи. Он все еще не заблокирован, и, возможно, в планы внесут некоторые изменения. Похоже, что у основной команды много работы, а пока мы можем продолжать наслаждаться v4. Так что сентябрь-октябрь 2017 года будет интересным 😁

Вы можете подписаться на меня в dormoshe.io или Twitter, чтобы узнать больше об Angular, JavaScript и веб-разработке.