Дальнейшие планы
Дальнейшие планы
Всем здравствуйте.
Прошу извинить за долгое молчание на форуме, но так получилось.
Итак, о дальнейшем развитии Снегопата.
Самый животрепещущий вопрос - поддержка свежих релизов 1С.
Признаюсь, кодирование всех тех вывертов и заплаток внутри снегопата для возможности работы в разных релизах движка 1С меня изрядно вымотало.
Руки уже почти опустились, и я уже почти был готов признать поражение в этой погоне.
Но так просто сдаваться я не привык, и решение не могло быть не найдено.
В работе над новым своим проектом я познакомился со скриптовым движком AngelScript.
Очень скоростной движок, с С++ подобным синтаксисом и JIT-компиляцией, позволяющий относительно легко и просто взаимодействовать с С++ кодом "родительского" приложения.
(также там есть еще ряд хороших фич, пригодящихся в снегопате).
Поэтому сейчас идет работа по громадному рефакторингу движка снегопата:
- вычленение в отдельный слой всего взаимодействия с движком 1C.
- перевод части кода движка снегопата на AngelScript.
- создание динамически формируемой прослойки для взаимодействия кода снегопата с кодом 1С.
В итоге - будет единый движок снегопата плюс отдельные скрипты для его работы под разными релизами.
При запуске снегопат будет определять версию релиза 1С, загружать соответствующий этому релизу скрипт инициализации,
тот в свою очередь динамически сформирует слой взаимодействия между снегопатом и 1С, и запустит непосредственно движок снегопата.
Что это дает:
Плюсы:
- упрощение поддержки новых релизов 1С. Теперь не будет нужды лопатить весь код снегопата в случае выхода нового релиза.
Достаточно будет только выпустить новый скрипт взаимодействия, отражающий изменения в этом релизе, не трогая основную часть
кода.
- Меньше вероятность вылета в случае ошибок в коде самого снегопата - скрипт по определению не может вызвать крах всей программы,
только крах самого скрипта + язык скрипта автоматически управляет памятью (GC). Плюс опять же меньше вероятность внести ошибки
при адаптации к новому релизу 1С, так как основной код трогаться не будет.
Минусы:
- возможно небольшое снижение скорости работы, но думаю, что на практике это даже не будет заметно.
- не уверен, что смогу полностью оставить текущее SnegAPI без изменений, и возможно часть существующих аддинов
потребует доработки.
- скорее всего, поддержки релизов 1С меньше 8.2.19 не будет.
Итого - думаю, все согласятся, что плюсы сильно перевешивают минусы.
Сроки - на это уйдет еще весь декабрь и январь. Прошу всех еще чуть-чуть набраться терпения и подождать.
Работа идет, никто не забыт, ничто не забыто.
Прошу извинить за долгое молчание на форуме, но так получилось.
Итак, о дальнейшем развитии Снегопата.
Самый животрепещущий вопрос - поддержка свежих релизов 1С.
Признаюсь, кодирование всех тех вывертов и заплаток внутри снегопата для возможности работы в разных релизах движка 1С меня изрядно вымотало.
Руки уже почти опустились, и я уже почти был готов признать поражение в этой погоне.
Но так просто сдаваться я не привык, и решение не могло быть не найдено.
В работе над новым своим проектом я познакомился со скриптовым движком AngelScript.
Очень скоростной движок, с С++ подобным синтаксисом и JIT-компиляцией, позволяющий относительно легко и просто взаимодействовать с С++ кодом "родительского" приложения.
(также там есть еще ряд хороших фич, пригодящихся в снегопате).
Поэтому сейчас идет работа по громадному рефакторингу движка снегопата:
- вычленение в отдельный слой всего взаимодействия с движком 1C.
- перевод части кода движка снегопата на AngelScript.
- создание динамически формируемой прослойки для взаимодействия кода снегопата с кодом 1С.
В итоге - будет единый движок снегопата плюс отдельные скрипты для его работы под разными релизами.
При запуске снегопат будет определять версию релиза 1С, загружать соответствующий этому релизу скрипт инициализации,
тот в свою очередь динамически сформирует слой взаимодействия между снегопатом и 1С, и запустит непосредственно движок снегопата.
Что это дает:
Плюсы:
- упрощение поддержки новых релизов 1С. Теперь не будет нужды лопатить весь код снегопата в случае выхода нового релиза.
Достаточно будет только выпустить новый скрипт взаимодействия, отражающий изменения в этом релизе, не трогая основную часть
кода.
- Меньше вероятность вылета в случае ошибок в коде самого снегопата - скрипт по определению не может вызвать крах всей программы,
только крах самого скрипта + язык скрипта автоматически управляет памятью (GC). Плюс опять же меньше вероятность внести ошибки
при адаптации к новому релизу 1С, так как основной код трогаться не будет.
Минусы:
- возможно небольшое снижение скорости работы, но думаю, что на практике это даже не будет заметно.
- не уверен, что смогу полностью оставить текущее SnegAPI без изменений, и возможно часть существующих аддинов
потребует доработки.
- скорее всего, поддержки релизов 1С меньше 8.2.19 не будет.
Итого - думаю, все согласятся, что плюсы сильно перевешивают минусы.
Сроки - на это уйдет еще весь декабрь и январь. Прошу всех еще чуть-чуть набраться терпения и подождать.
Работа идет, никто не забыт, ничто не забыто.
Re: Дальнейшие планы
Спасибо!
Re: Дальнейшие планы
Спасибо за ответ.
Ждали очень долго.
Саша, большая просьба - выпусти хоть что-то в конце января или еще раньше
, пусть будет минимальный продукт с минимальным функционалом для тестирования.
Так мы сможем побольше функционал протестить и народ надежду не потеряет
Ждали очень долго.
Саша, большая просьба - выпусти хоть что-то в конце января или еще раньше
Так мы сможем побольше функционал протестить и народ надежду не потеряет
Re: Дальнейшие планы
Естественно, как только будет что-то минимально работоспособное, будет отдано общественности на растерзание.
Re: Дальнейшие планы
Огромное спасибо за просторный ответ!
На самом деле, лично для меня, не есть проблема подождать дольше - т.к. сложность задачи я приблизительно понимаю.
Больше всего огорчало именно молчание....
Теперь настроение сразу улучшилось
Просьба, в дальнейшем, какие бы ни были проблемы - не молчать, а отписать хоть чуть-чуть, какова ситуация.
Все мы люди, и можем понять любые сложности. А вот молчание - тяжело.
В любом случае, спасибо.
На самом деле, лично для меня, не есть проблема подождать дольше - т.к. сложность задачи я приблизительно понимаю.
Больше всего огорчало именно молчание....
Теперь настроение сразу улучшилось
Просьба, в дальнейшем, какие бы ни были проблемы - не молчать, а отписать хоть чуть-чуть, какова ситуация.
Все мы люди, и можем понять любые сложности. А вот молчание - тяжело.
В любом случае, спасибо.
В реальності все не так, як насправді
-
EvilBeaver
- Сообщения: 83
- Зарегистрирован: 26 май 2014, 13:53
Re: Дальнейшие планы
В принципе, я думаю, что будет честно, если масштабные изменения и вообще развитие Снегопата будет сопровождаться материальным стимулированием Александра. А то получается, что купил Снегопат один раз, а вкалывать на поддержке ему нужно постоянно.
Re: Дальнейшие планы
EvilBeaver писал(а):В принципе, я думаю, что будет честно, если масштабные изменения и вообще развитие Снегопата будет сопровождаться материальным стимулированием Александра. А то получается, что купил Снегопат один раз, а вкалывать на поддержке ему нужно постоянно.
Спасибо за поддержку. Отобьюсь на новых продажах.
Re: Дальнейшие планы
Верим!
-
JohnyDeath
- Сообщения: 722
- Зарегистрирован: 24 авг 2011, 15:32
Re: Дальнейшие планы
Приятно слышать.
Я так понимаю, переговоры с 1С после первого инфостарта ни к чему не привели?
Я так понимаю, переговоры с 1С после первого инфостарта ни к чему не привели?
Re: Дальнейшие планы
Отличная новость. Старые скрипты будут работать под новым движком?