Приступаем к реализации идеи работы пользователя в личном кабинете в виде терминала.
Совсем недавно Тинькофф сделали внутренний сервис Терминал в Тинькофф Инвестиции. Терминал позволяет в рабочем пространстве добавлять новые виджеты, загружать в них различные данные — карточки, таблицы, графики и т.д. Виджеты можно растягивать, переносить по рабочей области, настраивать внешний вид.
По сути это некий аналог компьютерного терминала, где мы работаем в некой закрытой зоне по сети с заданным уровнем доступа. Концепция рабочего места пользователя в виде терминала привлекательна тем, что пользователь сам настраивает свое рабочее место, как ему угодно. Он выбирает из готовых элементов свой набор, располагает его под себя. Это удобно как с точки зрения пользователя, так и с точки зрения разработчика.
Разработчику требуется создать эти кирпичики, а пользователь сам расставит эти кирпичики так, как ему удобно. По сути, это альтернативный подход классическому кабинету с жесткой структурой страниц. Пользователь просто использует тот личный кабинет, который предусмотрел разработчик.
Данный подход к интерфейсу мы планируем внедрить в Falcon Space. При этом терминал будет частью личного кабинета, и пользователь сможет иметь сразу несколько терминалов в личном кабинете.
Как это будет выглядеть на практике: на странице пользователя будет располагаться рабочее пространство (терминал). В него он может добавлять виджеты.
Виджет — это контейнер с изменяемыми шириной/высотой, который можно перетаскивать по терминалу. В виджете может быть расположена форма или таблица (в нашем случае таблицы — это еще множество различных режимов вывода).
Что может пользователь делать с виджетом:
перескакивать, менять размеры;
удалять с терминала виджет;
изменять данные по виджету (например, загрузить карточку другого клиента).
Ключевой момент такой системы — формы и таблицы могут быть совершенно любые. Можно сделать подобный интерфейс под любую предметную область.
Ограничением будет то, что в таблицах/формах не будут использоваться ссылки на внешние страницы (использоваться могут, но это противоречит данной концепции), а будут активно использоваться модальные формы, подтаблицы и прочее. То есть пользователь будет работать основное время на одной странице.
Внутреннее устройство подобной системы в рамках нашей платформы уже спроектировано. Как будет готово — в статье будет обновление со ссылкой на демостенд.
Пока страшный (но уже частично рабочий) прототип будущего терминала выглядит так: