шаблонизатор Blitz

Недавно в голове зародилась идея убить сменить шаблонизатор в LS, и поменять его на Blitz, отсюда соотвественно возникают вопросы, кто такой такой Blitz и с чем его едят, попробую объяснить вкраце:

1)Блитз представляет из себя блочный шаблонизатор, что принципиально отличает его от Smarty используемого в Livestreet.

2)Smarty по сравнению с Blitz — язык программирования.

3)шаблонизатор написан на C, подключается как расширение PHP, это позволит со спокойно душой увеличивать нагрузку на ваш проект, т.к вообщем-то сам шаблонизатор и расчитан на большие проекты.

4)Скорость шаблонизатора сопоставима со скоростью обычного php.

5)В шаблонах нет логики приложения, нет циклов, ветвлений, это все позволит по максимум упростить работу верстальщикам.



6)Код движка значительно «похудеет» и его будет проще и быстрее разобрать.



На данный момент я потрошу меняю шаблонизатор на версии 0.4, с результатами хирургических вмешательств циркулем работы ознакомлю в ближайшее время.

61 комментарий

avatar
Модуль интересен, буду следить за развитием темы :)
avatar
Насчет упрощения работы верстальщикам — это дельно)) А то из-за smarty и цены на верстку порядок выше многих других…
Однако, не считаете ли, что блочный шаблонизатор не сможет дать такую гибкость, как smarty?
avatar
более того он даст больше гибкости и мыслей для издевательств дел чем смарти + сделает большой рывок для популяризации движка.
avatar
Вряд ли стоит ожидать рывка от решения, которое будет недоступно большей части пользователей ЛС, которые, как известно, хостятся на шареде. Я далёк от мысли, что хостер поставит блиц по просьбе одного пользователя. В целом идея здравая, я уже выдвигал её почти полтора года назад.
avatar
оказалось, всего 11 месяцев назад :-)
avatar
а что правда мало кто поставит по просьбе?
avatar
Экзотическое расширение, нужное лишь единицам, вряд ли впишется в регламент крупного и среднего хостера. С одной стороны, дешевле будет отказать в установке, а с другой — выгоднее предложить купить впс, где пользователь сам сможет поставить всё, что захочет.

Руководству неинтересно пусть и ненамного, но увеличивать себестоимость, админам — ставить и сделить за обновлениями ещё одного нетипичного расширения, саппорту — поддерживать и изучать то, чего они в глаза не видели.

Имея десятки и сотни серверов уже никто не обновляет и не устанавливает что-то на каждой машине вручную, используются типовые конфиги. Нет смысла их менять ради шаблонизатора, который к тому же призван решать задачи на единичных хайлоадах, но не на среднем массовом сайте.

Я убеждён, что рассчитывать на массовую милость хостеров не стоит. Полагаю, в этом вопросе настречу смогут пойти лишь небольшие компании.
avatar
Интересное начинание. Тот же самый хабр использует Blitz Templates. Но я присоединяюсь к вопросу товарища neon2k livestreet.ru/blog/4382.html#comment65915
avatar
по гибкости blitz будет лучше чем smarty — у первого много аналогов в обработке данных со smarty, но они проще и лучше в работе, следовательно на выходе мы получим более гибкую систему, меньшее колличество кода и как следствие — более отлаженную работу движка.+ ко всему планируется избавиться от mootools и перевести его на Jquery.в общем целом это все даст отличный толчок и мотивацию использовать его как самый легкоадаптируемый под нужды движок.планов много, не буду все оговаривать.
avatar
кстати, вот тут уже обсуждалось, в самом низу
avatar
я не хочу и не могу спорить и обсуждать все это, скажу только одно, работа идет,2/4 работы выполнено, однозначно могу сказать что livestreet будет переделан минимум с: шаблонизатором Blitz и библиотекой Jquery.
avatar
если оставить возможность выбора, то да. а если заменять полностью, то это гиблое дело.

и какие претензии к смарти по скорости? шаблоны один раз интерпретируются в php код и по скорости работают как обычный php :)

сложность smarty и т.д. тоже притянуто за уши. когда меняли дизайн на Кукораме, я заставил верстальщика верстать под существующий html. в итоге мы избавились от геммороя с переделкой шаблонов.
avatar
если бы были притензии, я не думаю что использовал бы LS :) суть в том чтобы сделать его более функциональным и открытым, слава богу на это есть прямые руки время.
avatar
было бы интересно увидеть несколько примеров наиболее сложных моментов из шаблонов ЛС переделанных с smarty на Blitz. в стиле «было — стало».
avatar
все сложности которые были уже задокуметнированы, и которые появятся тоже будут таковыми, в ближайшем будущем(как только окончательно переступлю финишную прямую)выложу все основные моменты аля было/стало.а ВОБЩЕМ, я делаю это прежде всего для себя, так как делаю интересный стартап, и хочу получить от движка максимум, в текущей версии я этого не получаю, и мне проще делать так как умею и что не маловажно с чем умею.а с сообществом решил поделиться своими наработками, кому-то может показаться интересным, и кто-то может будет даже использовать это.
avatar
Было бы интересно узнать подробности о замене шаблонизатора, что пришлось переписать/добавить/изменить в коде движка, насколько это усложнит его апгрейд и т.д. Только прошу больше конкретики и поменьше общих фраз
avatar
Можно спорить сколько угодно, какой шаблонизатор лучше. Но если ТС сможет прикрутить другой шаблонизатор (неважно, какой именно), да так, что это не потребует никаких правок в коде экшенов (в чем у меня лично есть некоторые сомнения) — это будет очень хорошо.
avatar
По-моему по пунктам только 3 и 4 являются преимуществами, остальное как бы спорно очень… но начинание безусловно очень крутое, наличие выбора всегда решает

Насчет jQuery сам задумывался, посколько не работал с mooTools но потом почитал доку и понял, что мне собственно пофиг что использовать, все jQuert наработки получилось быстро портировать на мутулс
avatar
>4)Скорость шаблонизатора сопоставима со скоростью обычного ph
Это ещё раз подтверждает то, что лучший шаблонизатор и есть сам PHP, зачем было Смарти пихать.
avatar
Шаблоны как предлагаете делать? ))
Подстановкой через eval() переменных в tpl файлы? =)))
avatar
да разные варианты есть. например Zend_View
avatar
Тут не понял… а при чем тут вообще Зендовский класс?
Или ээмм вы предлагаете по аналогии сделать Viewer не зависящий от шаблонизатора? о_О
avatar
вы спросили как можно делать шаблоны на чистом php. я ответил
avatar
Ребята вы необоснованно минусуете, посмотрите систему шаблонизации в Joomla 1.5 и выше. Там всё прекрасно и даже в PHP есть удобный синтаксис так сказать понятный дизайнеро-верстальщикам, например конструкция if:
<?php if ($this->getBuffer('message')) : ?>
	<div class="error">
	</div>
<?php endif; ?>


или цикл:
<?php foreach ($list as $item) :  ?>
	<div class="box">
	</div>
<?php endforeach; ?>
avatar
По моим наблюдениям джумловские шаблоны кажутся удобнее прочих в основном тем разработчикам, кто хорошо знаком только с этой cms.
avatar
Есть такое мнение )
По опыту работу с Джумлой не могу ничего сказать плохого насчет ее системы шаблонизации, но ИМО Smarty удобнее использовать. Опять же может быть потому, что не сталкивался с проблемой поиска верстальщика
avatar
Я привел джумловские шаблоны как пример шаблонизатора на PHP. Фактически нужны только знания PHP и нет никакой необходимости изучать Смарти.
avatar
Не прав.
avatar
Аргументируйте
avatar
Кстати, в Джумле тоже есть шаблонизатор (patTemplate).
avatar
Шаблонизатор patTemplate был в Joomla 1.0, в новых версиях (в 1.5 он только для совместимости со старыми расширениями, в 1.6 его нет) от него отказались, так как было большое падение производительности кода. Сейчас там чистый PHP и все рады, и все довольны.
avatar
Если бы были ВСЕ рады, то никто не стал бы писать шаблонизаторов. Но кто-то, видимо, был все же не рад, и по этой причине родились шаблонизаторы.
avatar
Она родились давно, когда в PHP ещё не было ООП, и под ВСЕ я понимал разработчиков под Joomla. И я точно знаю, что Joomla не самая плохая cms в этом мире, из него есть что черпнуть.
avatar
Joomla не самая плохая cms...
А никто этого и не утверждал. Тут вообще речь не о джумле.

Вот не устроил топикстартера Смарти — он решил Блитц прикрутить. Тебе, как я понял, Смарти тоже опричь души. Есть желание забацать шаблонизатор, скажем, на базе Zend_View?
avatar
Вот так обосновал! Молчу.
avatar
Иной человек в приличном обществе постесняется признаться, что Лурк читает. А вы так прямо и ссылками разбрасываетесь.
avatar
мне тоже такой подход больше нравиться, тем более что он используется в WordPress.
avatar
пока я ничего не предлагаю, когда все доделаю, тогда и буду предлагать что-то пользователям.
avatar
сначала предлагаю научится отвечать непосредственно на комментарии, иначе читать приходится гадать к какому комменту относится ответ
комментарий был удален
комментарий был удален
avatar
сюда бы что-то вообще похожее на шаблонизатор в DLE. Ибо и браться за дизайн не хотят, а если берутся то просят немало.
avatar
Относительно высокий порог вхождения гарантирует отсутствие огромного количества шаблонов и плагинов низкого качества. Если вам нужно дёшево и сердито, так почему бы не взять этот ваш DLE?
avatar
Дело не в деньгах. Дело в том, что более простой структуре больше выбор, и как следствие частично можно проверить конечное качество.

А в случае с текущей структурой админ если и захочет изменить шаблон, ему нужны достаточные знания php и движка в частности.

Касательно низкого качества — допустим в случае с простой шаблонизацией я смогу проверить качество. А вот в случае с ЛС — уже так просто нет, мне придётся изучать всю систему шаблонизации.

Да согласен… в большинстве случаев качество будет повыше, но… частично снижается гибкость движка к изменению.

Касательно ДЛЕ… есть пейджи и на нём, были и на жомле и на ворде. ЛС же привлекает расширенным функционалом для пользователей.
avatar
Прежде всего отмечу, что для изменения и даже создания шаблонов не нужно знать php.

Если вам действительно интересен ЛС, то попробуйте посмотреть на кажущуюся сложность несколько с иной стороны. Переходя с популярных стремительно устаревающих движков на современный ЛС вы просто таким образом переходите на новый уровень.

Поначалу это непросто, но освоившись вы приобретёте совершенно иную квалифицацию. Для вас станет очевидно, что в части гибкости ЛС может легко обойти упомянутые движки за счёт современной продуманной архитектуры.

Никто же не жалуется, что фотошоп сложнее пэйнта. Все понимают, что это инструмент профессионала, он требует определённой подготовки, чтобы пользователь мог раскрыть весь его потенциал.
avatar
Речь о дизайне? Или о верстке? Подозреваю, что все же о верстке.
Тут надо сказать, что схема шаблонов, используемая в ЛС по умолчанию, действительно очень неудобна для верстальщика. Сейчас используется последовательная схема сборки шаблона: берется хеадер, к нему цепляется один кусок, потом другой кусок и т.д., до футера.

Но вполне можно было бы иначе выстроить эту схему, с рекурсивной сборкой: есть каркасный общий шаблон, разбитый на зоны, куда втыкаются нужные куски. Я не верстальщик, но, ИМХО, верстать при таком подходе было б проще.

Причем, особо замечу — рекурсивная схема вполне успешно может быть использована и со Смарти.
avatar
можно.
вот пример решения типа джанго — habrahabr.ru/blogs/php/37962/ (использовали на последнем проекте с смарти. очень удобно)

вот ещё одно решение habrahabr.ru/blogs/php/38174/ (но я его не пробовал)
avatar
Относительно высокий порог вхождения гарантирует отсутствие огромного количества шаблонов и плагинов низкого качества. Если вам нужно дёшево и сердито, так почему бы не взять этот ваш DLE?

полностоью согласен, цены на ls будут средней высоты даже при шабонизаторе blitz, а пункт №5 не стоит принимать дословно.
avatar
и всё-таки хотелось бы хоть какого-то освещения хода работ. это возможно? лично для меня тема очень актуальна, тк в начале июня я планирую сделать несколько шаблонов и блиц был бы очень кстати.

расскажите, пожалуйста, на каких условиях будет распространяться ваше решение, какие сложности в обновлении движка оно внесёт и тд.
avatar
пока обо всем я могу говорить только поверхностно, поскольку мозг кипит, и пальцы все в мозолях повествовать все пункты, или хотя бы часть из них не вижу смысла на данном этапе, все нововведения, все что произойдет с LS, я описал выше, опять же, повторюсь, поверхностно.

условия распространения я буду обсуждать с представителем данного движка а именно с ort, может быть, это будет как альтернативный вариант:«кому что ближе, выбирайте», может быть это будет что-то другое.

в ближайшем будущем, а именно на днях выложу небольшой обзор на тему пройденных этапов, оценю + и — и расскажу что вообще осталось сделать и что в итоге мы получим(буду рассматривать уже более конткретно).
avatar
Было бы неплохо прочесть этот обзор. Не поймите неправильно, но на этом сайте уже была масса многообещающих топиков, которые в итоге не заканчивались ничем. Ну разве что автору рейтинг наплюсуют, так ведь остальным от этого ни холодно ни жарко.
avatar
Было бы неплохо прочесть этот обзор. Не поймите неправильно, но на этом сайте уже была масса многообещающих топиков, которые в итоге не заканчивались ничем. Ну разве что автору рейтинг наплюсуют, так ведь остальным от этого ни холодно ни жарко.


согласен, привязываешься к новости, начинаешь расчитывать на новую полезную информацию, в итоге получаешь сковородкой по голове ноль без палочки.

со своей стороны обязуюсь закончить данный проект, и поделиться всем чем могу, т.к проект который позже будет на blitz — коммерческий(т.е на мне обязательство его доделать)
комментарий был удален
avatar
проект развиваеться не думайте что все заглохло, работа проделана на 50 процентов, но думаю здесь публиковаться полная версия движка на blitz не будет, это информация достоверна на процентов 80)
avatar
Ну и какой смысл тогда было разводить здесь обсуждение? Как всегда громкие заявления, а на выходе мыльный пузырь:)
avatar
смысл в том что кому это интересно могут написать мне в личку,LS не пуп земли, и если я здесь свои наработки не буду выкладывать это не значит что ими нельзя будет пользоваться.
avatar
сидней янг, а зачем вы зарегистрировали клона? Даже ваши повадки отвечать не собеседнику в на главную ветку остались, не считая аватарки и поля «о себе». Какое-то ну совсем палевное клоноводство)
Кстати о блице — с ним я так понимаю, тоже плагины будут глючить и их надо будет спецом переписывать под «сборку»?
avatar
мои повадки, вас, уважаемый, не должны волновать вообще.есть вопросы, всегда выслушаю в личке, а мусор разводить, не надо.

сломайте свои глаза хоть в трех местах, вы и еще один уважаемый, единственные кто наверно обращает внимание на такую мелочь, как расположение комментария.
avatar
Давну тут не был
Свершилось, первая дельная мысль тут пробежала (я о блитце)
я с ним работаю около 3 лет, ls уже давно переведен на него и написан форум для него, но проект и коды палить не буду, уж извиняйте
переводится все легко
итого -1 костыль в движке, это радует
надеюсь еще один костыль уберут — JsHttpRequest
Для меня это неудобная костальная реализация, на вкус и цвет как говорится
avatar
да мы уже и жсхттпреквест убрали, только ни проект, ни коды палить не будем.
avatar
вот и правильно. оф версия требует серьезной доработки для нормального проекта.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.