Как мы делаем webview приложения на базе 1С Битрикс: Управление сайтом
Очень часто, когда клиенты обращаются к нам в BrightMobile, у них встает вопрос о том, почему мы делаем мобильные приложения на Битриксе и как мы пришли к тому, что лучше разрабатывать именно на нем.
В статье пойдет речь не о Битрикс24, а о 1С-Битрикс: Управление сайтом - старт. Мы не скрываем, что серверная часть находится на 1С-Битрикс и готовы рассказать, почему мы используем именно его. Статья по большей части не для программистов, а для клиентов, хотя уже предвкушаю тонны негодования от разработчиков.
Программист не Техдиректор
Давайте сначала разберемся, чем отличается разработчик от технического директора. Отличия состоят в том, что программист думает о технологиях и внедрении. Технический директор думает о деньгах. Т.е. о том, какие технологии выбрать, чтобы уложиться в бюджет, чтобы было выгодно и компании, и клиентам. Я предлагаю пообщаться на уровне техдиректора.
У программистов простая логика:
- если iOS, то значит необходимо использовать objective-c или swift
- если Android, то Java
- Для веба и сервера - php или python, в особых случаях оба сразу.
Каждый из этих ресурсов нужно сделать отдельно, и состыковать друг с другом. Для этого нам необходимо три-четыре программиста на каждую задачу
Все программисты для создания приложения должны «подружиться» друг с другом и работать в команде. Объективно, это практически невозможно, поэтому возникает необходимость в проект менеджере, если знаний хватает, то им становится сам клиент. Если в какой-то момент клиента достанет разбираться в багах, то нужен будет ещё и тестировщик.
В общем, необходимо три - шесть человек, чтобы сделать более-менее среднее приложение для многопользовательского сервиса. Не забываем про зарплату и сроки. Во сколько миллионов вам это выйдет, можете посчитать сами по актуальным зарплатам. Если вы готовы оплачивать такую сумму за разработку, то тогда конечно, можно пойти по такой схеме. Но если есть задача сэкономить или просто протестировать идею, тогда даже считая по минимуму 30 000 в мес х 3 х 6 = 540 000 (а скорее всего 800 - 1000) – это абсурдная сумма для тестирования идеи. Вы можете рискнуть такой суммой? Не знаю, но предполагаю, что нет. Для тех, кто к нам обращается, это неадекватная сумма. Именно поэтому мы выбираем webview на базе 1С-Битрикс.
Чаще всего разговор с программистами заканчивается на том, что программист говорит, надо сделать приложение отдельно под iOS и Android. Тогда встает вопрос: «конечно, все это круто, но кто платить за это будет?». Наступает немое молчание, потому что вопрос адресован не напрямую программисту, а клиенту.
Зачем 1С-Битрикс в приложении
Многие заблуждаются и думают, что это система, предназначена только для сайтов, но на самом деле это просто архитектура данных. По большому счету, Битрикс представляет собой инфраструктуру. В нем уже есть админка, есть серверная часть и база данных. К серверной части мы делаем небольшую надстройку с логикой будущего приложения и оформляем темплейты в дизайн экранов. Если посмотрите маркетплейс Битрикса, то увидите, что наше готовое решение Сервис ПИ, для запуска проектов с идеей profi.ru, это просто модуль, который устанавливается на систему управления. В этой логике мы уже запрограммировали все, что должно быть и в iOS, и в Android, и в web-версии. Например, данные по GPS передаются по JavaScript на сервер, где они обрабатываютсярезультаты транслируются в web-экран и отображаются на все три платформы. Это позволяет значительно экономить. Большую часть сделали за нас разработчики Битрикса и вместо трех разных языков мы делаем на одном.
Преимущества для клиентов
Одним из самых значительных преимущества Битрикса является тот факт, что это коммерческая система. За бОльшую часть архитектуры несем ответственность не мы, а Битрикс. Если есть какие-то баги и ошибки, то они бесплатно и быстро исправляются.
Предположим, вы начали разрабатывать приложение с нуля. В таком случае можно попасть в неприятную ситуацию, когда есть команда, которая работает над вашим проектом уже какое-то продолжительное время, и вдруг кто-то их них уходит. Это становится большой проблемой: вы начинаете нанимать нового программиста, который будет искать ошибки от предыдущего сотрудника, или же делать все заново. Надо будет доплачивать за рефакторинг, снова ловить ошибки и платить. А если это 6 человек, то раз в два месяца такое развлечение вам обеспечено. В случае webview-разработки необходимо реализовывать отдельно только «железный» функционал - GPS, камера и т.д., а сами экраны делаются один раз, одним программистом, причём самым дешёвым из всех трёх.
Еще один большой плюс состоит в том, что в Битриксе есть большой пул разработчиков, и имеется четкая документация с правилами разработки. Есть также сертификаты, которые можно получить только после прохождения обучения и тестов. Благодаря такой инфраструктуре, специалистам не нужно переписывать большой пласт кода. Они могут переделать именно то, что необходимо, и не лезть вглубь сервера. Например, переписать экран программист может быстро зайдя в директорию с темплейтами и найдя нужный экран. Как работает архитектура приложения ему для этого знать не нужно.
Обновления
Доработка и обновления – это очень важная часть процесса создания приложений, и в этом нам так же помогает подход webview. Если необходимо что-то добавить или доработать, в таком случае вам нужно один раз доработать темплейт экрана. За счет этой технологии не нужно перевыпускать обновления приложения, заставляя всех пользователей его устанавливать. Приложение будет по сути браузером, воспроизводящим контент с сервера. Обновили на сервере и у всех пользователей автоматически показывается актуальная версия. При подобном подходе это стоит в несколько раз дешевле, чем нативно по «хардкору» или даже в режиме компилируемого гибрида.
Выводы
Ключевые преимущества использования гибридной технологии webview и Битрикс:
- Мы можем обновлять приложение в реальном времени и не заставлять пользователей постоянно обновляться
- В Битриксе есть поддержка организаций, т.к. компания коммерческая. Поэтому можно говорить о некой двойной гарантии
- Имеется большое количество разработчиков, которые работают на Битриксе и смогут развивать ваш проект, даже если мы закроемся :)
- Экономия по сравнению с чисто нативной в 3-4 раза
При использовании такой разработки, мы можем сэкономить на сотрудниках и предложить клиентам более выгодную сделку. К тому же, такой способ позволит быстро запустить стартап и развивать его дальше.
Перечитал написанное и получилось так сладко, что аж самому захотелось заказать такое приложение :) Естественно, встаёт очевидный вопрос — в чём подвох? Я вижу подвох в двух пунктах. На webview не получится слелать качественный AR/VR проект, игру, либо проект, где подключение к интернету не обязательно (шагомеры, пульсомеры и тд). Но если у вас многопользовательское приложение с бизнес-логикой и статичными экранами, то такой вариант наиболее выгоден для стартапов.
Готов обсудить проекты и рассказать детально как можно реализовать и сколько будет стоить ваш проект при разработке на web-view.