Как мы делаем 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.

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Денис Гордиенко", "author_type": "self", "tags": [], "comments": 13, "likes": 6, "favorites": 4, "is_advertisement": false, "subsite_label": "tribuna", "id": 48882, "is_wide": false, "is_ugc": true, "date": "Tue, 23 Oct 2018 14:42:59 +0300" }
{ "id": 48882, "author_id": 127886, "diff_limit": 1000, "urls": {"diff":"\/comments\/48882\/get","add":"\/comments\/48882\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/48882"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199116, "possessions": [] }

13 комментариев 13 комм.

Популярные

По порядку

Написать комментарий...
2

Мнение клиента. В плане работы Сервиса ПИ - битрикс очень удобен. Никаких нареканий нет. Весь функционал работает отлично. На маркетплейсе есть плагины, которые не сложно прикрутить к вашему коробочному решению и тем самым расширить его функционал за сравнительно небольшие деньги.

Ответить
0

Георгий, вы так написали, что все подумают, что это подставной отзыв :) напишите тогда и ссылку на свой проект

Ответить
0

Это не отзыв, а мнение по поводу "участия" битрикса в мобильном приложении.

Ответить
0

покажите пожалуйста хоть один работающий проект на Сервисе ПИ

Ответить
0

У меня впечатления от использования Сервиса ПИ пока такие: это в принципе продукт рабочий, но из-за отсутствия дизайна из коробки он идет еще совсем мертвый. Да, это недорогой и рабочий продукт, огромное спасибо за это команде BrightMobile, но во что может обойтись его доработка и перекраивание хотя бы на нормальный стоковый шаблон (программисты BrightMobile за работу просят по 2т/час) я даже пока посчитать не могу.

Ответить
0

Если для Вас стоимость в 2к/ час большая, то имеет смысл найти знающего Битрикс фрилансера. У нас полностью открытый код, поэтому, доработки может делать любой желающий.

Как показала практика, в новый дизайн наши клиенты в бОльшей своей массе не верят. Из ~60 живых проектов купили обновление, которое бы включало в себя дизайн всего 4 человека. Да и как выяснилось, только одному из них нужен был дизайн, все остальные попросили фишки связанные с GPS, безопасной сделкой и чатом. Я думаю, что Вы меня поймёте, если я скажу, что делать дизайн ради пары клиентов - это в корне не верный шаг.

Вообще, если речь о редизайне, как о "причесать стили", а не "перерисовать всё с нуля с танцами и медведями", т.е. на выходе ожидаете получить примерно вот такой дизайн - https://play.google.com/store/apps/details?id=by.prama то это будет стоить плюс минус 50 тыс.

Ответить
0

Кто бы что не говорил, а в наше время я именно дизайн ставлю на первое место. Это не только красота, это в первую очередь удобство и интуитивный и понятный интерфейс. Пользователь должен прийти и четко понимать, куда ему нажать и что делать без всяких инструкций. К сожалению пока в сервисе ПИ этого нет.

Ответить
0

В этом вопросе наши мнения категорически расходятся. Дизайн есть смысл делать, когда стартап уже перешёл в разряд бизнеса. То есть понятна и проверена деньгами бизнес-модель, понятны перспективы роста и, по сути, редизайн - это работа над повышением конверсии в платящего клиента. Но пока идея является именно идеей, то вкладывать деньги в дизайнера и кастомную сборку можно только при продуктоориентированном подходе к разработке. А это, в свою очередь, крайне рискованная штука с точки зрения шансов потерять большую сумму денег.
Вот несколько материалов на эту тему:
https://vc.ru/life/48447-customer-development-vs-produktoorientirovannyy-podhod
https://www.youtube.com/watch?v=2V5dhI6GjLI

Ответить
0

А частенько memory leak бывает?

Ответить
0

никогда, т.к. на стороне телефона минимальный функционал.

Ответить
0

брррр, а если страница содержит большую таблицу с обилием js-скама?

Ответить
0

Значит верстальщику нужно сломать руки.

Ответить
0
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Нейронная сеть научилась читать стихи
голосом Пастернака и смотреть в окно на осень
Подписаться на push-уведомления
{ "page_type": "default" }