Автор оригинала: FreeCodeCamp Community Member.
Sacha Greif.
Когда нужно реагировать на проект? Это вопрос, который Крис Койер обратился в Последние блог пост Отказ Я большой поклонник написания Криса, поэтому мне было любопытно посмотреть, что он должен был сказать.
В двух словах Крис передвигает ряд хороших и плохих причин, по которым можно использовать реагирование (или другие аналогичные современные библиотеки JavaScript) на проекте. И все же, пока я не согласен со своими аргументами, я до сих пор оказываюсь на другом выводу.
Итак, сегодня, я здесь, чтобы утверждать, что ответ «Когда нужно реагировать на проект?» не «это зависит». Это « каждый раз. »
React VS Vue против угловых против …
Во-первых, давайте получим что-то с пути: в своей статье Крис выбрал реагировать как подстановочный для «входных библиотек» в целом, и я сделаю то же самое здесь. Плюс отреагирует, что я больше всего знаком с моей текущей работой на Vulcanjs , React и GraphQL Framework.
Что говорится, что мои аргументы должны относиться одинаково хорошо для любой другой библиотеки, которая предлагает те же функции, что и реагируют.
Сила молотка
Эта пословица уже давно использовалась для того, чтобы кто-то, кто пытается применить систематический подход к одной проблеме.
Но давайте на мгновение полагать, что вы сделал Жить в мире, полный ногтей (однако не неудобно это может звучать), и что ваш доверительный молот смог позаботиться о любых проблемах, которые вы столкнулись.
Просто рассмотрите преимущества того, чтобы быть в состоянии повторно использовать тот же инструмент каждый раз :
- Нет времени, потраченных на решение того, какой инструмент для использования.
- Меньше времени, проведенного необходимостью изучать новые инструменты.
- Больше времени, чтобы поправиться на владении вашего инструмента выбора.
Так реагирует на этот инструмент? Я думаю, что это просто может быть!
Спектр сложности
Во-первых, давайте обратимся к наиболее распространенному аргументу против «реагировать все вещи!» подход. Я цитирую прямо из Криса:
Справедливо. Простой блог не нужно Реагировать. Ведь, даже если вам нужен немного JavaScript, чтобы подключить форму регистрации рассылки, вы можете просто использовать jQuery.
Что это? Вам нужно использовать эту форму в нескольких местах на разных страницах? И только показать это при определенных условиях? И анимировал это тоже? Сейчас подожди…
Дело в том, что я пытаюсь сделать с этим маленьким сценарием, так это то, что сложность не является все или ничего, двоичный выбор. Вместо этого современные веб-сайты живут на непрерывном спектре, который идет со статической страницы, все пути к богатому приложению одностраничное.
Так что, возможно, ваш проект удобно вложен в «простой» конце спектра сейчас , но как около шести месяцев вниз по дороге? Разве не лучше выбрать технологию, которая оставляет вас в комнате, а не один, который зажигал вас в плохие практики?
Преимущества реагирования
Это еще одно популярное высказывание среди программистов. В конце концов, кому нужны молотки и ногти, когда лента протоки все будет хорошо!
Но это делает предположение, что «преждевременная оптимизация» является длительным, трудным процессом с несколькими преимуществами. И я не думаю, что это относится к реакции.
В то время как реакцию может занять некоторое время, когда вы будете изучать Его основные концепции Вы будете так же продуктивны, как и с классическими интернет-инструментами.
Может быть, больше на самом деле, потому что React используют чрезвычайно мощную концепцию Компоненты Отказ Также как CSS поощряет вас подумать с точки зрения многоразовых классов и стилей, Rect подталкивает вас к гибкой, модульной передней части архитектуры, которая имеет преимущества для каждого корпуса использования, из низкостатической домашней страницы на интерактивную внутреннюю панель приборной панели.
JavaScript, JavaScript везде
Мы живем в мире JavaScript. Или, как кладет Крис:
Крис не совсем убежден, но я. JavaScript сам по себе не обязательно идеально, но имел доступ ко всей современной экосистеме NPM, удивительно.
Установка плагина jQuery используется для включения нахождения его домашней страницы, загрузка его, копируя его в свой каталог проекта, добавив Igle NPM I команда nstall.
А с новыми библиотеками, как Стильные компоненты Даже CSS в настоящее время перетаскивает удар и кричать в будущее.
Поверьте мне, как только вы привыкли к этому миру, где все говорят на одном языке, это действительно трудно вернуться к старому пути делать вещи.
Не будет кто-нибудь, пожалуйста, подумайте о пользователях!
Я знаю, что вы думаете: до сих пор я попытался продать вам преимущества реагирования на разработчиков, но я тщательно подогнал любое упоминание об опыте конечного пользователя.
И это остается ключевым аргументом против современных библиотек: медленные, раздутые JavaScript, которые ведутся, просто загрузка одного из объявлений «один странный трюк».
За исключением здесь маленького секрета: Вы можете получить все преимущества React без JavaScript вообще !
О чем я говорю здесь, является рендеринг на Сервер Отказ На самом деле инструменты, как GATSBY (И вскоре Next.js ) Даже позвольте вам компилировать компоненты React в статические HTML-файлы, которые вы можете проводить, скажем, страницы GitHub.
В качестве примера Мой собственный персональный сайт Это приложение GATSBY-RACT, которое не загружается никакого JavaScript вообще (за пределы фрагмента Google Analytics). Я получаю все преимущества использования реагирования в разработке (All-JavaScript, доступ к экосистеме NPM, стилизованные компоненты и т. Д.) Но в конечном итоге с 100% HTML-и CSS конечным продуктом.
Обертывание
Чтобы повторить, вот четыре причины, почему я думаю, что Rection является действительным выбором для любой проект:
- Это действительно трудно гарантировать, что вы никогда не будете когда-либо Нужны интерактивные функции, такие как вкладки, формы – даже для простейших сайтов.
- Подход на основе реагирования на основе компонентов имеет большие преимущества – даже для статических сайтов на основе контента.
- Доступ к современной javaScript Ecosystem – огромная выгода.
- Современные инструменты рендеринга сервера устраняют для вашего конечного пользователя любые недостатки для использования реагирования.
Так что вы думаете, Крис? Я сделал убедительный случай? Или сомнения все еще задерживаются в вашем уме?
А как насчет тебя, дорогой читатель? Независимо от того, думаете ли вы, как Крис, что каждый инструмент имеет его использование, или согласна ли вы со мной, что время молотка под рукой, дайте нам знать в комментариях!
Эта статья была первоначально опубликована на CSS Tricks. .