Проект развивается, на нем сейчас реализуем два проекта компании. Просто из-за большой загруженности не успеваем опубликовать что-то тут из нового.
В ближайшее время опубликуем и опишем связку Histone — Spring MVC — первую версию, но тем не менее работающую. Будет готова подсветка синтаксиса для IDEA (для некоторых редакторов подсветка уже есть. Также в течении месяца дополним Histone новыми функциями.
Постараемся оперативно собщить об этом на хабре :)
humblegenius, если вы хотите сделать порт histone на c# но вам удобнее всего будет взять Java реализацию — дабы синтаксис наиболее близкий
спецификацию на формат AST мы подготовим до конца следующей недели
сейчас в нашей консоли сделаем вывод не только результата но и промежуточного AST дерева
плюс у нас в планах ещё несколько статей описывающих устройство histone изнутри — их планируем опубликовать в течении ближайшего месяца/двух
в гитхабе вы сможете найти приёмочные тесты, а в вики описание как ими пользоваться
в тестах есть проверки как для парсера так и для интерпретатора — на корректность AST и самого результата выполнения шаблона
sskorykh, про наследование ответил внизу — будет, но пока не готовы сказать когда
про фильтры — уточните плиз подробнее, или пример из любого другого движка — что именно нужно, как это должно работать?
обработка данных — тут могу сазать, что Histone сделан максимально устойчивым к неправильным данным. В совсем ошибку он вывалится либо если есть синтаксическая ошибка, либо в очень крайних случаях.
По вашему примеру ${route.number}
если переменной route не существует или она null или у неё нет свойства number, Histone вернёт результат типа undefined и продолжит выполнение шаблона дальше. Ошибки, остановившей выполнение, не произойдёт.
Наследование и декораторы фактически есть почти одно и тоже. И совершенно понятно что такой функционал нужен как минимум для конкурентоспособности нашего шаблонного движка.
Мы рассмотрим как и когда мы сможем реализовать такую функцию в Histone.
Про сервер-сайд — как уже сказал мой коллега, для нас основным требвоанием была реализация на javascript и java одновременно.
Декораторы — мы посмотрим как именно их можно реализовать в Histone. Сейчас это можно сделать на уровне кастомных пользовательских функций, но думаю в итоге мы реализуем это внутри самого движка.
Про спринговые плагины:
уже сейчас есть работающий прототип, который позволяет в спринге вместо velocity/freemarker использовать Histone в качестве view. В ближайшее время доработаем его и выложим на гитхаб и напишем статью на хабр.
Про декораторы:
мы планируем реализовать декораторы, в стиле более близком к шаблонам play (Play Framework)
В ближайшее время опубликуем и опишем связку Histone — Spring MVC — первую версию, но тем не менее работающую. Будет готова подсветка синтаксиса для IDEA (для некоторых редакторов подсветка уже есть. Также в течении месяца дополним Histone новыми функциями.
Постараемся оперативно собщить об этом на хабре :)
спецификацию на формат AST мы подготовим до конца следующей недели
сейчас в нашей консоли сделаем вывод не только результата но и промежуточного AST дерева
плюс у нас в планах ещё несколько статей описывающих устройство histone изнутри — их планируем опубликовать в течении ближайшего месяца/двух
в гитхабе вы сможете найти приёмочные тесты, а в вики описание как ими пользоваться
в тестах есть проверки как для парсера так и для интерпретатора — на корректность AST и самого результата выполнения шаблона
про фильтры — уточните плиз подробнее, или пример из любого другого движка — что именно нужно, как это должно работать?
обработка данных — тут могу сазать, что 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 это просто реализуем на автоматическом уровне
уже сейчас есть работающий прототип, который позволяет в спринге вместо velocity/freemarker использовать Histone в качестве view. В ближайшее время доработаем его и выложим на гитхаб и напишем статью на хабр.
Про декораторы:
мы планируем реализовать декораторы, в стиле более близком к шаблонам play (Play Framework)
Разница нашего движка в том что он на Java/PHP/JavaScript одинаково работает