company_banner

Прости, React, но я так больше не могу

Автор оригинала: Chris Vibert
  • Перевод
Недавно мне попалась фраза «усталость от JavaScript», «JavaScript fatigue», и я мгновенно понял, что это — про меня.

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



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

Но я, почти всегда, ничем таким не занимался. Дело тут было в том, что React и JavaScript, если стремиться быть в курсе всего, что в этих сферах происходит, отнимают слишком много сил и времени. Иногда я по-настоящему опасался того, что мои знания и навыки могут устареть. Всё это оставляло мне очень мало времени на то, чтобы исследовать что-то новое.

Переломный момент


Однажды я понял, что мне придётся платить по счетам «усталости от JavaScript». Тогда вышел релиз библиотеки Recoil, предназначенной для управления состоянием компонентов в React. Ещё совсем недавно я зарылся бы в документацию, попробовал бы библиотеку, вдоволь начитался бы исходного кода, стремясь вникнуть в детали реализации. Но в тот раз мне ничего этого делать не хотелось.

Всё, что я могу сказать сейчас о Recoil, это то, что, по видимому, программистам эта библиотека нравится, и то, что в ней используется нечто, называемое «атомами». Может, её назвали Recoil именно поэтому?


Первое пересечение моей работы и химии — того, чему я учился (основное состояние, в покое; акт поглощения; возбуждённое состояние и «скорость отдачи»)

Я хочу объяснить всё предельно ясно, на тот случай, если это прочтёт мой работодатель. Я по-прежнему буду любить свою работу, связанную с JavaScript и React. С понедельника по пятницу я буду предан своему делу так же, как был предан всегда. Я буду учиться новому и пробовать новые инструменты. Но, вне рабочих часов, я, вероятно, буду занят чем-то другим.

Что дальше?


Я пока ещё стою на распутье, но у меня есть некоторые идеи.

▍Написание статей


Я мог бы дописать недоделанные посты для блога, и, хочется надеяться, мог бы, в обозримом будущем, найти новые темы.

▍Небольшие эксперименты с архитектурами, применяемыми в крупномасштабных проектах


Подобные эксперименты можно проводить, пользуясь бесплатным тарифным планом AWS. Раньше мне интересно было этим заниматься. Скажем, я брал простой список кофеен и, на базе SAM, делал из него нечто нереально раздутое. В этом проекте использовались лямбда-функции, DynamoDB и SNS.


Интересные эксперименты с переусложнённой архитектурой

▍Изучение Rust


Мне хотелось бы научиться программировать на каком-нибудь достаточно низкоуровневом языке. А ещё — мне хочется понять причины, по которым множество программистов называют Rust своим любимым языком.


Результаты исследования Stack Overflow 2020 года

Дело в том, что Rust, 5 лет подряд, лидирует в исследованиях Stack Overflow как самый любимый язык программирования.

Кроме того, меня сильно привлекает то, что Rust компилируется в WASM. А WebAssembly — это ещё одна технология, которую мне хотелось бы освоить.

Для того чтобы облегчить себе жизнь, я могу начать с Yew. Это — Rust-фреймворк, предназначенный для разработки веб-приложений, создателей которого вдохновила библиотека React. Yew — это фреймворк, основанный на компонентах, в котором используются что-то вроде JSX.

Или, хотя это, вероятно, будет сложнее, я, возможно, попробую создать на Rust какой-нибудь инструмент командной строки.

▍Разработка мобильного приложения на Flutter


Я никогда особенно не интересовался мобильной разработкой. Именно поэтому я и собираюсь её попробовать.


Flutter-приложения пишут на Dart

Во Flutter меня привлекает то, что, используя этот фреймворк, мне не придётся думать о том, для iOS или для Android мне писать приложение. То, что сделано на Flutter, заработает и там, и там. Кроме того, интересным мне кажется язык программирования Dart.

Итоги


Возможно, мне удастся реализовать лишь некоторые из вышеперечисленных идей. Возможно — все. А может — я всё же прочту документацию Recoil и вернусь в свою зону комфорта.

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

А вы устали от JavaScript?



