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

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

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

cu3uvb6_yahg1qr1byc75qkclkw.jpeg

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

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

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


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

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

317c07f95e07c84260a34b7540df6de1.png


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

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

Что дальше?


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

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


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

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


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

531375a75ced802098aceab630a7fdcb.png


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

▍Изучение Rust


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

f2398548b85985b342adb9c655bd85e3.png


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

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

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

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

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

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


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

30cdbd197c4dda81b6abb059737e96d4.png


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

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

Итоги


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

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

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

guabcgmwuqoopx1ar80sjpz6keq.png

de0yl-6ppopvisr_a80b4yuhjj8.png

© Habrahabr.ru