Конечно, я могу быть предвзятым. Я признаю, что мои воспоминания об Angular были немного ошибочными. Тем не менее, это не вина Angular. Тогда я почти не имел представления о JavaScript. Теперь я знаю больше. Намного больше. Пришло время бросить вызов своему прошлому и дать Angular еще один шанс.
После того, как я попробовал его снова, я был удивлен: Angular на самом деле довольно крутой. И вот что мне, как парню из React, нравится в нем.
1. Рендеринг на стороне сервера и многое другое
Содержание статьи:
Что представляет собой React для интерфейса командной строки Angular? Ну, я бы сказал, CLI create-react-app. Тем не менее, самое забавное, что я редко использую CRA. Почему? Ну, потому что React.js больше живет в своих десятках фреймворков и генераторов сайтов. Хорошие названия здесь Next.js, Gatsby или даже Astro. Вы используете приложение create-react-app для производственного приложения React? Скорее всего– нет.
Когда я изучил основы React.js, это было большим разочарованием. Я подумал, что с библиотекой можно создавать готовые к производству приложения. Тем не менее, у меня было ощущение, что все говорят на другом языке. Next.js и Gatsby уже доминировали — и я понятия не имел о них.
Бесплатный курс «Laravel + Angular. Быстрый старт»
Изучите курс и узнайте, как создать веб-приложение с нуля на Angular и Laravel
Получить курс
С другой стороны, Angular очень хорошо обозначил то, что вам может понадобиться все вместе.
2. На самом деле он не такой уж и большой
Готовое приложение составляет 145 килобайт. Аналогичное приложение в React.js имеет размер 135 килобайт, что ненамного меньше. Я был очень удивлен этим результатом, так как Angular казался явно страдающим лишним весом.
Конечно, простой счетчик в Angular по сравнению с таким же счетчиком в React.js — не лучшее сравнение. Размер пакета, очевидно, увеличивается, когда мы импортируем все больше и больше функций фреймворка / библиотеки. Тем не менее, был такой стереотип, что необходимый размер пакета Angular будет намного больше, чем у React. Я просто доказал, что это неправильно.
3. Есть один способ сделать что угодно
Это сложно объяснить. Но когда я начал с React.js, я сделал много ошибок. После создания нового приложения в React, все что я увидел, — это странная структура JSX — и я был поражен пониманием перехода от HTML к JavaScript в коде.
Это то, что приводит к проблемам у многих новичков React.js. Это цена свободы React. С другой стороны, Angular намного строже, и, кажется, вам нужно больше изучить, прежде чем вы сможете сделать первые шаги.
Это игра с нулевой суммой. Я мог бы сделать так, чтобы это выглядело как преимущество для Angular, но также и для React.js.
Тем не менее, я наконец понял аргументы поклонников Angular. Вы не можете ожидать, что все будут придерживаться лучших практик, особенно в больших командах. Вот почему более строгие рамки могут помочь избежать проблем, особенно в долгосрочной перспективе.
4. Да, это фреймворк
Я смеялся над аргументом «Фреймворк лучше библиотеки». Тем не менее, попробовав Angular, я стал лучше разбираться в этом моменте.
Да, Angular — это фреймворк. С другой стороны, React — это всего лишь библиотека. Разница очевидна. Глядя на документацию Angular, вы видите это: Angular предлагает все, что вам может понадобиться, в его официальной среде.
Маршрутизация, рендеринг на стороне сервера, HTTP-клиент и даже инструмент для интернационализации вашего приложения. Для всего этого вам понадобится сторонняя библиотека в мире React.js. Я не считаю это большим недостатком. Сторонний код сам по себе не хуже.
Бесплатный курс «Laravel + Angular. Быстрый старт»
Изучите курс и узнайте, как создать веб-приложение с нуля на Angular и Laravel
Получить курс
Тем не менее, приятно знать, что команда Angular поддерживает все компоненты вашего приложения — также, таким образом, снижается риск устаревания или плохого кода.
Еще одно преимущество может заключаться в том, что сообщество с большей вероятностью будет использовать ту же технологию таким же образом.
Я чаще слышал от поклонников React.js, что библиотека лучше — просто потому, что вам не нужны инструменты для обработки форм, HTTP-запросов и так далее по умолчанию. Со временем я понял, что это не лучший аргумент. В основном это исходит от людей, которые думают, что это увеличит размеры пакетов — независимо от того, используете ли вы встроенные функции или нет.
В Angular большинство API-интерфейсов, которые вам не всегда нужны, доступны как отдельный импорт. Если ваше приложение не использует HTTP-клиент, оно не будет включено в производственный пакет.
5. Полный и полезный интерфейс командной строки
Angular работает и падает со своим CLI. Он также прекрасно вписывается в философию «есть только один правильный способ для всего» и помогает сделать практически все, что вам нужно. От добавления компонента до завершения приложения с рендерингом на стороне сервера — CLI предлагает все это. Просто посмотрите на все эти команды!
6. Отличная документация
Мне не очень нравится его дизайн. Может быть, здесь плюс для React. Тем не менее, официальная документация Angular сияет своим содержанием. Хорошим примером является также проблема, с которой я столкнулся с серверным рендерингом React.js.
Документация React мало что говорит по этой теме. В конце концов, такие фреймворки, как Next.js, являются автономными и официально не связаны с React. В документации Angular вы можете найти все, что вам нужно о рендеринге на стороне сервера.
В дополнение к отличным введениям и объяснениям, подробный контент по этой теме, созданный Google, часто связан с документацией по Angular.
Еще одно преимущество, которое я помню, — это отличное введение. Когда я впервые попробовал Angular, мне очень помог легендарный «Tour of Heros».
Автор: Louis Petrik
Источник: webformyself.com