RUVDS.com
RUVDS – хостинг VDS/VPS серверов

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

    +7
    Во Flutter ситуация с управлением state приложения ничуть не лучше :)
    В React/Web мире все вообще достаточно ништячно имхо.
      +3
      А вы устали от JavaScript?

      Никто не может устать от js сильнее, чем Дмитрий nin-jin
        +7
        Иногда я по-настоящему опасался того, что мои знания и навыки могут устареть. Всё это оставляло мне очень мало времени на то, чтобы исследовать что-то новое.

        Т.е. у вас мало времени на изучение нового из-за того, что вы опасаетесь что вам не хватит времени на изучение нового?
          +6
          рекурсивня прокрастинация какая-то :)
            +3
            Ну это перевод

            Скажем так — скорее проблема в том, что чтобы оставаться «на гребне» в JS мире нужно изучать очередной хайп и выбора мало. А хочется самому выбирать что изучать, не только очередную JS свистульку.

            Я тоже подуcтал с этой темой — учишь, учишь, а React Native по прежнему сырой :)
              +2

              По новым технологиям во всяком случае всегда есть какой-нибудь quick start + StackOverflow, чего хватает для использования их основных фишек. Просто придётся смириться, что прочитать основной мануал и «как следует» изучить что-то всё равно не удастся.

                0
                Порой хочется просто работать, а не постоянно догонять.
                +4
                Думаю, что ключевое слово тут «опасался». Некоторые так много опасаются, что в итоге ничего и не делают. Чего только стоит абзац посвященный своему начальнику…

                И да, хорошо было бы увидеть через пол годика статью, где автор по пунктам пишет, что удалось попробовать а что нет + собственные ощущения :)
                  0

                  Полагаю здесь нужно читать между строк. Это всё-таки не код, а человеческий текст.

                  +1
                  Или, хотя это, вероятно, будет сложнее, я, возможно, попробую создать на Rust какой-нибудь инструмент командной строки.

                  Это будет проще.

                    +2

                    Прздравляю. Ты повзрослел. Все эти холивары о "самом правильном" языке программирования и прочая погоня за неуловимым Джо трендов — это для набирающих опыт, молодых. Пора подумать о высоком. О гармонии и разнообразии. Удачи.

                      +2
                      JS — дело молодых, лекарство против морщин…
                        +2
                        Во проблемы у людей… [меланхолично выпускает струйку дыма, откинувшись в кресле...]
                        мы тут за новинками не гонимся, НедоПаскаль (или ПереБейсик) — наше всё :)

                        ОСТОРОЖНО, Basic!
                        image
                      +2

                      Pro tip: можно не изучать новые и модные библиотеки. Можно мельком глянуть (узнать суть решаемой проблемы), если библиотека стала старой и популярной, и изучить подробнее, если она требуется в желаемой вакансии или используется в проекте, над которым вы работаете.

                        0

                        Главное знать основные buzz words

                        +5
                        Что характерно, сам язык программирования как таковой, в обзоначенной проблеме ни при чем.

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

                        Происходит перегрузка мозга запоминательной и управляющей деятельностью. Количество того, что нужно держать в голове растет непомерно, а созидательная, творческая деятельность уходит на второй план. Перегрузка способствует реакции отторжения. Не всегда и не у всех, но вполне понятная реакция организма, остановиться и не пытаться больше обьять необьятное. А с другой стороны давит ощущение того, что если ты не будешь в себя это запихивать, то ты «отстанешь от жизни».

                        А также ты уже не чувствуешь такой привязанности к результату своей работы, потому что он уже не совсем твой.

                        Ну и ощущение потери контроля, потому что решение состоит из «чужих» частей на которые ты никак не можешь повлиять.

                        В результате получается то, что характеризуют ощущением «усталости» и «бессилия».

                          0
                          что интеллектуальная деятельность современного разработчика все чаще сводится к поиску библиотеки, инструмента и/или подгона этих инструментов под задачу.

                          Вроде и верное решение: Экономия времени.
                          Но это развращает: вспомните форумы времён Дельфи: Парни! Срочно надо код работы с ...! срочно! И ищет неделями. Хотя написать самому — дня три вдумчивого прочтения документации и пару часов самого кодинга…
                          С другой стороны часто полнейшее непонимание работы этой чужой библиотеки. И косяки такие, что мама не горюй! И начинается создание костылей ((

                          тут золотая середина нужна. А это уже Опыт…
                          0

                          Так а что конкретно слишком быстро развивается в реакте? Из последнего биг ченджа это хуки и им уже больше года. Какие-то вещи под капотом, вряд ли кто-то уследит

                            +1

                            Какая-то кликбейтовая глупость. Если чем угодно долго заниматься, то оно в конце концов приедается и надоедает. И без разницы, что за род занятий и технологии. Так что если из статьи выжать воду, то не останется ровно ничего.

                              +1

                              c# и blazor день чудесный

                                0
                                Странный тор от SO. Там HTML > Ruby.
                                  0

                                  p. s. Для кроссплатформенной мобильной разработки есть также React Native))) От js не легко отделаться))

                                    0

                                    А почему вообще надо использовать React? Задать бы вопрос автору… Устал — не используй.

                                      0
                                      Кто-то много перепил и решил написать, что в уме накопилось

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

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