Евгений Люлюк: «С появлением расширений пришло время серьезных и быстрорастущих продуктов»
На Infostart Event 2022 редакция Инфостарта пообщалась с автором Infostart Toolkit Евгением Люлюком. Поговорили о том, как из разработки «для себя» сделать успешный коммерческий продукт, а также в целом об особенностях рынка решений для разработчиков в среде 1С.
В сообществе 1С вы известны как автор Infostart Toolkit. Расскажите историю создания этого инструмента, как вы пришли к этой идее.
С самого начала работы с 1С я делал различные инструменты, расширяющие возможности для разработчиков.
Одним из первых больших инструментов стала «Универсальная консоль отчетов для обычных форм». Она была достаточно большой и сложной, включала в себя консоль запросов и консоль СКД.
Потом я написал несколько консолей для управляемых форм. Каждый раз пытался сделать инструменты для разработчиков проще, что-то в них улучшить, добавить удобства и расширить возможности.
Была пара неопубликованных версий, когда я просто попробовал написать консоль на управляемых формах. Мне тогда не понравилось, что в тонком клиенте не все задуманное можно сделать, и я эту консоль забросил, даже не публиковал.
Потом в 2018-м году компания, в которой я работал, перешла на управляемые формы. Я разобрался, как с ними работать, понял, что это легко и удобно. Посмотрел, какие инструменты доступны для разработчика на управляемых формах, и увидел, что ничего функционального для этой цели нет, а запрос на такой инструмент актуален.
Учитывая, что я как разработчик уже многое мог быстро и грамотно сделать, появилась своя разработка – «Управляемая консоль отчетов» для управляемых форм.
Получается, что эта идея уже претерпела несколько реинкарнаций?
Да, текущая версия инструментов – наверное, третья или четвертая.
Как только вы ее выложили, она практически за полгода стала очень популярна и получила премию Infostart Awards как лучшая разработка 2019-го года. Вы решили не останавливаться и развивать ее дальше? Расскажите, чем она лучше, чем другие инструменты?
Прежде чем ее выложить, я ее где-то полгода-год писал. Думаю, что такие проработанные инструменты на Инфостарт нечасто выкладывают. Поэтому она была хороша.
Кроме этого, она постоянно развивалась – там каждый месяц появлялись новые функции. И, естественно, я обрабатывал обратную связь – многие возможности реализовал по запросу.
Обычно инструменты разработчика выкладывают бесплатно, а Infostart Toolkit стал платным. Как вы решились на его коммерческое развитие?
Я уже давно знаком с сайтом Инфостарта – это для меня основной инструмент получения знаний. Здесь я сам публикую много статей.
Когда разработка получила награду, я понял, что она нужна людям, и продолжал над ней работать. В процессе мне позвонили с Инфостарта и сказали, что моя разработка интересна людям не только за стартмани, но и за деньги.
В тот момент я отнесся к этой идее скептически. Мне казалось, что если выкладывать инструменты разработчика платно, это вызовет море негатива, такой продукт будет отвергнут.
Но потом решил попробовать. Опубликовал свою разработку в маркетплейсе с минимальной ценой, и за полгода получил около 35 продаж. В тот момент я подумал, что если разработка будет платная, это даст толчок к ее развитию.
У всех бесплатных инструментов одна проблема – автор написал что-то очень хорошее, но через какое-то время обстоятельства поменялись, и оказывается, что мотивации на дальнейшее развитие недостаточно. И инструмент забрасывается – пускай и с хорошим стартом.
Насколько я знаю, одна из ключевых возможностей разработки связана с тем, что она содержит редактор кода, который развивается в OpenSource, и его можно использовать в других инструментах. И то развитие, которое получает ваша разработка, автоматически транслируется на все сообщество, потому что все могут использовать этот редактор кода у себя. Расскажите, какие возможности добавляет редактор кода в вашу консоль?
Когда я начал работу над Infostart Toolkit, был митап в Краснодаре, где я выступал с докладом по своей разработке. Там в процессе обсуждения с коллегами возникло пожелание добавить в консоль редактор кода с контекстной подсказкой. Мне эта идея тогда показалась странной, потому что это – не совсем 1С, т.е. не моя сфера.
Но так получилось, что появилась разработка Александра Шкураева – консоль кода, которая на движке Monaco в 1С позволяет строить редактор с контекстной подсказкой. Удобно, прямо на лету – редактор встроен в поле HTML.
В этот редактор подтягивается контекст всей конфигурации?
Там все, что нужно для инструментов, которые работают в режиме 1С:Предприятие.
В конфигураторе понятно, что доступ ко всему этому есть, а в режиме 1С:Предприятие таких инструментов не было.
Увидев эту разработку, я сразу начал ее внедрять в свое решение и подавать идеи на развитие Александру. Спасибо ему огромное за его помощь и сотрудничество!
Изначально его редактор был ориентирован на код, позже появилась работа с текстом запроса и языком выражений СКД.
В редакторе появилась поддержка XML и множество дополнительных функций, таких как динамическое считывание. Изначально у Александра контекст конфигурации считывался сразу весь – в ERP редактор мог запускаться 10 секунд. Позже пришли к реализации, когда она начала считываться постепенно – пишешь «Документы», а считываются только нужные данные. Естественно, это хорошо сказалось на производительности. Редактор стал быстро и хорошо работать. Еще добавляли поддержку закладок Alt+F2 и много другого.
Развитие редактора продолжается, сейчас он уже очень удобный. Его можно использовать во многих инструментах, встроить в любую конфигурацию – использовать везде, где нужно работать с кодом 1С, с запросами, с СКД
Я знаю, что Infostart Toolkit – комплексный инструмент, и он работает не только с запросами. Какие тренды вы видите в развитии инструментов разработчика в целом?
Я считаю, что инструменты становятся сложнее. Если раньше можно было за несколько дней написать обработку, которая чем-то хороша, теперь уже нужны обработки, решающие сложные технические задачи.
Также идет упор уже не просто на одну обработку, но и на взаимодействие между ними – чтобы одна из другой запускалась и чтобы обработка могла взаимодействовать с той конфигурацией, в которую она внедрена. Все должно удобно запускаться автоматически.
Т.е. основные тренды – это усложнение, интеграция и взаимодействие между несколькими инструментами.
Время внешних обработок уже проходит. Сейчас инструменты должны быть реализованы в виде расширения.
Как вы считаете, у расширений есть какие-то недостатки или больше недостатков у внешних обработок?
Это дискуссионный вопрос. Расширения очень много дали миру 1С. Во внешней обработке можно писать код только в модуле объекта и в модулях форм. Там может быть несколько форм, но какие-то сложные структурированные продукты за счет этого сделать проблематично.
С появлением расширений пришло время серьезных и быстрорастущих продуктов.
В Infostart Toolkit 20 обработок и более 50 модулей объектов. Без расширения это была бы просто какая-то папка с обработками, а модули были бы раскиданы по файлам или по таким же обработкам.
Само расширение работает как цельная конфигурация – оно работает гораздо быстрее, чем внешняя обработка.
Когда я развивал «Управляемую консоль отчетов», она поставлялась и как расширение, и как отдельная обработка. Но как обработка она запускалась 2 секунды, а как расширение – полсекунды. И по скорости работы было видно, что нет никаких задержек, за счет кеширования все работает быстрее.
Главное в том, что расширения увеличивают удобство разработки. В них сложные объекты можно разложить логически и держать в порядке – это позволяет справляться с растущей функциональностью.
В старой обработке на обычных формах у меня в модуле было 10 тысяч строк. Понятно, что искать в них какую-то функцию, разбираться с проблемой достаточно сложно. А в расширении можно создать модуль, в котором три функции. С такими объектами работать гораздо легче.
Расскажите, какие у вас ближайшие планы развития?
Сейчас Infostart Toolkit – это инструмент для разработчиков и для аналитиков. Хочется, чтобы он был полезен более широкому кругу специалистов в сфере 1С. В ближайших планах сделать инструменты для аналитиков.
Например, инструмент, который позволяет открывать дерево метаданных в 1С:Предприятие как в конфигураторе, чтобы посмотреть, какой тип реквизита. Конфигуратор часто бывает занят, и аналитику можно было бы глянуть на метаданные, посмотреть, где какой тип, где какое перечисление, где какой объект доступен (прим. ред. инструмент «Метаданные» был реализован в версии Infostart Toolkit 2022.5).
Плюс – хочется доработать анализ прав и другие инструменты так, чтобы они были более полезны для аналитика.
Ну и для разработчиков тоже хочется реализовать ряд моментов.
130+ докладов с презентациями спикеров
Подключайтесь к чату в телеграм INFOSTART FRIENDS. В чате будем знакомиться, обсуждать доклады и рабочие задачи. Нас уже более 1000!