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 серверов

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

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

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

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

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

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

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

                –3
                Вы смотрите со стороны каких-то нужных вам фишек. Но что если вываладеете набором инструментов позволяющим вам решать бизнес-задачи, и новые инструменты не делают решение этих задач принципиально лучше. Вам нужно научиться делать ТО ЖЕ САМОЕ, но по-другому, а потом еще раз, и еще раз. Иначе вы не найдете хорошую работу. В этом случае вы смотрите на новые фреймворки как на сорта говна, которые одинаково кривы, незрелы, хайповы и думаешь, кто из них выстрелит? На кого потратить время, которое не хочется тратить ни на одного из них. Причем потратить много времени, чтобы пройти собеседование по этой технологии. И смириться надо с тем, что придется потратить время, а с тем, что его придется потратить через силу, так еще с немалой вероятностью и впустую.
                +1
                Порой хочется просто работать, а не постоянно догонять.
                +4
                Думаю, что ключевое слово тут «опасался». Некоторые так много опасаются, что в итоге ничего и не делают. Чего только стоит абзац посвященный своему начальнику…

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

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

                    0
                    Я думаю, что автор имел ввиду «мало времени на изучение того, что выходит за рамки рабочих компетенций» из-за того, что «знания и навыки могут устареть и нужно каждый день разбираться в новой библиотеке для react».

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

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

                      +2

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

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

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

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

                          0

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

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

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

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

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

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

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

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

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

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

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

                              +3

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

                                +2

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

                                  –1
                                  Еще webforms ты вспомни, друг прелестный.
                                    0
                                    blazor вышел 2 года назад.
                                    Не совсем понял, причём тут webforms.
                                  0
                                  Странный тор от SO. Там HTML > Ruby.
                                    0

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

                                      0

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

                                        –1
                                        Кто-то много перепил и решил написать, что в уме накопилось
                                          0
                                          я пару раз открывал дверь в клуб JS-тусовки, с недоумением смотрел на бардак, творящийся там, закрывал и уходил обратно к себе в кровавый бэкендный энтерпрайз. Но от шума из-за этой двери уже тоже, пожалуй, устал, да :)

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

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