Сказ о том, как мы мобильное приложение писали. Часть 3. Организация процесса разработки

17.04.23

Разработка - Мобильная разработка

Рассказываем об организации разработки мобильного приложения.

Мы продолжаем делиться опытом разработки Контейнера (Google Play и App Store) – простого приложения для мобильной торговли на платформе 1С. В предыдущих сериях:

Часть 1. Двойной заголовок
Часть 2. Обработка долгого нажатия

В этот раз мы немного отойдем от самой платформы и ее особенностей, и остановимся на процессе разработки. А именно – расскажем, какими инструментами пользуемся для управления процессом, как проектируем интерфейсы и как тестируем приложение на разных устройствах и ОС.

Управление разработкой

Наша команда состоит из трех человек – Вадим (автор статьи), Александра и Снежана. Да, у нас работают девушки, и уж поверьте мне – они дадут фору любому бородатому программисту в растянутом свитере. :)

Когда разработчиков больше одного, сложно обойтись без инструмента для распределения задач и отслеживания их выполнения. Сначала для этих целей мы использовали Гугл таблицы (аналог Excel, только в облаке), однако скоро поняли, что этого не хватает и занялись поиском системы для управления проектами. Мы остановились на Basecamp.

Basecamp – это онлайн система управления проектами, у которой главная особенность – простота. В ней нет приоритетов, подзадач, статусов и прочих атрибутов, присущих другим системам. Основной элемент управления – это список (to-do list), который состоит из задач (to-do). У каждой задачи можно указывать исполнителя и срок. Всё. :) Задачи можно перетягивать, комментировать, прикладывать скриншоты или файлы. Если задача выполнена, возле нее ставится галочка и она исчезает из списка.

Мы ведем разработку итеративно, используя спринты, поэтому организовали свою работу так: каждый список – это спринт, который содержит список задач.

 

 

Так мы работали несколько месяцев. Но со временем нам стало не хватать функциональности. Из-за большого количества мелких ошибок каждый спринт начал разрастаться до 30-40 задач, среди которых было трудно ориентироваться. Мы решили их группировать, создавая на каждую группу по одной задаче, а в комментариях перечислять мелкие ошибки. Это работало, но всё равно было не удобно.

Было решено, что пора искать другую систему. Мы перешли на Atlassian Jira.

Atlassian – это компания, которая объединяет под своим названием целое семейство продуктов. Например, Atlassian Jira – это система отслеживания ошибок, Atlassian Hipchat – чат для командной работы, Atlassian Bitbucket – сервис для хранения репозиториев и контроля версий и т.п. Эти продукты можно связывать друг с другом, а также расширять встроенный функционал различными плагинами (платными и бесплатными), которые представлены в Atlassian Marketplace, а при желании написать свой.

Мы подключили себе плагин Jira Agile, который превращает Жиру в полноценную систему управления проектами. Так что теперь наше рабочее место выглядит так:

 

 

 

Жирная Жира. :)
Еще один плагин Enterprise Mail Handler for JIRA Cloud избавил нас от постоянной проверки почты, куда пользователи пишут свои пожелания. Теперь письма сразу приходят в нашу систему, и на каждое письмо автоматически создается задача. Далее, если это сообщение об ошибке, то мы создает подзадачу и включаем ее в один из спринтов. Если это вопрос – прямо там же можно ответить.

В рамках этой статьи мы ограничились только основными особенностями, которые нас впечатлили, хотя про Жиру и ее функционал можно написать еще с десяток страниц. Несмотря на некоторую сложность по сравнению с Basecamp, эта система делает процесс управления разработкой максимально эффективным.

Интерфейс

Нашей главной задачей было сделать приложение не только функциональным, но и максимально простым, чтобы даже те пользователи, которые не знакомы с 1С, могли сразу в нем разобраться.

В процессе создания приложения около 80% времени занимает проектирование интерфейса и адаптация его к экрану мобильных телефонов. Серьезно. Само приложение с точки зрения бизнес логики совершенно простое – приход, расход товара, кассовые документы, переоценка, инвентаризация, меньше 10 отчетов – и всё. На настольной 1С это можно написать за неделю. На мобильной платформе у нас ушло более полугода.

Как и для управления проектами, для проектирования интерфейса существует множество программ. Но в контексте разработки под мобильную платформу они практически бесполезны, так как 1С жестко ограничивает разработчиков в области рисования форм. Двойной заголовок, светло-желтый фон – с этим ничего нельзя сделать. Не говоря уже о том, что элементарно нельзя разместить кнопку по центру (статья писалась до выхода мобильной платформы 8.3.6).

Но мы нашли выход, и для проектирования разработали достаточно серьезную систему под названием “Ручка и бумага”.

 

 

Так выглядит мыслительный процесс создания формы оплаты товарной накладной. Почему столько итераций? Потому что очень непросто нарисовать форму со следующим функционалом и уместить всё это на экране телефона:

  1. Возможность принимать платеж в разных валютах и давать сдачу;
  2. Возможность предоставить скидку;
  3. Если по контрагенту уже есть долг, то: 
    а) Показывать долг/аванс контрагента; 
    б) Возможность развернуть долг/аванс с точностью до товарной накладной; 
    в) Возможность зачесть долг/аванс в текущей оплате;
  4. Сделать так, чтобы это было понятно пользователю.
А вот и результат:
 

Коснемся разработки отчетов. Сначала мы использовали табличный документ, однако созданные отчеты не адаптировались к ширине экрана, из-за чего на больших и слишком маленьких телефонах они выглядели убого. Нас это совершенно не устраивало, поэтому мы решили использовать html.

Так как в платформе нет инструментов для работы с html, то мы используем отладчик, встроенный в Google Chrome. В связи с этим процесс создания отчетов выглядит несколько нетипично для обычного 1С-ника:

 

Да, пришлось изучить другую технологию. Но оно того стоило.

Тестирование

Нарисовали красивый интерфейс? Протестируйте его на всех устройствах! К тестированию мы относимся очень ответственно:

 

 

Внешний вид может отличаться не только на разных ОС (например, в iOS одна из кнопок формы перескакивает в заголовок), но и на разных телефонах. Одна из проблем – мобильная платформа странно ведет себя на устройствах с высокой плотностью пикселей. Например, на Samsung Galaxy S4 с экраном в 5 дюймов форма может не поместиться на экран (и появляются полосы прокрутки), а на Samsung Galaxy Win с диагональю 4,7 дюймов всё хорошо. Бред? Нет, 1С. :) Решение было найдено абсолютно случайно – ширина элементов на форме должна быть... Нечетной! Если у группы указать ширину 28, то форма не помещается, а 29 – помещается. Так и живем...

В процессе тестирования обнаруживаются не только ошибки разработчиков, но и мобильной платформы. Мы регистрируем все найденные ошибки в 1С (на момент написания статьи – более 80-ти), и что особенно радует – 1С их исправляет. Как оказалось, большинство разработчиков не знает, как это делать, поэтому мы опубликовали статью на тему регистрации ошибок.

Вот так организована разработка нашего приложения Контейнер. 

Отметим, что нам очень пригодился курс по мобильной платформе – автор статьи является выпускником первого потока, и полученные знания сэкономили уйму времени благодаря подробному описанию особенностей разработки под мобильные устройства. Также мы позаимствовали оттуда несколько идей для Контейнера – в частности, заполнение демо базы помогло начинающим пользователям быстрее разобраться в программе.

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

Вступайте в нашу телеграмм-группу Инфостарт

мобильная платформа Контейнер разработка управление проектом

См. также

Мобильная разработка Сканер штрих-кода Терминал сбора данных Управляемые формы Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Сбор заказов, инвентаризация, проверка ценников, просмотр полной информации об остатках и ценах со смартфона Онлайн - все это содержит в себе решение 1С "Штрихкод-информер" (штрих-код чекер). Отправка данных со смартфона выполняется либо напрямую в открытую форму документа, отсканировав QR-код, либо в общую корзину учетной системы, не подходя к компьютеру. Кассир или оператор сможет просмотреть список присланных данных и загрузить в любую форму, поддерживающую работу с ТСД. Для работы с мобильным приложением требуется опубликовать HTTP-сервис из поставляемого расширения.

