Прекратите использовать React для всего подряд

ReactJSПеревод статьи «Stop Using React for EVERYTHING!», опубликованной на сайте medium.com.

Итак, вы освоили React. А еще добавили интеграцию с ES6. Окей, вы хороши в разбиении вашего кода на компоненты. К тому же вы… стоп. Нам пофиг.

Просто потому, что вы познакомились с именитым фреймворком с некоторыми хорошими возможностями — это не делает вас гением. И определенно не делает React правильным выбором для всего подряд, что вы делаете. Фактически это пожалуй не самый лучший выбор в большинстве случаев.

ReactJS — это Чариза́рд (покемон такой). Это огнедышащий дракон в мире джаваскрипта. Он мощный, он быстрый, он ослепительный, и умные программисты тащятся от него. Если у вас ну очень динамическое приложение, которое должно часто обновлять свой внешний вид, и вы хотите избежать кучи сложностей с шаблонами, вы смотрите на травяного покемона-оппонента и виртуальный DOM реакта будет супер-эффективен. Но если вашему сайту все это не надо, выберите что-то другое!

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

Colin Powell

Перестаньте выбирать ReactJS просто ради выбора ReactJS! Это не серебряная пуля и золотой грааль, как вы пытаетесь использовать. Если на вашем сайте есть простая динамическая форма, вам не нужен этот гребаный виртуальный DOM. Если ваше приложение нуждается в простеньком шаблонизаторе, вам не нужен огнедышащий монстр! Молодые разработчики особенно падки на вкусности фреймворка и используют… это… для… всего. Это нелепо и безобразно. [Громко в сторону] JSX, действительно? «Но вы привыкните к этому» — говорят они. Вы привыкните также ко вкусу любой дряни, но это не означает, что вам нужно продолжать ее употреблять.

Я абсолютно понимаю преимущества Реакта и я думаю, он уже сильно повлиял на будущее джаваскрипта. Я люблю как чисто он интегрируется с ES6 и его компонентную архитектуру, что вообще является будущим всего веба. Тем не менее я редко выбираю его для проектов. Для статических сайтов Jade просто восхитительный шаблонизатор. Для приложений с получением данным по REST я использую Angular. Есть время и место для каждой замечательной технологии.

Чизбургер с ветчиной из Файв-Гайз восхитителен, но не для завтрака.

Я

Я мечтаю, что однажды эта нация распрямится и будет выбирать лучший фреймворк для работы не по цвету его логотипа. React, Angular, Ember, Backbone, Vue, Knockout, Mithril, Jade, Django, Rails и т.д. и т.п. Возможно ваше веб приложение на столько просто, что вы вообще могли бы писать просто старый чистый джаваскрипт! Да ты чё?!

В конце концов выбор за вами, но не позволяйте вашему мнению быть сформированным под влиянием причуд толпы. Узнайте почему компании вроде Google, MSN и Vevo используют Angular. Или почему компании вроде Sony, Reddit и Pinterest используют Backbone. Или почему компании наподобие Netflix, Yahoo и LinkedIn используют Ember. Там есть умные люди, которые не выбирают React. Спросите себя почему?

P.S. Статья может абсолютно не отражать мнение и взгляды переводчика. Представлена здесь для обсуждения/подтверждения/опровержения в комментариях.

Комментарии 9

    +13
    Какой-то поток сознания или «капитан очевидность атакует»
      +13
      «Прекратите использовать %language/library% для всего подряд»
        +14
        «Не указывайте мне что делать, а я не скажу куда вам идти»
          +7
          — Have a nice day
          — Don't tell me what to do!!!
          +2
          Так ведь Yahoo использует React, у них и свой фреймворк есть на его основе Fluxible.
          И Reddit и Netflix, вроде, тоже используют React.
          github.com/facebook/react/wiki/Sites-Using-React

          Странно и то, что использование Backbone противопоставляется React-у.
            +2
            И що, мне теперь зоопарк фреймворков держать?
              +3
              <оффтоп> Пикачу, выбираю тебя! </оффтоп>
                +1
                Мне сложно представить требования под которые Angular (или любой подобный фреймворк) подходит настолько лучше чем React, что мне стоило бы его учить. Примеры типа «а вот те парни пишут на Angular» считаю буллшитом, так как больше половины веба все еще написано на PHP (и это не говорит о его технологическом преимуществе).
                  0
                  Обычно занимают большую нишу технологии, имеющие экономические преимущества

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое