Здравствуйте, alvas, Вы писали:
Z>>P.S. Все что там есть можно использовать по отдельности. Например spark view engine для немерле.
A>А почему спарк?
Есть другие предложения? На тот момент было понятно, что до разора еще очень далеко. Других мощных движков было мало. Я выбирал между spark и nhaml. Спарк показался более простым для понимания.
Здравствуйте, seregaa, Вы писали:
Z>>А тут пример: Z>>https://github.com/dahlbyk/FSRazor
S>Здорово! А достаточно ли этого для поддержки дебага, комплита и подсветки?
У меня большие сомнения. Но я был бы рад приятно удивиться.
Здравствуйте, Ziaw, Вы писали:
Z>Здравствуйте, alvas, Вы писали:
Z>>>P.S. Все что там есть можно использовать по отдельности. Например spark view engine для немерле.
A>>А почему спарк?
Z>Есть другие предложения? На тот момент было понятно, что до разора еще очень далеко. Других мощных движков было мало. Я выбирал между spark и nhaml. Спарк показался более простым для понимания.
Как по мне разор тот же aspx только менее многословный. Плюс обоих в разделении кода и разметки. Я за разор, да и популярней он.
Другая крайность (забыл как называется) написанный на f#. Там полностью все код. Типа
[html
[body
[div]Hello, F#
]
]
Здравствуйте, alvas, Вы писали:
Z>>Есть другие предложения? На тот момент было понятно, что до разора еще очень далеко. Других мощных движков было мало. Я выбирал между spark и nhaml. Спарк показался более простым для понимания.
A>Как по мне разор тот же aspx только менее многословный. Плюс обоих в разделении кода и разметки. Я за разор, да и популярней он.
Не тот же. Разор при компиляции строит дерево, aspx текстовый шаблонизатор.
Здравствуйте, Ziaw, Вы писали:
Z>Здравствуйте, alvas, Вы писали:
Z>>>Есть другие предложения? На тот момент было понятно, что до разора еще очень далеко. Других мощных движков было мало. Я выбирал между spark и nhaml. Спарк показался более простым для понимания.
A>>Как по мне разор тот же aspx только менее многословный. Плюс обоих в разделении кода и разметки. Я за разор, да и популярней он.
Z>Не тот же. Разор при компиляции строит дерево, aspx текстовый шаблонизатор.
Понял. Я имел в виду в использовании. Для энд юзера так сказать.
Здравствуйте, alvas, Вы писали:
Z>>Не тот же. Разор при компиляции строит дерево, aspx текстовый шаблонизатор.
A>Понял. Я имел в виду в использовании. Для энд юзера так сказать.
Для энд юзера все мейнстрим движки для вьюх одинаковы. ASP.NET MVC, RoR, Django, Struts. Разница в сахаре.
Здравствуйте, Ziaw, Вы писали:
Z>Здравствуйте, alvas, Вы писали:
Z>>>Не тот же. Разор при компиляции строит дерево, aspx текстовый шаблонизатор.
A>>Понял. Я имел в виду в использовании. Для энд юзера так сказать.
Z>Для энд юзера все мейнстрим движки для вьюх одинаковы. ASP.NET MVC, RoR, Django, Struts. Разница в сахаре.
Так и думал что кто-то прикопается к последнему предложению
Я в курсе что на выходе html, но свои доводы за бритву я высказал.
Есть сложности с реализацией бритвы по сравнению с..?
Здравствуйте, alvas, Вы писали:
A>Я в курсе что на выходе html, но свои доводы за бритву я высказал.
Мне тоже рэйзор нравится.
A>Есть сложности с реализацией бритвы по сравнению с..?
Пока сложности вообще с запуском MVC3. Они решаемые.
Попробуй сбилдить и запустить https://github.com/dahlbyk/FSRazor если все работает и есть поддержка студии — примерно столько кода и надо (там его очень мало).
Если нет — пиши сюда фичи которых не хватает, будем оценивать сложность.
Здравствуйте, alvas, Вы писали:
A>Пока хочу минимальной поддержки. По поводу реактивного фреймворка я пока вообще не врубаюсь. Слышал "дзвин, та нэ знаю дэ вин".
Скомпилируй и запусти этот проект. Это прототип. Кроме того я его показывал на ALT.NET-е.
A>С кем можно пообщаться? Неплохо было бы по скайпу
Со мной.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Ziaw, Вы писали:
Z>Здравствуйте, alvas, Вы писали:
A>>Я в курсе что на выходе html, но свои доводы за бритву я высказал.
Z>Мне тоже рэйзор нравится.
A>>Есть сложности с реализацией бритвы по сравнению с..?
Z>Пока сложности вообще с запуском MVC3. Они решаемые.
Z>Попробуй сбилдить и запустить https://github.com/dahlbyk/FSRazor если все работает и есть поддержка студии — примерно столько кода и надо (там его очень мало).
Z>Если нет — пиши сюда фичи которых не хватает, будем оценивать сложность.
Глянул. Уложились в 10 кб кода на f#.
К сожалению сбилдить и запустить не удалось, так как нет VS 2010
S>Здорово! А достаточно ли этого для поддержки дебага, комплита и подсветки?
Привет, у тебя помнится как-то застопорилась работа по одному из направлений интеграции из-за окончания триала рефлектора. Уже решил вопрос?
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, alvas, Вы писали:
A>>Там уж сильно наворочено. Аналог Razor в N это xml макрос. Я не прав?
VD>Он лучше, но Ziaw этого не понимает .
VD>Если серьезно, то он немного другой. И не все принимают его идеологию.
Это понятно — иначе он бы назылался razor, а не xml
Я посмотрел по ссылке, что ты мне дал http://nemerle.org/wiki/XML_literals
там поддерживаются только 3 конструкции $foreach, $when и $unless. Я прав?
Здравствуйте, alvas, Вы писали:
A>Я посмотрел по ссылке, что ты мне дал http://nemerle.org/wiki/XML_literals A>там поддерживаются только 3 конструкции $foreach, $when и $unless. Я прав?
Да. И сделано это намерено. Не должно быть программирования в шаблонах. ХМЛ/ХТМЛ надо формировать рекурсивно. Для эффективного применения ХМЛ-литералов нужно писать локальные функции в которых использовать ХМЛ-литералы как средство формированиях ХМЛ-я.
Если надо сгенерировать что-то более сложно чем позволяют эти понструкции, то надо просто вынести генерацию этого сложного дела в отдельную функцию, а уже ее вызвать из другого шаблона.
Рекурсия и декомпозиция — ключ к успеху. Именно этим ХМЛ-литералы лучше любого Разора.
Плюс в них не надо заниматься обертыванием данных. Ты пренципиально не сможешь случайно засунуть в ХТМЛ какой-то фрагмент в виде текста.
На выходе у ХМЛ-литералов получается XElement. Его можно анализировать и изменять. Это тоже очень полезно. Скажем если тебе нужно вставлять в шаблон некие элементы, то можно легко написать простую функцию заменяющую элементы по имени.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
Z>>Разор при компиляции строит дерево,
VD>Во как? Ты так меня ругал за это...
Ты, как обычно, меня не слушал. Я тебя ругал за рантайм, ибо лишние тормоза. И говорил, что для контроля при компиляции это не требуется и можно докрутить даже спарк. Разор генерит текст либо в поток либо в буфер, весь контроль у него происходит на этапе компиляции.
VD>А пруфлинк есть?
Пруфа нет к сожалению, но ты можешь попробовать сделать на нем невалидный xml. Это возможно только если ты вставишь специальную не экранируемую строку в вывод.
Здравствуйте, Ziaw, Вы писали:
Z>Ты, как обычно, меня не слушал. Я тебя ругал за рантайм, ибо лишние тормоза. И говорил, что для контроля при компиляции это не требуется и можно докрутить даже спарк. Разор генерит текст либо в поток либо в буфер, весь контроль у него происходит на этапе компиляции.
Нет там никаких тормозов. Разницу в микроскоп не заметишь. А обеспечить полную защиту без рантаяма очень сложно, так как данные приходят динамически.
VD>>А пруфлинк есть?
Z>Пруфа нет к сожалению, но ты можешь попробовать сделать на нем невалидный xml. Это возможно только если ты вставишь специальную не экранируемую строку в вывод.
Ну, так строкой то значит сломать можно? Попробуй сломать строкой ХМЛ-литералы.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.