Недавно мне попалась фраза «усталость от JavaScript», «JavaScript fatigue», и я мгновенно понял, что это — про меня.
Последние несколько лет я делал всё возможное для того чтобы поспевать за новшествами экосистемы React, и, если брать выше, за новшествами JavaScript, где изменения происходят с умопомрачительной скоростью.
Я, большую часть этого времени, ещё и обещал себе выучить какие-нибудь новые языки, попробовать новые технологии, в общем — сделать что-то такое, что выведет меня из зоны комфорта, в центре которой был JavaScript.
Но я, почти всегда, ничем таким не занимался. Дело тут было в том, что React и JavaScript, если стремиться быть в курсе всего, что в этих сферах происходит, отнимают слишком много сил и времени. Иногда я по-настоящему опасался того, что мои знания и навыки могут устареть. Всё это оставляло мне очень мало времени на то, чтобы исследовать что-то новое.
Переломный момент
Однажды я понял, что мне придётся платить по счетам «усталости от JavaScript». Тогда вышел релиз библиотеки Recoil, предназначенной для управления состоянием компонентов в React. Ещё совсем недавно я зарылся бы в документацию, попробовал бы библиотеку, вдоволь начитался бы исходного кода, стремясь вникнуть в детали реализации. Но в тот раз мне ничего этого делать не хотелось.
Всё, что я могу сказать сейчас о Recoil, это то, что, по видимому, программистам эта библиотека нравится, и то, что в ней используется нечто, называемое «атомами». Может, её назвали Recoil именно поэтому?
![Прости, React, но я так больше не могу - 2 Прости, React, но я так больше не могу - 2](https://www.pvsm.ru/images/2020/07/01/prosti-React-no-ya-tak-bolshe-ne-mogu-2.png)
Первое пересечение моей работы и химии — того, чему я учился (основное состояние, в покое; акт поглощения; возбуждённое состояние и «скорость отдачи»)
Я хочу объяснить всё предельно ясно, на тот случай, если это прочтёт мой работодатель. Я по-прежнему буду любить свою работу, связанную с JavaScript и React. С понедельника по пятницу я буду предан своему делу так же, как был предан всегда. Я буду учиться новому и пробовать новые инструменты. Но, вне рабочих часов, я, вероятно, буду занят чем-то другим.
Что дальше?
Я пока ещё стою на распутье, но у меня есть некоторые идеи.
▍Написание статей
Я мог бы дописать недоделанные посты для блога, и, хочется надеяться, мог бы, в обозримом будущем, найти новые темы.
▍Небольшие эксперименты с архитектурами, применяемыми в крупномасштабных проектах
Подобные эксперименты можно проводить, пользуясь бесплатным тарифным планом AWS. Раньше мне интересно было этим заниматься. Скажем, я брал простой список кофеен и, на базе SAM, делал из него нечто нереально раздутое. В этом проекте использовались лямбда-функции, DynamoDB и SNS.
![Прости, React, но я так больше не могу - 3 Прости, React, но я так больше не могу - 3](https://www.pvsm.ru/images/2020/07/01/prosti-React-no-ya-tak-bolshe-ne-mogu-3.png)
Интересные эксперименты с переусложнённой архитектурой
▍Изучение Rust
Мне хотелось бы научиться программировать на каком-нибудь достаточно низкоуровневом языке. А ещё — мне хочется понять причины, по которым множество программистов называют Rust своим любимым языком.
![Прости, React, но я так больше не могу - 4 Прости, React, но я так больше не могу - 4](https://www.pvsm.ru/images/2020/07/01/prosti-React-no-ya-tak-bolshe-ne-mogu-4.png)
Результаты исследования Stack Overflow 2020 года
Дело в том, что Rust, 5 лет подряд, лидирует в исследованиях Stack Overflow как самый любимый язык программирования.
Кроме того, меня сильно привлекает то, что Rust компилируется в WASM. А WebAssembly — это ещё одна технология, которую мне хотелось бы освоить.
Для того чтобы облегчить себе жизнь, я могу начать с Yew. Это — Rust-фреймворк, предназначенный для разработки веб-приложений, создателей которого вдохновила библиотека React. Yew — это фреймворк, основанный на компонентах, в котором используются что-то вроде JSX.
Или, хотя это, вероятно, будет сложнее, я, возможно, попробую создать на Rust какой-нибудь инструмент командной строки.
▍Разработка мобильного приложения на Flutter
Я никогда особенно не интересовался мобильной разработкой. Именно поэтому я и собираюсь её попробовать.
![Прости, React, но я так больше не могу - 5 Прости, React, но я так больше не могу - 5](https://www.pvsm.ru/images/2020/07/01/prosti-React-no-ya-tak-bolshe-ne-mogu-5.png)
Flutter-приложения пишут на Dart
Во Flutter меня привлекает то, что, используя этот фреймворк, мне не придётся думать о том, для iOS или для Android мне писать приложение. То, что сделано на Flutter, заработает и там, и там. Кроме того, интересным мне кажется язык программирования Dart.
Итоги
Возможно, мне удастся реализовать лишь некоторые из вышеперечисленных идей. Возможно — все. А может — я всё же прочту документацию Recoil и вернусь в свою зону комфорта.
Но, что бы ни случилось, прямо сейчас я готов к тому, чтобы на какое-то время отстать от бешеных темпов развития React в обмен на изучение чего-то нового.
А вы устали от JavaScript?
Автор: ru_vds