От автора: во-первых, давайте поговорим о том, каковы преимущества Angular, что изменится, и насколько Angular лучше, чем React?
В основном я сосредоточусь на будущем Angular и на том, что изменится. Обычно, чтобы узнать об Angular, я просматриваю их репозиторий на GitHub, который вы можете посетить здесь. Это отличное место, чтобы быть в курсе того, что они изменяют в своем коде и какие функции они добавляют. Вы также можете проверить наличие проблем и быть осведомленным о них при использовании Angular для проектов.
Слабые стороны, где Angular нуждается в улучшении
Самая большая проблема Angular заключается в том, что приложения, которые вы создаете с его помощью, относительно большие. Это означает, что проект имеет большой размер файла. Это происходит из-за пакетов JavaScript внутри них, причиной чего в свою очередь является Angular CLI. Если вы сравните эти пакеты с пакетами, которые получите, создав приложение React, приложение Angular будет больше.
Во время выполнения вы не найдете никакой разницы. Производительность во время выполнения довольно хорошая, но загрузка может занять больше времени, потому что приложение относительно большое, даже для простых приложений.
Во-вторых, приложение Angular может быть очень сложным. Angular это полный фреймворк. И не только, это также полная платформа функций и инструментов. А это значит, что изучение Angular может быть немного сложнее, чем изучение React. С React вы сосредотачиваетесь только на создании компонентов, которые связаны с вариантом использования системы. Позже React добавил несколько новых функций, но его ядро основано на компонентах сборки. Это только частично связано с глобальным управлением состоянием, сервисами и введением зависимостей, которые есть в Angular, но не существуют в React. Для HTTP или AJAX запроса в React вам нужна отдельная библиотека, но в Angular она является встроенной. С маршрутизацией то же самое.
Вот почему, по сравнению с React и Vue JS, Angular немного сложнее в освоении, потому что он имеет больше встроенных взаимосвязей. То же относится к приложениям. Это, конечно, может быть сложно, но это также огромная сила, потому что, поскольку это всегда встроено, вы всегда можете положиться на существующие функции, и они будут работать очень хорошо. Поскольку та же команда, которая разрабатывает ядро Angular, также работает над такими вещами, как валидация форм и маршрутизация, вы можете полагаться на то, что эти части платформы обновляются, следуют передовым практикам и совместимы с версиями Angular. Это не то, что вы можете сделать с помощью сторонних приложений, используемых в React. Если вы используете библиотеку маршрутизации, она может не обновляться до последней версии React или может не поддерживать все функции React.
Сильные стороны Angular
Так как Angular имеет больше зависимостей и компонентов, встроенных в него, независимо от того, какой у вас проект, Angular поможет вам. В этом его самое основное преимущество. У вас есть много возможностей на выбор. У вас есть четкий набор правил, четкий синтаксис и сценарии, чтобы следовать рекомендациям. У вас есть четко определенное руководство по стилю и множество ресурсов и учебных пособий для изучения Angular.
Новая версия Angular выходит каждые шесть месяцев. Это не значит, что все меняется, но структура постепенно развивается. Это ядро обновлений Angular. Каждое обновление полностью обратно совместимо, и с момента первого выпуска Angular 2 произошли только небольшие изменения, такие как небольшие изменения API. Медленное, но постоянное улучшение – это всегда хорошо.
На англоязычном веб-сайте у них есть пост в блоге под названием План для версии 8.0 и IVY, объясняющий их планы на версию 8 и будущее. Его стоит прочитать, он дает предварительное представление об Opt-in-Ivy. Ivy является внутренним рендерером Angular. Рендерер — это движок, который принимает инструкции и преобразует их в DOM. Визуализация скрыта, и это не меняет способ работы с Angular.
Когда вы работаете с Angular, у вас есть небольшие и высокопроизводительные приложения. В будущем, как и в 2020 году, он будет поставляться с дифференциальной загрузкой современного JavaScript, предварительного просмотра Ivy, а команда Angular работает над реализацией Bazel, инструмента компиляции, разработанного Google в Angular CLI, который должен также помочь с оптимизацией размера файла, созданием меньших пакетов и может быть более быстрым процессом сборки. Он станет доступен в ближайшее время.
Они будут иметь меньшие приложения и поэтому избавятся от этих недостатков. Вместо этого у них будут сильные стороны: множество функций, четкий синтаксис и структура. Это даст вам небольшие и высокопроизводительные приложения. И снова, цель команды Angular — предотвратить радикальные изменения API, но, разумеется, они могут увидеть альтернативные способы создания компонентов. И, возможно, избавившись от модулей NG с помощью IVY, это стало бы возможным, поэтому мы могли бы просто сосредоточиться на компонентах.
Поэтому настоящее Angular уже довольно радужно, он очень популярен и работает хорошо. Приложения становятся немного больше, но это не большая проблема.
Автор: Kalhara Perera
Источник: https://medium.com
Редакция: Команда webformyself.