Веб-приложения занимают растущую часть интернета, отъедая долю у более простых ресурсов. Лучшим примером современности стала переработка web у банков, которых поудаляли из App Store, а также из Play Market, оставив их клиентов без нормального цифрового обслуживания. Тут произошёл ренессанс веба, который прописался на многих смартфонах, мимикрируя под обычные приложения с ярлыками. В web прекрасно чувствуют себя текстовые редакторы, в одном из которых написан этот материал, в него переезжают графические редакторы, для видеозвонка теперь можно просто открыть страничку подходящего сервиса.
Веб-приложение (web application или web app) и сайт сильно различаются, хотя оба работают в браузерах и интернете. Различия заключаются в их функциональности, а также в способе взаимодействия с пользователями.
Сайт — это набор связанных web-страниц. Обычно его разрабатывают для представления информации о компании, продуктах, услугах или для публикации статей, новостей и другого контента. Главной целью разработки сайта является предоставление информации с комфортным ознакомлением. Сайты могут быть статическими (неизменными) или динамическими (с возможностью взаимодействия с пользователем).
Веб-приложение, с другой стороны, представляет собой программный продукт, который позволяет выполнять определённые функции, а также задачи через web-интерфейс. Чаще всего речь идёт о сложных, разнообразных операциях, таких как ввод или вывод данных, их обработка, управление информационными базами, работа с мультимедийным контентом, авторизация пользователей, выполнение сложных вычислений, дизайнерские интерактивные элементы, приём оплаты и так далее, причём с минимальным количеством шагов между функциями. Не одна функция — одна страница, а много функций на одной.
Они разработаны для интернета. Из этого факта следует, что они работают в браузерах. Получается, они доступны почти всегда, если есть интернет, потому что браузеры есть на любом ПК, смартфоне, а также на планшете как стандартное оснащение.
Большую часть операций они производят на серверах, поэтому у пользователей всегда находятся в актуальной версии. Ничего не нужно устанавливать, обновлять (кроме браузеров), производительность можно сделать менее зависимой от конечных устройств.
Кроме того, их нельзя удалить из App Store и Google Play. Новая реальность сама создала это преимущество, которому раньше не придавали значения.
Их можно классифицировать по различным критериям. Вот лишь некоторые типы:
Разработка проходит в несколько этапов:
Некоторые этапы, такие как тестирование, проходят сквозь почти все стадии разработки и следуют за реализованными функциями. А после релиза цикл может начаться заново с этапа проектирования дизайна, если заказчик захочет дополнить проект чем-то новым. На это наложится поддержка, потому что проект должен работать, пока вносят изменения.
Стоимость разработки зависит от нескольких факторов, работающих в совокупности.
Один из главных факторов — сложность проекта. Она складывается из количества, а также сложности его функций и зависит от часов, требуемых для разработки. Играют роль опыт, а также квалификация разработчиков. В Spider Group они опытные, в других студиях — когда как. Они не всегда делают быстрее, скорость разработки не является обязательным условием мастерства. Они делают на совесть.
Ценник на разработку ПО может зависеть от выбранных технологий и инструментов. Некоторые технологии требуют лицензирования, другие — платных инструментов для разработки и интеграции. Но обычно это небольшие расходы по сравнению с оплатой труда на разработку.
Лучший способ узнать цену — прислать разработчику подробное техническое задание. Лучше высылать не одному, а нескольким. Ответы, их понятность, подробность, наличие рекомендаций, сами по себе много говорят о том, с кем вам работать. Довольно часто эти факторы перевешивают дисконт, и человек — совершенно правильно — выбирает не самое дешёвое, а самое перспективное.
Когда есть только приблизительное описание, хватит и его. Приличный партнёр поможет написать грамотную документацию, которая ляжет в основу разработки проекта и подойдёт ему, а также другим разработчикам, которых вы захотите привлечь к проекту, включая ваших собственных.