Pull to refresh
0
0
Peter Salnikov @psalnikov

Software Architect

Send message
Проект развивается, на нем сейчас реализуем два проекта компании. Просто из-за большой загруженности не успеваем опубликовать что-то тут из нового.
В ближайшее время опубликуем и опишем связку Histone — Spring MVC — первую версию, но тем не менее работающую. Будет готова подсветка синтаксиса для IDEA (для некоторых редакторов подсветка уже есть. Также в течении месяца дополним Histone новыми функциями.
Постараемся оперативно собщить об этом на хабре :)
humblegenius, если вы хотите сделать порт histone на c# но вам удобнее всего будет взять Java реализацию — дабы синтаксис наиболее близкий

спецификацию на формат AST мы подготовим до конца следующей недели

сейчас в нашей консоли сделаем вывод не только результата но и промежуточного AST дерева

плюс у нас в планах ещё несколько статей описывающих устройство histone изнутри — их планируем опубликовать в течении ближайшего месяца/двух

в гитхабе вы сможете найти приёмочные тесты, а в вики описание как ими пользоваться
в тестах есть проверки как для парсера так и для интерпретатора — на корректность AST и самого результата выполнения шаблона
sskorykh, про наследование ответил внизу — будет, но пока не готовы сказать когда

про фильтры — уточните плиз подробнее, или пример из любого другого движка — что именно нужно, как это должно работать?

обработка данных — тут могу сазать, что Histone сделан максимально устойчивым к неправильным данным. В совсем ошибку он вывалится либо если есть синтаксическая ошибка, либо в очень крайних случаях.

По вашему примеру ${route.number}
если переменной route не существует или она null или у неё нет свойства number, Histone вернёт результат типа undefined и продолжит выполнение шаблона дальше. Ошибки, остановившей выполнение, не произойдёт.
Наследование и декораторы фактически есть почти одно и тоже. И совершенно понятно что такой функционал нужен как минимум для конкурентоспособности нашего шаблонного движка.
Мы рассмотрим как и когда мы сможем реализовать такую функцию в Histone.
Про привязку для спринга завели тике в системе, хотим включить такую фичу в ближайшие планы
weblab.megafon.ru/issues/browse/HST-1

Про сервер-сайд — как уже сказал мой коллега, для нас основным требвоанием была реализация на javascript и java одновременно.

Декораторы — мы посмотрим как именно их можно реализовать в Histone. Сейчас это можно сделать на уровне кастомных пользовательских функций, но думаю в итоге мы реализуем это внутри самого движка.
Про подсветку и автокомплит: под какие редакторы Вам было бы это актуально?
Мы завели такую фичу в нашей джире и хотим включить её в ближайшие планы
weblab.megafon.ru/issues/browse/HST-3
weblab.megafon.ru/issues/browse/HST-4
Понял вас
такое можно делать уже сейчас руками
при интеграции со Spring MVC это просто реализуем на автоматическом уровне
А о какой интеграции со spring-security идёт речь? всё таки Histone это шаблоны а не логика.
Kai, ответил вам чуть ниже, нечаянно попутал ветку.
Про спринговые плагины:
уже сейчас есть работающий прототип, который позволяет в спринге вместо velocity/freemarker использовать Histone в качестве view. В ближайшее время доработаем его и выложим на гитхаб и напишем статью на хабр.

Про декораторы:
мы планируем реализовать декораторы, в стиле более близком к шаблонам play (Play Framework)
Ну как всегда дело вкуса ))
Разница нашего движка в том что он на Java/PHP/JavaScript одинаково работает

Information

Rating
Does not participate
Works in
Date of birth
Registered
Activity

Specialization

DevOps, Software Architect
Lead
AWS
Yandex.Cloud
Terraform
Kubernetes
Golang
Java
Docker