<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Paradigm.ru &#187; веб-разработка</title>
	<atom:link href="http://paradigm.ru/tag/%d0%b2%d0%b5%d0%b1-%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0/feed" rel="self" type="application/rss+xml" />
	<link>http://paradigm.ru</link>
	<description>Блог Александра Мусаева</description>
	<lastBuildDate>Sat, 08 May 2010 16:13:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Открыта регистрация на первую в России конференцию по Zend Framework</title>
		<link>http://paradigm.ru/2010/02/zend-conf-spb</link>
		<comments>http://paradigm.ru/2010/02/zend-conf-spb#comments</comments>
		<pubDate>Mon, 01 Feb 2010 09:41:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Веб-разработка]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend framework]]></category>
		<category><![CDATA[веб-разработка]]></category>
		<category><![CDATA[конференции]]></category>

		<guid isPermaLink="false">http://paradigm.ru/?p=441</guid>
		<description><![CDATA[В конце марта 2010 г. в Санкт-Петербурге пройдет первая в России конференция по Zend Framework. На днях закончился прием тезисов по планируемым докладам. Примечательно, что в состав докладчиков вошли ведущие участники русскоязычного сообщества ZF, опытнейшие специалисты и лично один из создателей фрэймворка. Участие в конференции планируется сделать бесплатным или за небольшую стоимость. На данный момент [...]]]></description>
			<content:encoded><![CDATA[<p>В конце марта 2010 г. в Санкт-Петербурге пройдет первая в России конференция по Zend Framework.</p>
<p>На днях закончился прием тезисов по планируемым докладам. Примечательно, что в состав докладчиков вошли ведущие участники русскоязычного сообщества ZF, опытнейшие специалисты и лично один из создателей фрэймворка.</p>
<div align="center"><img src="http://paradigm.ru/;-)/2010/02/ZendFramework-logo.png" alt="" title="ZendFramework-logo" width="500" height="132" /></div>
<p>Участие в конференции планируется сделать бесплатным или за небольшую стоимость. На данный момент уже открыта <a href="http://www.zfconf.ru/pre-registration.php">предварительная регистрация</a>. Для решения ряда вопросов организаторам очень важно сейчас понять приблизительное количество человек, которые смогут посетить конференцию или каким-то иным образом принять в ней участие.</p>
<p>Каждый предстоящий доклад возможно обсудить на форуме ZF-сообщества. Ваше мнение очень важно для авторов.</p>
<p>Планируемые доклады:</p>
<ul>
<li><a href="http://zendframework.ru/forum/index.php?topic=2269.0">Жизненный цикл предложений (proposals) в проекте Zend Framework</a><br />
Александр Веремьев (Zend Technologies, Zend Framework Core команда)</li>
<li><a href="http://zendframework.ru/forum/index.php?topic=2270.0">Zend_Search_Lucene в деталях</a><br />
Александр Веремьев (Zend Technologies, Zend Framework Core команда)</li>
<li><a href="http://zendframework.ru/forum/index.php?topic=2271.0">Zend Framework и производительность</a><br />
Александр Махомет (создатель сообщества ZendFramework.ru)</li>
<li><a href="http://zendframework.ru/forum/index.php?topic=2272.0">Zend Framework и MVC, «толстая» модель</a><br />
Александр Стешенко (Norada Corporation, PHP-разработчик)</li>
<li><a href="http://zendframework.ru/forum/index.php?topic=2273.0">ФотоСтрана.ru: Прототипирование с использованием ZF</a> (история боевого применения Zend Framework в highload-проекте)<br />
Леонид Жаворонков (ФотоСтрана.ru, тимлид)</li>
<li><a href="http://zendframework.ru/forum/index.php?topic=2274.0">Использование очередей сообщений в повседневных проектах</a><br />
Денис Баклыков (Обновление, веб-разработчик)</li>
<li><a href="http://zendframework.ru/forum/index.php?topic=2275.0">Zend Framework и Doctrine</a><br />
Степан Танасийчук (руководитель веб-студии stfalcon.com)</li>
<li><a href="http://zendframework.ru/forum/index.php?topic=2276.0">Zend Framework и мультиязычность</a><br />
Степан Танасийчук (руководитель веб-студии stfalcon.com)</li>
<li><a href="http://zendframework.ru/forum/index.php?topic=2277.0">История проекта e-Штаб</a><br />
Анатолий Ларин (e-Легион, веб-программист)</li>
<li><a href="http://zendframework.ru/forum/index.php?topic=2278.0">Что нового несет нам Zend Framework 2.0?</a><br />
Надежда Блинова (Wizartech, веб-программист), Георгий Туревич (Wizartech, ведущий веб-программист)</li>
<li><a href="http://zendframework.ru/forum/index.php?topic=2279.0">Интеграция Zend Framework c Javascript-фрэймворками jQuery и Dojo Toolkit</a><br />
Георгий Туревич (Wizartech, ведущий веб-программист)</li>
</ul>
<p>Смело обсуждайте доклады и <a href="http://www.zfconf.ru/pre-registration.php">регистрируйтесь</a>!</p>
<p>За последними новостями можно следить здесь:</p>
<ul>
<li>RSS-канал: <a href="http://feeds.feedburner.com/zfconf">http://feeds.feedburner.com/zfconf</a></li>
<li>Twitter: @<a href="http://twitter.com/zfconf">zfconf</a></li>
<li>Группа Вконтакте: <a href="http://vkontakte.ru/club14951507">http://vkontakte.ru/club14951507</a></li>
</ul>
<p>К участию приглашаются информационные и финансовые спонсоры.</p>
]]></content:encoded>
			<wfw:commentRss>http://paradigm.ru/2010/02/zend-conf-spb/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Здравствуй, Passenger aka mod_rails</title>
		<link>http://paradigm.ru/2008/05/passenger-aka-mod_rails</link>
		<comments>http://paradigm.ru/2008/05/passenger-aka-mod_rails#comments</comments>
		<pubDate>Tue, 13 May 2008 22:06:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Веб-разработка]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mod_rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[веб-разработка]]></category>

		<guid isPermaLink="false">http://paradigm.ru/?p=329</guid>
		<description><![CDATA[До&#160;недавних пор, одной из&#160;самых неприятных деталей в&#160;использовании Ruby on&#160;Rails было развертывание приложения на&#160;сервере. Свидетельство тому&#160;&#8212; описание &#171;легкого&#187; способа запуска нового скрипта на&#160;одном из&#160;самых дружных с&#160;&#171;Рельсами&#187; хостинге, TextDrive (дружного, т.к. 50%&#160;выручки они отдают на&#160;разитие RoR). Упомянутая инструкция представляет собой двухстраничный перечень операций, последовательность которых местами может показаться довольно неочевидной. Кроме того, объем и&#160;рутинность такой работы удручает [...]]]></description>
			<content:encoded><![CDATA[<p>До&nbsp;недавних пор, одной из&nbsp;самых неприятных деталей в&nbsp;использовании Ruby on&nbsp;Rails было развертывание приложения на&nbsp;сервере. Свидетельство тому&nbsp;&#8212; описание &laquo;легкого&raquo; способа запуска нового скрипта на&nbsp;одном из&nbsp;самых дружных с&nbsp;&laquo;Рельсами&raquo; хостинге, TextDrive (дружного, т.к. 50%&nbsp;выручки они <a href="http://b23.ru/pg2" rel="nofollow">отдают на&nbsp;разитие RoR</a>).</p>
<p>Упомянутая инструкция представляет собой двухстраничный перечень операций, последовательность которых местами может показаться довольно неочевидной. Кроме того, объем и&nbsp;рутинность такой работы удручает на&nbsp;фоне относительной простоты процесса запуска скриптов на&nbsp;базе других распространенных языков и&nbsp;фреймворков.</p>
<p>Недавний релиз многообещающего модуля mod_rails для Apache, разработанного Нидерландской компанией <a href="http://www.phusion.nl/" rel="nofollow">Phusion</a>, был довольно предсказуем. Основное его предназначение&nbsp;&#8212; автоматизация скучного процесса внедрения RoR-приложений на&nbsp;веб-сервере. Попросту говоря, теперь для запуска понадобится просто загрузить файлы. И&nbsp;все будет работать. На&nbsp;мой взгляд, даже странно, почему такая востребованная возможность появилась настолько нескоро,  при условии всенародного признания Ruby и&nbsp;Rails.</p>
<div class="i"><img src="http://paradigm.ru/;-)/2008/05/00mod_rails.png" alt="mod_rails" title="mod_rails" width="500" height="254" /><br />
<small>Официальном сайт mod_rails чем-то похож на&nbsp;подарочную упаковку</small></div>
<p>mod_rails довольно неплохо <a href="http://b23.ru/pgw" rel="nofollow">документирован</a>. На&nbsp;полное ознакомление с&nbsp;инструкцией хватит минут 20-40: первичная настройка модуля действительно довольно проста, а&nbsp;развертывание Rails-приложений по&nbsp;сути представляет простое добавление новых виртуальных хосто в&nbsp;конфиге Apache.</p>
<div class="i"><a href="http://b23.ru/pg1" rel="nofollow"><img src="http://paradigm.ru/;-)/2008/05/01testimonials.png" alt="mod_rails" title="mod_rails" width="500" height="312" /></a></div>
<p>На&nbsp;сайте можно посмотреть скринкаст, в&nbsp;котором вкратце объясняется, как установить модуль на&nbsp;примере OS&nbsp;X.&nbsp;Есть так&nbsp;же верcии для Linux и&nbsp;FreeBSD. Что&nbsp;же касается Windows&#8230;</p>
<blockquote><p>Passenger works on&nbsp;any POSIX-compliant operating system. In&nbsp;other words: practically any operating system on&nbsp;earth, <em>except Microsoft Windows</em>.</p></blockquote>
<p>Это значит, желающие локально отлаживать скрипты под этой ОС&nbsp;будут вынуждены громоздить какую-нибудь Убунту на&nbsp;каком-нибудь VMWare, что не&nbsp;есть хорошо и&nbsp;правильно. Учитывая, что сам Ruby, да&nbsp;и&nbsp;Apache прекрасно дышат под Windows, отсутствие порта mod_rails выглядит недочетом. А&nbsp;перспектива его появления пока выглядит туманной (приведенная выше цитата&nbsp;&#8212; это вообще единственное упоминание слова Windows на&nbsp;всем сайте :). Google со&nbsp;своим <a href="/2008/04/08/google-app-engine-preview/" rel="nofollow">App Engine</a> такого не&nbsp;допустил.</p>
<h3>Ссылки на&nbsp;тему</h3>
<ul>
<li>Некоторые дополнительные <a href="http://b23.ru/pgz" rel="nofollow">интересные сведения</a>, в&nbsp;частности, ответ на&nbsp;вопрос, почему mod_rails называется именно mod_rails, а&nbsp;не&nbsp;mod_ruby, и&nbsp;сравнительный график производительности этого модуля и&nbsp;традиционного Mongrel (у&nbsp;mod_rails&nbsp;&#8212; длиннее).</li>
<li><a href="http://blog.phusion.nl/" rel="nofollow">Блог</a> с&nbsp;новостями проекта.</li>
<li><a href="http://b23.ru/pg4" rel="nofollow">Подробный отчет об&nbsp;установке mod_rails</a> на&nbsp;Ubuntu 7.10&nbsp;на&nbsp;блоге <a href="http://www.railsgarden.com/" rel="nofollow">Rails Garden</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://paradigm.ru/2008/05/passenger-aka-mod_rails/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Иерархия темплейтов WordPress</title>
		<link>http://paradigm.ru/2008/05/wordpress-template-diagram</link>
		<comments>http://paradigm.ru/2008/05/wordpress-template-diagram#comments</comments>
		<pubDate>Fri, 02 May 2008 18:08:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Веб-разработка]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[веб-разработка]]></category>
		<category><![CDATA[инфографика]]></category>
		<category><![CDATA[шаблоны]]></category>

		<guid isPermaLink="false">http://paradigm.ru/?p=303</guid>
		<description><![CDATA[На&#160;блоге WPCandy опубликована классная схема шаблонных файлов WordPress, дающая очень ясное и&#160;наглядное представление об&#160;алгоритме выбора шаблона и&#160;том, какие вообще шаблоны бывают. Такая диаграмма может быть весьма полезна при создании своей собственной темы оформления для WP&#160;или оптимизации уже существующей. Даже странно, что в&#160;официальной документации не&#160;сделали графического представления. (клик ту&#160;зум) Уже четвертый пост подряд про WordPress. Надо [...]]]></description>
			<content:encoded><![CDATA[<p>На&nbsp;блоге <a href="http://wpcandy.com/" ref="nofollow">WPCandy</a> опубликована классная схема шаблонных файлов WordPress, дающая очень ясное и&nbsp;наглядное представление об&nbsp;алгоритме выбора шаблона и&nbsp;том, какие вообще шаблоны бывают. Такая диаграмма может быть весьма полезна при создании своей собственной темы оформления для WP&nbsp;или оптимизации уже существующей.</p>
<p>Даже странно, что в&nbsp;официальной документации не&nbsp;сделали графического представления.</p>
<div class="i"><a href='http://wpcandy.com/mint/pepper/orderedlist/downloads/download.php?file=http%3A//wpcandy.com/wp-content/uploads/2008/04/wp-diagram.jpg' rel="nofollow"><img src="http://paradigm.ru/;-)/2008/05/wp-diagram-preview.jpg" alt="" title="wp-diagram-preview" width="600" height="240" /></a><br />(клик ту&nbsp;зум)</div>
<p>Уже четвертый пост подряд про WordPress. Надо что-то менять.</p>
]]></content:encoded>
			<wfw:commentRss>http://paradigm.ru/2008/05/wordpress-template-diagram/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Google App Engine Preview</title>
		<link>http://paradigm.ru/2008/04/google-app-engine-preview</link>
		<comments>http://paradigm.ru/2008/04/google-app-engine-preview#comments</comments>
		<pubDate>Tue, 08 Apr 2008 14:39:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Веб-разработка]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google app engine]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[веб-разработка]]></category>

		<guid isPermaLink="false">http://paradigm.ru/?p=263</guid>
		<description><![CDATA[Новостью сегодняшнего дня и, вероятно, одной из значимых новостей всего года стало открытие Google App Engine. Этот еще один большой шаг со стороны Google к завоеванию мира. На этот раз они предоставили сторонним разработчикам возможность использовать собственные технологии и серверные ресурсы для разработки и внедрения веб-приложений. Проще говоря, теперь любой желающий сможет в своих проектах [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://paradigm.ru/;-)/2008/04/appengine_lowres.jpg" alt="Google App Engine" title="appengine_lowres" width="100" height="79" align="left" class="alignleft size-medium wp-image-264" />Новостью сегодняшнего дня и, вероятно, одной из значимых новостей всего года стало открытие Google App Engine. Этот еще один большой шаг со стороны Google к завоеванию мира. На этот раз они предоставили сторонним разработчикам возможность использовать собственные технологии и серверные ресурсы для разработки и внедрения веб-приложений.</p>
<p>Проще говоря, теперь любой желающий сможет в своих проектах пользоваться распределенной базой данных Google, системой авторизации Google Accounts и другими элементами их инфраструктуры. Работающие на базе App Engine приложения смогут без труда выдерживать такую нагрузку, которую вне Google возможно было бы получить только за довольно немалые деньги. А именно, по усредненной оценке, выделенных ресурсов должно быть достаточно на 5 миллионов загрузок страниц в месяц (ограничение дискового пространства — 500 Мб, а трафика — 10 Gb в сутки).</p>
<p>App Engine находится еще на стадии разработки и то, что доступно сечас, — это демонстрационная версия. На официальном сайте можно скачать SDK и зарегистрировать себе аккаунт для публикации в сети своих приложений.</p>
<p>SDK представляет собой работающий локально веб-сервер, на котором эмулируется среда App Engine (кстати, все написано на Python). Приложения, разработанные и отлаженные в этой среде, можно без каких-либо изменений переносить на «настоящие» сервера Google. Кстати, дистрибутив SDK занимает всего 2.5 Мб. Правда, в комплект поставки обязательно должен входить Python 2.5, который весит еще 12.</p>
<p><img src="http://paradigm.ru/;-)/2008/04/download-sdk.png" alt="" title="download-sdk" width="402" height="199" class="aligncenter size-medium wp-image-265" /></p>
<p>Стоит отметить, что по заявлению разработчиков, GAE не будет жестко связан с конкретным языком программирования. Первым поддерживаемым языком стал Python (2.5, естесственно). Выбор следующего языка будет основан на мнении потенциальных пользователей. Мне самому кажется, что следующим будет либо Java, либо Ruby.</p>
<p>В докладе на Campfire несколько раз подчеркнули, что поддержка Python — полная, включающая все сторонние библиотеки и любые фреймворки. Можно использовать Django, CherryPy, Pylons и web.py. Любимый многими Django даже включен в комплект SDK и используется в демонстрационном примере, при создании гостевой книги.</p>
<p>Особый интерес представляет собой административная панель Apps Engine.<br />
С ее помощью можно мониторить работу приложений и управлять версиями. Панель демонстрировали в том же докладе, но попробовать вживую пока не получилось (как я уже говорил, аккаунт мне еще не открыли).</p>
<p>В заключении, еще одна деталь: к проектам, работающим на Apps Engine,  можно будет привязывать собственные доменные имена, либо беплатно размещать их на субдоменах appspot.com.</p>
<h3>Анонс Google App Engine на Campfire (7/04/2008)</h3>
<p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/3Ztr-HhWX1c"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/3Ztr-HhWX1c" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
<h3>Ссылки по теме</h3>
<ul>
<li><a href="http://code.google.com/appengine/">Официальный сайт</a> Google Apps Engine.</li>
<li><a href="http://code.google.com/appengine/downloads.html">Страница загрузки SDK.</a></li>
<li><a href="http://code.google.com/appengine/docs/gettingstarted/">Описание установки и пример использования</a> основных средств SDK для написания простого приложения.</li>
<li><a href="http://python.org/download/">Python</a> — страница скачивания.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://paradigm.ru/2008/04/google-app-engine-preview/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Blitz Templates</title>
		<link>http://paradigm.ru/2008/01/blitz-templates</link>
		<comments>http://paradigm.ru/2008/01/blitz-templates#comments</comments>
		<pubDate>Mon, 14 Jan 2008 13:49:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Веб-разработка]]></category>
		<category><![CDATA[blitz templates]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[веб-разработка]]></category>
		<category><![CDATA[шаблонизаторы]]></category>

		<guid isPermaLink="false">http://www.paradigm.ru/2008/01/14/blitz-templates/</guid>
		<description><![CDATA[Сегодняшний информационный повод&#160;&#8212; открытие шаблонизатора Blitz Templates, который ранее ускользал от&#160;моего внимания. Из&#160;всех парсеров темплейтов, с&#160;которыми я&#160;имел дело, это первый, реализованный в&#160;виде модуля интерпретатора PHP. Как не&#160;сложно догадаться, это радикально-положительным образом сказывается на&#160;производительности системы, но&#160;вначале я&#160;бы хотел высказаться о&#160;другом его свойстве. Как известно, задачей любого парсера темплейтов является полумифическое отделение кода (и&#160;данных) от&#160;оформления страниц. Я&#160;говорю [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодняшний информационный повод&nbsp;&#8212; открытие шаблонизатора <a href="http://alexeyrybak.com/blitz/blitz_ru.html">Blitz Templates</a>, который ранее ускользал от&nbsp;моего внимания. Из&nbsp;всех парсеров темплейтов, с&nbsp;которыми я&nbsp;имел дело, это первый, реализованный в&nbsp;виде модуля интерпретатора PHP. Как не&nbsp;сложно догадаться, это радикально-положительным образом сказывается на&nbsp;производительности системы, но&nbsp;вначале я&nbsp;бы хотел высказаться о&nbsp;другом его свойстве.</p>
<p>Как известно, задачей любого парсера темплейтов является полумифическое отделение кода (и&nbsp;данных) от&nbsp;оформления страниц. Я&nbsp;говорю полумифического, т.к. в&nbsp;действительности ни&nbsp;один развитый шаблонизатор не&nbsp;может похвастаться реализованной в&nbsp;полной мере такой возможностью. Когда требования к&nbsp;функциональности шаблонов возрастают, их&nbsp;синтаксис усложняется, постепенно перерастая в&nbsp;специализированный язык. Показательный пример тому&nbsp;&#8212; Smarty и&nbsp;многие другие распространенные движки темплейтов. Строго говоря, сам PHP можно отнести к&nbsp;категории очень навороченного генератора страниц.</p>
<p>В&nbsp;итоге, одним из&nbsp;основных критериев при выборе шаблонизатора становится не&nbsp;качество (или степень) отделения кода от&nbsp;оформления, а&nbsp;скорее читаемость этого кода&nbsp;&#8212; достаточно субъективная характеристика, которая сильно зависит не&nbsp;только от&nbsp;шаблонизатора, но&nbsp;и&nbsp;от&nbsp;стиля кодинга. Показательный пример: XSLT является одним из&nbsp;наиболее идеологически-грамотных шаблонизаторов, тем не&nbsp;менее он&nbsp;сейчас пользуется <a href="http://b23.ru/czi">не&nbsp;самой большой популярностью</a>. Одна из&nbsp;причин тому&nbsp;&#8212; очень навороченный синтаксис. <span id="more-156"></span></p>
<p>В&nbsp;контексте сказанного выше, мне понравилась идеология, заложенная в&nbsp;синтаксис Blitz. цитата из&nbsp;официального источника:</p>
<blockquote><p>Blitz не&nbsp;поддерживает по&nbsp;принципиальным соображениям сложные выражения:</p>
<p><code>{{if(if($foo, 0,&nbsp;1), &#8217;bar&#8217;, &#8217;foobar&#8217;)}}</code></p>
<p>Данный код работать не&nbsp;будет. Не&nbsp;надо превращать код в&nbsp;спагетти.</p></blockquote>
<p>И&nbsp;это очень правильный подход. Гибкие возможности строить сложные синтаксические конструкции&nbsp;&#8212; не&nbsp;всегда хорошо. Часто это служит причиной возникновения настолько запутанного кода, что в&nbsp;него не&nbsp;то&nbsp;что сторонний разработкич побоится залезть, но&nbsp;и&nbsp;сам автор, через пару месяцев после написания, предпочтет полную переработку корректировке деталей.</p>
<p>Упрощение синтаксиса хорошо еще и&nbsp;потому, что у&nbsp;кода шаблонов есть своя специфика: зачастую в&nbsp;темплейтах осознанно не&nbsp;делают форматирования (чтобы не&nbsp;портить форматирование генерируемого HTML и/или не&nbsp;утяжелять его излишним количеством пробельных символов), кроме того в&nbsp;текстовых редакторах обычно нет синтаксической подсветки кода темплейтов, которая облегчила&nbsp;бы работу (исключения&nbsp;&#8212; XSLT и,&nbsp;опять&nbsp;же, PHP).</p>
<p>Возвращаясь к&nbsp;вопросу производительности: Blitz работает быстрее, чем шаблоны, собираемые из&nbsp;отдельных PHP файлов (include-ами), но,&nbsp;по&nbsp;понятным причинам, медленее сплошного PHP кода. Учитывая, что нежелание использовать темплейтов на&nbsp;базе PHP&nbsp;&#8212; одна из&nbsp;самых важных причин использования сторонних шаблонизаторов вообще, можно считать, что Blitz фактически является лидером по&nbsp;скорости среди других систем своего класса.</p>
<p><img src="http://paradigm.ru/;-)/2008/01/lebowski-bench-small.gif" width="522" height="362" alt="" /></p>
<p>Отдельно стоит упомянуть процесс тестирования, точнее обстоятельный подход, с&nbsp;котором он&nbsp;выполнен и&nbsp;описан на&nbsp;сайте разработчика. Неоднократно видел, как производительность шаблонизаторов, фреймворков и&nbsp;CMS измеряют на&nbsp;примерах уровня сложности &laquo;Hello world&raquo;, а&nbsp;потом кричат &laquo;Сенсация! PHP работает быстрее кода на&nbsp;C++!&raquo;. Что касается Blitz&nbsp;&#8212; тесты проводились в&nbsp;условиях, близких к&nbsp;боевым, и&nbsp;полностью обоснованы.</p>
<p>Вывод: на&nbsp;Blitz стоит обратить пристальное внимание при проектировании высокопроизводительных CMS для сайтов, работающих на&nbsp;выделенных серверах. В&nbsp;тех случаях, когда серьезных требований к&nbsp;производительности нет, его использование, к&nbsp;сожалению, будет не&nbsp;всегда оправдано экономически (пользовательские модули PHP&nbsp;&#8212; вещь не&nbsp;для shared хостинга).</p>
<h3>Ссылки по&nbsp;теме</h3>
<ul>
<li><a href="http://alexeyrybak.com/blitz/blitz_ru.html">Blitz Templates</a>&nbsp;&#8212; официальная страница разработки с&nbsp;описанием синтаксиса и&nbsp;результатами сравнительных тестов.</li>
<li>Другие шаблонизаторы: <a href="http://www.smarty.net/">Smarty</a>, <a href="http://templatelite.sourceforge.net/">Template Lite</a> (облегченная и&nbsp;более быстрая версия Smarty), <a href="http://b23.ru/czu">PEAR::HTML_Template_*</a> (средства PEAR для генерации страниц по&nbsp;шаблонам).</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://paradigm.ru/2008/01/blitz-templates/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->