Как мы сделали приложение на 1С: Элемент
Давненько я тут ничего не писал, а сейчас появилась интересная тема, про которую хочется рассказать.
Материал посвящен разработке web‑приложения на новой технологии от 1С — 1С:Элемент. Мы на этой технологии реализовали приложение «Книжный клуб» в тесном взаимодействии с заказчиком, опытом использования данной технологии и хочу поделиться.
Выступаю я с позиции разработчика из сети 1С‑Франчайзи, поэтому смотрю на вещи «со своей колокольни» и опыт конечно же тоже специфический. В проекте принимаю участие как аналитик и руководитель проекта со стороны исполнителя.
Сразу скажу, преследую корыстные цели, а именно привлечь в книжный клуб новую аудиторию, но, обо всём по порядку…
Начало
Я познакомился с Денисом Соколовым в конце 2023 года на партнёрском семинаре 1С в Москве, он выступал с докладом о книжном клубе для управленцев, приглашал к совместному чтению и обсуждению деловой литературы. Я вступил в ТГ‑группу по пригласительной ссылке, но ни в какое чтение не вписался, потому что поток был один, он уже шёл, и книга была для меня не профильной.
Позже в этой группе Денис оставил запрос — готов ли кто‑то взяться за разработку приложения, реализующего механику Книжного клуба на новой технологии — 1С:Элемент? А у меня как раз в это время разработчик прошёл обучение от 1С и надо было прокачивать реальные навыки, чтобы они не «закисли». Я откликнулся и с этого момента началась жизнь приложения «Книжный клуб».
Стоит сказать, что до разработки приложения механика была реализована на почте и гугл‑таблицах. Ведущему потока читателей приходилось вручную собирать ответы, оценки, комментарии, распределять их и рассылать задания на почту. Понятное дело, такой подход не позволял масштабировать ни число участников книжного клуба, ни количество активных книг в чтении.
Идея
В чем собственносуть приложения, что такого особенного нужно делать ведущему, кроме того, чтобы раздать материал для чтения и потом провести обсуждение прочитанного материала? В этом книжном клубе заложена более сложная механика. Постараюсь её описать.
-
Книга делится на части, которые удобно можно изучить за неделю (недельные микроциклы).
-
По каждой части надо выполнить ряд заданий (задания микроцикла, о них ниже) и набрать баллы оценок.
-
Когда все задания выполнены можно просуммировать баллы и определить — кто чемпион, а кто «рядом стоял».
Для выполнения заданий микроцикла, участники разбиваются на группы и последовательно выполняют шаги. А сделать им нужно вот что:
-
Первый день: написать свой ответ на вопрос‑задание и отправить его.
-
Второй день: ранжировать несколько ответов неизвестных участников и пояснить оценки.
-
Третий день: прокомментировать один из лучших ответов, написать его достоинства и недостатки.
-
Четвёртый день: прочитать еще один лучший ответ и ранжировать данные к нему комментарии других участников, по аналогии со вторым шагом.
В результате микроцикла рассчитываются итоговые баллы, определяются лидеры, выдается задание по следующим главам книги.
Всё происходит анонимно. Авторы не видят, кого они оценивают, и кто оценивает их. Это помогает давать и получать честную и беспристрастную обратную связь написанным текстам. На каждом шаге участники сталкиваются с ответами, комментариями, обратной связью других авторов и таким образом знакомятся с разными ответами, точками зрения, аргументами углубляя своё личное понимание прочитанного материала.
У такого подхода к чтению есть ряд преимуществ:
-
Материал надо прочитать вдумчиво, чтобы дать хороший ответ;
-
Формулировка ответов с двух позиций позволяют лучше проанализировать прочитанный материал;
-
Ответ оценивается беспристрастно другими участниками в конкуренции с остальными ответами;
-
Тот, кто дал лучший ответ — получит подробную обратную связь о достоинствах и недостатках ответа;
-
При написании достоинств и недостатков нужно стараться, чтобы получить лучшую оценку обратной связи;
-
Каждый участник микроцикла знакомится с большим количеством ответов других участников и за счёт этого улучшается понимание материала, можно познакомится с разными точками зрения, разными примерами из жизни и практики;
-
Развивается навык письменной речи — когда пишешь ответы, приходится красиво и правильно излагать свои мысли, аргументировать позицию.
Понятное дело, выполнить все эти действия вручную на таблицах для большого числа участников — занятие сложное и крайне нудное. А если параллельно разные участники читают разные книги? Вот поэтому и возникла необходимость сделать приложение и автоматизировать механику.
Сама постановка задачи показалась нам интересной, планируемое приложение существенно отличалось от обычных бизнес‑приложений 1С, а открытость и готовность заказчика к экспериментам и совместной работе — подкупали.
Реализация
Мы обсудили все вопросы с Денисом, посмотрели его наработки, согласовали базовую функциональность и начали работать над первой версией приложения. Задача была, как можно быстрее выдать основные функции, чтобы облегчить работу ведущего книжного клуба и показать нашу способность вести разработку.
Начали работать в январе, работали недельными спринтами, старались выдать максимум результата за короткий срок, и, уже в марте 2024 года у нас появилась бета-версия, в которую запустили первых, тестовых пользователей.
Тут стоит сказать несколько слов про саму платформу 1С:Предприятие.Элемент
Особенности 1С:Элемент, важные для заказчика:
-
Ориентированность на веб-приложения;
-
Лицензирование за потребление, а не за рабочие места, как в классической 1С;
-
Облачная платформа-хостинг для разработки и для приложения;
-
Унификация интерфейса с новым интерфейсом 1С:Предприятие;
-
Концентрация на бизнес-логике, высокая скорость разработки прототипов;
-
Бесплатная среда разработки и хостинг для небольших приложений.
Особенности, важные для разработчика:
-
Вся разработка в облаке, в результате процесс разработки и отладки протекает не так, привык программист 1С:Предприятие;
-
Поддержка Git упрощает совместную работу;
-
Асинхронность — работа с компонентами интерфейса, данными, содержимым страницы — многие концепции, приёмы и особенности работы будут непривычными;
-
Более богатый язык, чем язык 1С:Предприятие (тут сошлюсь на обзорную статью на хабре — Новый язык от 1С: Зачем? Кому? Стоит ли лезть?);
-
Автоматическая адаптивность интерфейса, при разработке на типовых компонентах.
Мы быстро реализовали первый прототип, запустили пользователей, получили опыт эксплуатации и обратную связь. Сняли основную боль заказчика по администрированию всего это процесса и далее смогли углубиться в развитие приложения.
Важные моменты, которые мы реализовывали уже после запуска беты:
-
Развитая система ролей и прав
-
Посетитель
-
Участник
-
Ведущий
-
Автор курса
-
Администратор
-
-
Интерфейс администратора
-
Система оповещений
-
Учёт часовых поясов (в книжном клубе все активности завязаны на время)
Интерфейс пользователя Книжного клуба
Приведу некоторые примеры, как выглядит готовое приложение со стороны пользователя. Старались делать интерфейс адаптивным: довольно большая часть пользователей заходят с мобильных устройств.
Развитие
Сейчасплатформа BcluB — это сотни зарегистрированных пользователей, десятки учебных планов к книгам по различным направлениям: разработка, бизнес, управление проектами, художественная литература. Несколько книжных клубов и несколько авторов, которые готовят и лидируют открытые и закрытые потоки (приглашаю читателей присоединяться и участвовать, многие найдут для себя подходящую книгу!).
А мы ведём разработку дальше!
В планах:
-
Заложить возможность локализации приложения;
-
Добавить несколько новых игровых механик, а не только 4х‑тактный микроцикл;
-
Добавить элементы игрофикации — ачивки, баллы, награды;
-
Дорабатывать интерфейс пользователя;
-
Дорабатывать интерфейс администратора;
-
Оптимизация архитектуры и кода.
Мой личный отзыв как участника Книжного клуба
Как простой участник книжного клуба я получил массу удовольствия и пользы от совместного чтения книг. Лучше вникаю в материал, сложнее отложить или пропустить книгу, очень интересные и неожиданные ответы и мнения других участников.
Конкретная польза для меня — прочитал книгу Карла Вигерса «Разработка требований к программному обеспечению», что, прямо скажем было непросто и без команды совместного чтения точно бы не справился.
Сама книга, монументальный труд по работе с требованиями. То, что должен прочитать каждый аналитик (на мой взгляд), прекрасно ложится на накопленный опыт.
Мой личный отзыв как пользователя 1С:Элемент
За всё время участия в Книжном клубе ни разу не столкнулся с какими‑то багами или «тормозами» платформы как пользователь.
Мой личный отзыв как участника команды разработки на 1С:Элемент
-
Инструмент рабочий и мы его активно используем в рабочих проектах
-
Местами не хватает гибкости (но она существенно выше, чем у 1С:Предприятие)
-
Намного проще доставить решение конечному пользователю чем на платформе 1С:Предприятие
-
Разработка в облаке имеет как плюсы, так и минусы: временами среда может тормозить (работы на серверах?), отзывчивость разработки сильно зависит от скорости интернета. Большой плюс — никаких заморочек с разворачиванием рабочей среды — открыл браузер, залогинился и работаешь.
-
Технология активно развивается — 1С регулярно что‑то добавляет, что‑то меняет.
Выводы
-
1С:Предприятие.Элемент позволяет быстро реализовать прототип приложения и запустить его в работу без существенных затрат на инфраструктуру или ПО;
-
Разработка на 1С:Предприятие.Элемент доступна опытному программисту на 1С:Предприятие, начало работы требует минимальных усилий;
-
Благодаря общим концепциям с 1С начать разработку на 1С‑Элемент можно довольно быстро, по мере необходимости погружаясь в специфику;
-
Запущенное в облаке 1С приложение хорошо работает с сотнями пользователей;
-
Нестандартные элементы интерфейса или логика работы требуют большого объема разработки;
-
Неудобства доставляет условная недоступность JS и CSS, что усложняет работу с нестандартными элементами интерфейса.
Автор: dDmx

