Найти тему
WebForMySelf

Я попробовал Angular как разработчик React. 6 вещей, которые мне понравились

Оглавление

Источник: WebForMyself.com

Angular был первым фреймворком, который я когда-либо пробовал. Я быстро отошел от него. Вместо этого я открыл для себя React.js.

Конечно, я могу быть предвзятым. Я признаю, что мои воспоминания об 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 уже доминировали — и я понятия не имел о них.

С другой стороны, 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. Я не считаю это большим недостатком. Сторонний код сам по себе не хуже.

Тем не менее, приятно знать, что команда Angular поддерживает все компоненты вашего приложения — также, таким образом, снижается риск устаревания или плохого кода.

Еще одно преимущество может заключаться в том, что сообщество с большей вероятностью будет использовать ту же технологию таким же образом.

Я чаще слышал от поклонников React.js, что библиотека лучше — просто потому, что вам не нужны инструменты для обработки форм, HTTP-запросов и так далее по умолчанию. Со временем я понял, что это не лучший аргумент. В основном это исходит от людей, которые думают, что это увеличит размеры пакетов — независимо от того, используете ли вы встроенные функции или нет.

В Angular большинство API-интерфейсов, которые вам не всегда нужны, доступны как отдельный импорт. Если ваше приложение не использует HTTP-клиент, оно не будет включено в производственный пакет.

5. Полный и полезный интерфейс командной строки

Angular работает и падает со своим CLI. Он также прекрасно вписывается в философию «есть только один правильный способ для всего» и помогает сделать практически все, что вам нужно. От добавления компонента до завершения приложения с рендерингом на стороне сервера — CLI предлагает все это. Просто посмотрите на все эти команды!

-2

6. Отличная документация

Мне не очень нравится его дизайн. Может быть, здесь плюс для React. Тем не менее, официальная документация Angular сияет своим содержанием. Хорошим примером является также проблема, с которой я столкнулся с серверным рендерингом React.js.

Документация React мало что говорит по этой теме. В конце концов, такие фреймворки, как Next.js, являются автономными и официально не связаны с React. В документации Angular вы можете найти все, что вам нужно о рендеринге на стороне сервера.

В дополнение к отличным введениям и объяснениям, подробный контент по этой теме, созданный Google, часто связан с документацией по Angular.

Еще одно преимущество, которое я помню, — это отличное введение. Когда я впервые попробовал Angular, мне очень помог легендарный «Tour of Heros».

Читайте нас в Telegram, VK

Источник: javascript.plainenglish.io