Завершаем 2025 год и смотрим вперёд
В плане выпусков этот год был довольно тихим, но я хотел рассказать о ходе работы и о том, что будет дальше.
Даже лучшие планы…
Deneb появился как идея, которая развивалась естественным образом, и продолжал расти так же. Во многом это связано с тем, что было непонятно, насколько востребованным окажется визуальный элемент, позволяющий использовать языки Vega и Vega-Lite в Power BI. Тогда я также только начинал учиться создавать визуальные элементы Power BI и осваивать веб-разработку интерфейсов, имея опыт анализа и визуализации данных.
Мы только что достигли важной отметки: Deneb находится в AppSource уже 4 года! Он был опубликован и получил одобрение сертификации в конце 2021 года. С тех пор популярность и использование стабильно растут, и это очень воодушевляет. Вероятно, прежде всего это говорит о том, насколько хорошо языки Vega подходят для создания таких настраиваемых визуальных элементов. Замечательно, что проект решает реальные задачи людей. Я продолжаю видеть впечатляющие работы нашего сообщества, особенно тех участников, которые помогают другим узнать о Deneb и возможностях языков Vega.
Я ещё многое хочу сделать, но кодовую базу стало трудно поддерживать. Казалось, что наступил подходящий момент для совершенно новой версии: это позволило бы избежать прежних ошибок и получить более удобную основу для развития.
Последние 18 месяцев я старался сосредоточиться на этой задаче и уже упоминал такой план в нескольких статьях. Одно из его важных следствий — появление нового визуального элемента Power BI в AppSource, наряду с другими несовместимыми изменениями. Я работал исходя из этого, и значительная часть нынешнего года ушла на реализацию плана, включая написание большого количества кода.
Попытка воплотить этот план оказалась… отрезвляющей. Трудно сохранять темп, когда разрабатываешь всё один и очень критично относишься к собственным навыкам. Некоторые ключевые участники сообщества оказывали огромную поддержку, но «последние 20%» дошли до состояния, когда каждый следующий шаг давался всё сложнее. Это стало сказываться на мотивации.
В итоге у нас был один выпуск в этом году с расчётом сделать что-то более масштабное позже в 2025 году. Но этого не удалось добиться так, как мне хотелось.
Что я с этим делаю
Если коротко, в начале ноября я принял непростое решение сделать две вещи:
- Выйти из замкнутого круга работы над нынешней v2 и упадка сил.
- Найти способ двигаться дальше с существующей кодовой базой и вернуться к более заметным улучшениям Deneb, вместо того чтобы продолжать изобретать всё заново.
Последние 6 недель
С момента этого решения я был примерно так же занят, но сосредоточился на конкретных видимых изменениях. Это включало:
- Оценку состояния кодовой базы v1 и её сравнение с тем, что я планировал для v2.
- Поиск способов развиваться в рамках существующего продукта с минимальными неудобствами для… всех.
- Очень много времени на переработку кода и архитектуры v1, чтобы в дальнейшем её было удобнее поддерживать и расширять.
Это подводит нас к следующему пункту…
Ближайший выпуск
Deneb 1.9 — первый этап оптимизации кодовой базы для дальнейшего сопровождения и разработки функций. Это результат последних шести недель интенсивной работы. Если хотите понять её объём, вот запрос на включение изменений 😅
Если я всё сделал правильно, существенных изменений в функциях или порядке работы вы не заметите. Но в ходе этой уборки удалось добиться значительного повышения производительности и стабильности, от которого было бы жаль отказаться:
- Значительно сокращено время инициализации: на 15%–40% быстрее в зависимости от сложности визуального элемента и набора данных.
- Упрощена обработка интерактивности Power BI: основной набор данных стал легче и обрабатывается гораздо быстрее — обычно на 200–300% быстрее в замерах, после того как Power BI завершает передачу результата запроса в Deneb для обработки.
- Пакет визуального элемента (.pbiviz) на 5% меньше, чем в 1.8, и на 12% меньше, чем в 1.7.
Отделение многих механизмов, специфичных для Power BI, от основного приложения позволило внести небольшие улучшения и исправить ошибки. Они и подробности перечисленных изменений описываются в журнале предстоящего выпуска, если вы хотите узнать больше.
На момент написания статьи этот выпуск проходит внутреннее и ограниченное альфа-тестирование с участием некоторых членов сообщества. Пока результаты хорошие 🤞. Любой желающий, разумеется, тоже может скачать последнюю альфа-сборку и попробовать её — нам нужно как можно больше проверок! Если обнаружите проблему, добавьте подробности и сведения для воспроизведения в сообщение, где я отслеживаю необходимые исправления.
Когда мы будем достаточно уверены в результате, вероятно в начале нового года, я проведу короткое бета-тестирование. Если другие участники смогут помочь, это позволит лучше подтвердить стабильность перед отправкой в AppSource на сертификацию. Отправим выпуск как можно скорее после этого; сейчас я рассчитываю на конец января 2026 года, в зависимости от результатов тестирования.
После этого
Следующий этап — завершить всё необходимое для подготовки Deneb к 2.0, после чего можно будет добавлять ощутимые новые функции.
Для этого нужно закончить переработку кода и архитектуры. Вероятно, удастся сделать это за один раз. Но если до того момента для поддержки пользователей потребуются дополнительные отправки в AppSource, части этих возможностей могут постепенно попадать в промежуточные выпуски по мере выполнения работы.
Из-за изменения подхода я намерен сохранить нынешнюю страницу визуального элемента в AppSource в качестве основной сертифицированной версии Deneb.
Поскольку мы больше не начинаем с чистого листа, подход к некоторым вещам, возможно, придётся изменить. Но основное видение и набор функций останутся прежними. Мы будем управлять изменениями так, чтобы они не нарушали работу существующих отчётов и решений.
Поскольку Deneb бесплатен и поддерживается сообществом, у нас, наверное, нет того же давления, что у коммерческого продукта. Но я считаю открытость важной и хочу, чтобы мы продолжали двигаться вперёд и приносить пользу сообществу. Надеюсь, новый подход поможет этого добиться.
Как бы вы ни отмечали окончание 2025 года и начало 2026, желаю вам хорошо провести время, беречь себя и быть здоровыми. И, как всегда, спасибо за поддержку Deneb, за постоянную помощь и ободрение. Здорово видеть столько новых работ и идей от людей, которые открыли для себя Deneb в этом году, а также от тех, кто продолжает расширять границы возможного и делиться результатами. С нетерпением жду, что нового 2026 год принесёт всем нам!
До следующей встречи,
DM-P