3000 руб.

03.12.2018    64836    218    106    

183

Логистика, склад и ТМЦ Мобильная разработка Программист Руководитель проекта 1С v8.3 1С:Управление торговлей 11 Управленческий учет Платные (руб)

«Склад 15 ПРОДУКТОВЫЙ» - специализированное программное обеспечение для терминалов сбора данных со встроенным сканером штрихкода, объединяет в себе несколько товарных групп маркированного товара (АЛКОГОЛЬ, ПИВО, ТАБАК, ШИНЫ, ОБУВЬ, ОДЕЖДА, ПАРФЮМ, МОЛОКО, ВОДА), которые чаще всего встречаются в складской логистике вместе. Предназначено для автоматизации всех товароучетных операций на складах, обычных и адресного хранения различной сложности. Позволяет ускорить и упростить действия линейного персонала, а также снизить вероятность ошибок при работе, обусловленных человеческим фактором.

48000 руб.

30.05.2023    4959    2    0    

1

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Программист Пользователь 1С v8.3 Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Простой мобильный ТСД (терминал сбора данных) сканер для 1С для смартфонов на iOS и Android, не требующий сложных настроек и установки дополнительных программ. Обмен между Вашей 1С и мобильным приложением осуществляется через облачный сервис и расширение конфигурации. Работает с конфигурациями УТ 11, ERP, КА2, Розница 2, Розница 3, УНФ 1.6, УНФ 3.0. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

3000 руб.

22.04.2019    108514    652    203    

349

Мобильная разработка Мессенджеры и боты 1С v8.3 Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 руб.

27.12.2021    46548    124    172    

219

Логистика, склад и ТМЦ Мобильная разработка 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

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

18500 руб.

30.05.2023    4771    3    0    

5

Логистика, склад и ТМЦ Сканер штрих-кода Терминал сбора данных Мобильная разработка 1С v8.3 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

19000 руб.

28.04.2023    11904    18    4    

11

Мобильная разработка 1С v8.3 1С:Управление торговлей 11 Оптовая торговля, дистрибуция, логистика Россия Платные (руб)

"МРМ:Маркировка" для работы с конфигурациями 1С - готовое решение, позволяющее быстро автоматизировать работу учетной системы 1С на ордерном и безордерном складе при работе как с товарами, подлежащими обязательной маркировке, так и с товарами, учет которых построен на базе линейных штрих-кодов. Решение поддерживает большинство распространенных складских документов, необходимых для работы кладовщику на терминале сбора данных. Для начинающих пользователей имеется подробная инструкция по работе с приложением в разрезе видов документов.

15000 руб.

24.06.2025    1009    1    0    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. flyer 233 22.03.15 23:33 Сейчас в теме
Ребята то что вы сделали это реально круто! некоторые ваши идеи я возьму себе на заметку. Жду еще от Вас интересных программ и материалов!
3. vv22 535 23.03.15 18:21 Сейчас в теме
(1) flyer, спасибо! Очень приятно читать подобные отзывы, они мотивируют нас писать дальше. :)

(2) _Z1, а что именно вас интересует? На самом деле там особо нечего рассказывать - я беру тетрадку и рисую в ней форму, бывает по несколько раз (как с формой оплаты), и когда мне всё нравится - иду и разрабатываю ее в конфигураторе.
4. _Z1 38 23.03.15 20:09 Сейчас в теме
(3) То что нарисовали как потом переносите на устройства.
Ведь вся сложность и заключается что на разных устройствах
все выглядит визуально совсем по разному.
6. vv22 535 24.03.15 19:57 Сейчас в теме
(4) _Z1, как переносим - итоговый интерфейс мы создаем в конфигураторе. Понятное дело, что я рисую формы, исходя из возможностей мобильной платформы, поэтому то что нарисовано, вполне реально воспроизвести в конфигураторе.

