Как я с React на Svelte перешла
Бытует мнение, что фронтенд-фреймворк — как факультет в Хогвартсе, выбирается один раз и на всю жизнь. Потому что разный синтаксис, разная экосистема, и вообще переходить с одного фреймворка на другой якобы очень сложно.
Сложность перехода между фрейморками — вредный миф. Подозреваю, что придумали его ребята, которые в 2021 году говорили “я не буду учить JavaScript, я же пишу на React”. Фреймворк — это инструмент, который берет часть задач JavaScript-разработчика на себя, а не отдельная профессия, которую надо месяцами учить. Учить надо программирование и основные концепции разработки, а конкретный фреймворк можно освоить за неделю-две.
Я совершала переход между фреймворками дважды. В 2019 я, имея опыт только на Vue, получила оффер в проект на React, а в прошлом году пришла в команду, которая пишет на Svelte. Где-то между делом года четыре назад я немного соприкасалась с Angular, так что, в целом, у меня есть опыт со всеми популярными фронтенд фреймворками.
Современные фронтенд-фреймворки имеют схожие концепции:
Реактивность. Вы перезаписываете данные, а UI обновляется сам. Не нужно редактировать DOM-элементы.
Код делится на переиспользуемые компоненты: кнопки, таблицы, панели, формы и т. д.
Внутреннее состояние (state/signal), входные данные (props/input), эффекты.
Написание кода на фронтенд фреймворках сводится к следующему: вы разбиваете код на компоненты, в которых храните состояние аналогично проперти классов в ООП, используете эффекты для подписок на изменение состояния (Оbserver), пропсы для передачи данных вниз и события для передачи данных наверх. Интерфейс будет обновляться самостоятельно — таким образом, вам нужно следить только за организацией данных.
Когда вы переходите на другой фреймворк, вы не начинаете обучение с нуля, вы используете уже знакомые концепции.
Конечно, к фреймворку привыкаешь. Когда я начала писать на Svelte, первые пару недель мне было немного неудобно. Потом я поняла, в чем дело: в React единица реактивности — это компонент, он ререндерится весь целиком. В Svelte единица реактивности — это сигнал. В компоненте может быть много сигналов и они все будут перевычисляться независимо. Поэтому привыкаешь мыслить более мелкими абстракциями. Но каждый раз при смене фреймворка я не училась программировать заново — я всего лишь читала документацию и привыкала к новому инструменту.
Кстати, документацию можно прочитать за один вечер 🙂
🔜 Канал в MAX
Бытует мнение, что фронтенд-фреймворк — как факультет в Хогвартсе, выбирается один раз и на всю жизнь. Потому что разный синтаксис, разная экосистема, и вообще переходить с одного фреймворка на другой якобы очень сложно.
Сложность перехода между фрейморками — вредный миф. Подозреваю, что придумали его ребята, которые в 2021 году говорили “я не буду учить JavaScript, я же пишу на React”. Фреймворк — это инструмент, который берет часть задач JavaScript-разработчика на себя, а не отдельная профессия, которую надо месяцами учить. Учить надо программирование и основные концепции разработки, а конкретный фреймворк можно освоить за неделю-две.
Я совершала переход между фреймворками дважды. В 2019 я, имея опыт только на Vue, получила оффер в проект на React, а в прошлом году пришла в команду, которая пишет на Svelte. Где-то между делом года четыре назад я немного соприкасалась с Angular, так что, в целом, у меня есть опыт со всеми популярными фронтенд фреймворками.
Современные фронтенд-фреймворки имеют схожие концепции:
Реактивность. Вы перезаписываете данные, а UI обновляется сам. Не нужно редактировать DOM-элементы.
Код делится на переиспользуемые компоненты: кнопки, таблицы, панели, формы и т. д.
Внутреннее состояние (state/signal), входные данные (props/input), эффекты.
Написание кода на фронтенд фреймворках сводится к следующему: вы разбиваете код на компоненты, в которых храните состояние аналогично проперти классов в ООП, используете эффекты для подписок на изменение состояния (Оbserver), пропсы для передачи данных вниз и события для передачи данных наверх. Интерфейс будет обновляться самостоятельно — таким образом, вам нужно следить только за организацией данных.
Когда вы переходите на другой фреймворк, вы не начинаете обучение с нуля, вы используете уже знакомые концепции.
Конечно, к фреймворку привыкаешь. Когда я начала писать на Svelte, первые пару недель мне было немного неудобно. Потом я поняла, в чем дело: в React единица реактивности — это компонент, он ререндерится весь целиком. В Svelte единица реактивности — это сигнал. В компоненте может быть много сигналов и они все будут перевычисляться независимо. Поэтому привыкаешь мыслить более мелкими абстракциями. Но каждый раз при смене фреймворка я не училась программировать заново — я всего лишь читала документацию и привыкала к новому инструменту.
Кстати, документацию можно прочитать за один вечер 🙂
🔜 Канал в MAX