Сайт рассказывает, приложение работает
Обычный сайт в основном показывает информацию. Веб-приложение выполняет работу: принимает и обрабатывает данные, считает, хранит историю, связывает людей и процессы. При этом оно открывается в браузере, работает на компьютере и телефоне, не требует установки и обновляется для всех пользователей сразу.
Примеры задач, под которые делают веб-приложения:
- онлайн-запись и бронирование с расписанием и подтверждением;
- калькуляторы стоимости и конфигураторы продукции;
- системы приёма и обработки заявок со статусами;
- внутренние инструменты: учёт, графики, согласования, отчёты;
- клиентские сервисы с личными кабинетами и уведомлениями.
Как мы подходим к разработке
Веб-приложение начинается с процесса, а не с экранов. Мы разбираемся, кто будет им пользоваться, какие действия выполняет каждый и что сейчас мешает. Потом проектируем интерфейс на прототипе и проверяем его на реальных сценариях — исправить схему на этом этапе гораздо дешевле, чем после программирования.
Если у приложения много функций, делим его на этапы: сначала то, что даёт пользу сразу, затем остальное. Так вы начинаете работать с системой раньше и влияете на её развитие по ходу.
Отдельно продумываем права доступа: кто видит какие данные, кто может их менять, что происходит, когда сотрудник уходит из компании. В приложениях для бизнеса это важно не меньше, чем удобство экранов.
Ещё один вопрос, который решаем до разработки, — где будут храниться данные и как часто делаются резервные копии. Для приложения, в котором сотрудники работают каждый день, потеря данных за неделю может обойтись дороже всей разработки, поэтому резервное копирование и восстановление мы настраиваем до запуска, а не после первого сбоя.
Технологии
Серверную часть мы чаще всего пишем на Laravel, интерфейс — на Vue. Эта связка проверена на наших проектах: она позволяет делать быстрые интерфейсы, которые обновляют данные без перезагрузки страницы, и надёжную серверную логику с разграничением прав. Для приложений, которым нужно работать в реальном времени — чаты, табло, совместное редактирование, — используем постоянное соединение с сервером.
Приложение редко живёт само по себе. Обычно его нужно связать с 1С, CRM, платёжными системами или мессенджерами — это мы делаем через API в рамках того же проекта.
После запуска
Приложение, которым пользуются каждый день, требует внимания: обновления библиотек, резервные копии, мониторинг ошибок, новые функции по запросу пользователей. Мы берём проекты на поддержку и развиваем их годами — так работаем, например, с платформой Selluxury, которая постоянно дополняется новыми функциями.