(5) FSerg, всё в будущем. :)
2. _Z1 38 23.03.15 08:58 Сейчас в теме
(0) Добрый день
а можете более побробно в след статье описать как именно Вы разрабатывете мобильный интерфейс
5. FSerg 190 23.03.15 20:22 Сейчас в теме
ИМХО, добавьте к ней такой же простой и красивый бэк-офис на "большом" компе и будет просто отличный продукт!
7. mzelensky 53 25.03.15 12:33 Сейчас в теме
Доброго времени суток! Тоже разрабатываю небольшое мобильное приложение. Версии платформ последние на текущий момент (официальные, не бетта). Столкнулся со следующей проблемой:

На форме документа лежит Группа "Страницы" и в ней 3 странички. На одной из страниц отображается текстовое поле для комментария. Когда пользователь нажимает на это поле, то автоматически появляется клавиатура (для набора текста) и эта клавиатура практически полностью перекрывает поле ввода. Его просто не видно (хотя текст набирается).

Забавности, которые были замечены - если информация полностью помещается на форму, т.е. вертикальных полос прокрутки НЕТ вообще, то получаем ситуацию описанную выше - клавиатура перекрывает поле ввода. Если же имеется вертикальная полоса прокрутки (т.е. вертикально вся форма на экран не помещается), то при появлении виртуальной клавиатуры она съезжает ПОД редактируемое текстовое поле и все отображается нормально.

Сталкивались ли с такой проблемой? НАшли ли решение?
9. vv22 535 26.03.15 10:57 Сейчас в теме
(7) mzelensky, мы сталкивались с проблемой, когда клавиатура перекрывает кнопки Провести и Удалить. Чтобы такого не было, разместите все элементы внутри страницы, а кнопки управления - снаружи. Тогда они пропадать не будут.
А вообще я вам советую пользоваться как раз бета версиями - там исправлено большинство ошибок, и они вполне стабильно работают. Также сегодня вышла 8.3.5.101, попробуйте ее - я читал описание изменений, там исправлена проблема с полосами прокрутки на форме.
8. gigapevt 26 25.03.15 18:53 Сейчас в теме
Про нечетную ширину элементов .... не знал. СПАСИБО ! (а приложение у вас интересное. Интерфейс качественно продуман + !)
10. baha2772 28.03.15 20:03 Сейчас в теме
Как справились с активизацией элементов формы? ТекущийЭлемент() вроде не работает?
11. vv22 535 29.03.15 14:47 Сейчас в теме
(10) baha2772, никак не справлялись - у нас он тоже не работает. :)
12. Prometeus2011 178 01.04.15 11:05 Сейчас в теме
Ребят, а на что вы живете-то??? Тут чтоб заработать кодингом и поддержкой на кусок хлеба приходится пырять днем и ночью до синих кругов под глазами. А тут... фундаментальные исследования. Че-то надо менять в своей жизни...
13. Byrabyk 19.04.16 10:45 Сейчас в теме
Добрый день, может знаешь в чем беда, разрабатываю мобильное, сделал поле HTML документа, на устройствах андроид 4.4 работает отлично на андроид 5.1 белый экран
14. Stan 33 25.08.16 15:48 Сейчас в теме
Ребят, вы молодцы. А можно для "типичных 1с-ников" по подробнее описать процесс создания отчетов в html? Как говорил Семен Альтов: "размеры моей благодарности будут безграничны в пределах разумного". :))
15. SvoyakMartin 60 11.10.16 11:04 Сейчас в теме
В начале статьи ссылка на вторую часть ведёт на первую, исправьте, пожалуйста!
16. Darklight 34 13.09.17 09:31 Сейчас в теме
Ссылка на Часть 2. ведёт на Часть 1.
Вот правильная ссылка Часть 2. Обработка долгого нажатия
Для отправки сообщения требуется регистрация/авторизация