Удобные интерфейсы
Личные кабинеты, дашборды, рабочие инструменты. Мне интересно превращать сложную логику в интерфейс, в котором человек может спокойно разобраться и сделать своё дело.
- React
- Next.js
- Доступность
zeRET / фронтенд-разработчик
Делаю сайты и веб-приложения на React и Next.js. Люблю разбираться, как всё устроено, собирать удобные интерфейсы и возиться с анимацией.
Из идеи — в интерфейс._
Немного структуры. Немного движения. Интерфейс, который отвечает.
Наведи курсор — управление твоё · нажми, чтобы исследовать
Можно обсудить проект
Листай — всё сложится ↓01 — 03Что я делаю
Сцена выше складывается из того, с чем мне нравится работать: полезных сервисов, общих компонентов и продуманного движения.
Личные кабинеты, дашборды, рабочие инструменты. Мне интересно превращать сложную логику в интерфейс, в котором человек может спокойно разобраться и сделать своё дело.
Когда одна и та же кнопка нужна в десяти местах, хочется менять её один раз. Собираю общие компоненты, чтобы страницы оставались согласованными, а правки занимали меньше времени.
Нравится оживлять интерфейс: пробовать переходы, работать с движением и 3D. Главное — вовремя остановиться, пока обычный скролл не превратился в аттракцион.
Как я работаю
Сначала разбираюсь, что нужно сделать человеку. Потом собираю экран и проверяю, как он ведёт себя в работе. По пути обычно находится что упростить.
01 / Разобраться в задаче
Начинаю с вопросов: зачем нужен этот экран, откуда берутся данные и что с ними можно делать. Когда это понятно, проще решить, какие компоненты понадобятся.
02 / Собрать и проверить
Данные могут долго загружаться, а запрос — закончиться ошибкой. Проверяю такие случаи отдельно: обидно заполнить форму и потерять всё из-за одного неудачного запроса.
03 / Довести детали
Уточняю отступы, расставляю акценты, подбираю анимацию. Смотрю, удобно ли пользоваться экраном с телефона и понятно ли, что произошло после нажатия кнопки.
Что остаётся в коде
Интерфейс будет меняться: появятся новые поля, страницы и требования. Стараюсь писать так, чтобы следующую правку было легко внести — мне или другому разработчику.
function calc(a: number[]) {
const x = a.reduce((s, n) => s + n, 0)
return x
}
const data = [120, 80, 40]
const result = calc(data)
По названию должно быть понятно, что делает функция и что хранится в переменной. Оставляю меньше поводов ходить по файлам в поисках объяснения.