Сфера ИТ требует непрерывного обучения и пристального внимания на появление новых технологий. То, что использовалось 5 лет назад уже давно неактуально. И чтобы идти в ногу со временем, необходимо изучать новые подходы. А если вы все еще подумываете войти в ИТ и ходите сделать это через фронтенд, то необходимо выбрать правильную дверь 😉
Несмотря на то, что я работаю в ИТ с 2007 года, я пошла по пути не технической специализации, поскольку программирование не смогло заинтересовать меня. Однако с командой разработки мы работаем плечом к плечу уже более 18 лет, и я стараюсь наблюдать за тенденциями в этой области.
Я обратилась к опытному фронтенд разработчику Михаилу Марку. Михаил в ИТ с 2010 года, и его опыт включает работу UI/UX дизайнером, что, безусловно, помогает ему в нынешней работе программиста интерфейсов.
За эти 14 лет Михаил успел поработать во многих компаниях, но самым интересным, на мой взгляд, это 5-летний опыт работы в международной компании bit.ly.
Ну что, приступим к фреймворкам.
Какие фреймворки ты используешь в своей работе
Всё время, пока я работаю, я использовал различные фронтенд-фреймворки, от jQuery до Angular, от Angular до React/Next, от React/Next до Vue/Nuxt, и на данный момент я, в основном, сосредоточен на VUE/NUXT.
Из собственного опыта могу сказать, что Vue сильно изменил мир фронтенда, это был один из первых фреймворков, который был написан не корпорацией, и который показал совершенно иной подход к написанию фронтенда, не говоря уже о SFC. Он показал, что фронтенд, и, особенно, процесс реактивности и рендеринга DOM, не обязательно должен быть сложным.
Какие сейчас тренды
Фронтенд сильно развивается, и в последние годы наблюдается тенденция возвращения к технологиям, которые использовались задолго до SPA. Речь идет о сервер-сайд рендеринге (SSR), когда передаем HTML, уже отрендеренный на сервере, клиенту. Поэтому теперь я перешел на Nuxt. По моему мнению, это один из самых удачных фреймворков на данный момент. Хотя есть фреймворк, который я считаю более продвинутым и инновационным, чем Nuxt, но о нем позже.
Nuxt тоже имеет некоторые баги, так как относительно новый и вышел недавно, но он внес много свежего в мир фронтенда:
- автоимпорт компонентов
- серверные обработчики
- серверные маршруты
- состояние SSR
По сути Next.js нам дает все это, но я считаю, что Nuxt гораздо легче для начинающих, так как он дружелюбен и легко создать даже самое маленькое приложение, которое уже сразу работает.
Многие говорят, что Next проще, чем Nuxt. Это очень индивидуально. Зависит от того, какой у разработчика бэкграунд, но SFC всегда, по моему мнению, будет проще для понимания многими, чем JSX.
Чистый front-end или все-таки fullstack?
В последние годы наблюдается тенденция превращения разработчиков в full stack. Если вспомнить 2010-е годы: для написания фронтенда мы использовали HTML, CSS, JS (jQuery), а для бэкэнда PHP, .NET, Java. И каждый занимался своим. То сейчас, мне кажется, мы все, своего рода, гибридные разработчики: Nuxt/Next, Node/Express/Nest, (что-то нативное, как Ionic или React Native). Нужно уметь работать по принципам SOLID, Postgres, Mongo, и это примерно то, что требуется сейчас на фронтенде, то есть мы медленно переходим к fullstack.
Nuxt позволяет создавать fullstack приложения с помощью UniJS/H3, на котором я сам написал много REST API и могу сказать, что это снова новый подход к созданию серверных приложений. По сравнению с Express JS и Nest JS, UniJS/H3 показал, что обработчики запросов могут использоваться, как композаблы или аналогично hooks в React, что делает создание простых базовых API очень легким. Поэтому на данный момент я считаю Nuxt лучшим фреймворком для фронтенд/full stack разработки. Однако не может быть всё так хорошо, верно? Всё равно не может быть все идеально.
Кстати, есть страшное слово для фронтенд-разработчиков – HYDRATION. Это процесс, когда сервер возвращает HTML и нужно загрузить десятки больших файлов JS, чтобы приложение стало работоспособным и интерактивным. Это делает фронтенд довольно тяжелым.
Новые фреймворки, на которые стоит обратить внимание
Возвращаясь к тому, о чем я говорил ранее, есть фреймворк, который имеет большой потенциал превзойти Nuxt/Next и остальные фреймворки. Мы говорим сейчас про QWIK JS. Он делает всё то же самое, что и Nuxt, но у него нет процесса гидрации. Он использует новую технологию, называемую (reusability), которая позволяет загружать минимальное количество JS для нашего приложения и с помощью сервис-воркеров и, так называемых, «сигналов» загружать чанки JavaScript только тогда, когда это необходимо.
Этот фреймворк всё еще новый, но я уже считаю его готовым к использованию в продакшн, и рекомендую всем фронтенд-разработчикам обратить на него внимание. У него есть большой потенциал изменить фронтенд и сделать всё более удобным и быстрым как для разработчиков, так и для конечных пользователей.
Благодарю Михаила за подробный и развернутый ответ! Уверена, это очень полезно для наших читателей.
Отчет об орфографических ошибках
Следующий текст будет отправлен нашим редакторам: