<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<channel>
			<title>[Обсуждение] Обработка событий движка в javascript (замена старых хуков и маркеров) / Блог разработки Alto CMS / Alto CMS</title>
			<link>http://altocms.ru/comments/530/</link>
			<description><![CDATA[Как я писал уже здесь есть планы полностью отказаться от хуков и маркеров в джаваскрптах движка. На мой взгляд стандартного]]></description>
			<language>ru</language>
			<managingEditor>noreply@altocms.ru</managingEditor>
			<webMaster>noreply@altocms.ru</webMaster>
			<generator>Alto CMS v.1.5.0b1</generator>
							<item>
					<title>[Обсуждение] Обработка событий движка в javascript (замена старых хуков и маркеров) (comment #8751)</title>
					<guid isPermaLink="true">http://altocms.ru/t/530/#comment8751</guid>
					<link>http://altocms.ru/530.html#comment8751</link>
					<author>markus1024@yandex.ru</author>
					<description><![CDATA[Похоже, в последнем блоке кода ошибка, и вместо toggleJoinBefore. подразумевалось toggleJoinAfter.]]></description>
					<pubDate>Fri, 07 Mar 2014 11:45:22 +0400</pubDate>
									</item>
							<item>
					<title>[Обсуждение] Обработка событий движка в javascript (замена старых хуков и маркеров) (comment #8756)</title>
					<guid isPermaLink="true">http://altocms.ru/t/530/#comment8756</guid>
					<link>http://altocms.ru/530.html#comment8756</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[Спасибо, поправил. И это, конечно, общая схема, в конкретной реализации могут быть некоторые изменения. Например, склоняюсь к тому, что лучше не <strong>trigger()</strong> использовать, а <strong>triggerHandler()</strong>. Плюс, можно попробовать не напрямую использовать триггер, а через некоторую обертку, чтобы контекст сразу в <strong>this</strong> передавать в функции обработчике. Или это лишнее уже?]]></description>
					<pubDate>Fri, 07 Mar 2014 12:28:28 +0400</pubDate>
									</item>
							<item>
					<title>[Обсуждение] Обработка событий движка в javascript (замена старых хуков и маркеров) (comment #8758)</title>
					<guid isPermaLink="true">http://altocms.ru/t/530/#comment8758</guid>
					<link>http://altocms.ru/530.html#comment8758</link>
					<author>markus1024@yandex.ru</author>
					<description><![CDATA[Ну, я конечно за то, что бы сразу делать хорошо. Но, опять же, тяжело понять, где это «хорошо», пока не начнешь просто реализовывать и перебирать варианты. Честно сказать, у меня нет большого опыта в проектировании архитектуры JS кода, поэтому как вы решите все это оформить — значит, так и будет. В связи с решением использования триггеров буду просто придерживаться этого принципа на данный момент, а потом изменить свои проекты под ту архитектуру, которая будет впоследствии использоваться в движке, не должно составить большого труда.]]></description>
					<pubDate>Fri, 07 Mar 2014 13:14:13 +0400</pubDate>
									</item>
							<item>
					<title>[Обсуждение] Обработка событий движка в javascript (замена старых хуков и маркеров) (comment #8773)</title>
					<guid isPermaLink="true">http://altocms.ru/t/530/#comment8773</guid>
					<link>http://altocms.ru/530.html#comment8773</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[Согласен с предложением использовать триггеры, но есть еще особенности. <br/>
1. Сейчас весь js-функционал заключен в объект <strong>ls</strong>, который построен <u>не по архитектуре плагинов jQuery</u>. (<a href="http://ajc.su/web-razrabotka/ajax-web-razrabotka/osnovnye-patterny-plaginov-jquery/" rel="nofollow">Очень хороший топик по теме</a>)<br/>
<br/>
2. Объекты, входящие в состав частично <u>не соответствуют jslint</u>. Не обязательно, конечно, ему следовать, но все же… (<a href="http://habrahabr.ru/post/74419/" rel="nofollow">http://habrahabr.ru/post/74419/</a>)<br/>
<br/>
3. Все объекты «ls.» подгружается полностью, и все его методы доступны на любой странице даже если они не используются. Я понимаю, что модульность в js это отдельная тема, но <u>подгружать все скрипты, даже если они не нужны, тоже не стоит</u>, imho. (Как вариант <a href="http://requirejs.ru/" rel="nofollow">requirejs.ru/</a>)<br/>
<br/>
4. Нет системы используемых в коде js идентификаторов и классов кода html шаблонов.<br/>
<br/>
Думаю, что стоит обратить внимание не только на триггеры, но и на общую архитектуру js-кода в Alto.]]></description>
					<pubDate>Fri, 07 Mar 2014 18:14:04 +0400</pubDate>
									</item>
							<item>
					<title>[Обсуждение] Обработка событий движка в javascript (замена старых хуков и маркеров) (comment #8797)</title>
					<guid isPermaLink="true">http://altocms.ru/t/530/#comment8797</guid>
					<link>http://altocms.ru/530.html#comment8797</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[Ох, Андрей, ну как всегда — если копнешь, так до самых глубин :) (это я в одобрительном смысле, если что)<br/>
<br/>
Про JSLint помню. По большому счету, соглашения JSLint должны быть составной частью Alto Coding Style. А так же составной частью должны стать правила (кроме php и js) еще и для css и tpl.<br/>
<br/>
Объект <strong>ls</strong> сейчас — неймспейс для большого набора функций. Нужно ли это оформлять, как jQuery-плагины? Честно говоря, не даже думал об этом, поэтому пока не могу ни согласиться, ни возразить. Если есть какие-то аргументы «за», то рад буду услышать.<br/>
<br/>
Модульность js-скриптов — да, отдельная тема. Собственно, еще в ЛС был заложен механизм, позволяющий группировать js- и css-файлы в разных комбинациях и загружать на разных страницах разные наборы. Но как-то особо не прижилось пока. Рассуждая чисто теоретически, трудно сказать, какой подход лучше — сформировать один набор, который будет грузиться на всех страницах, либо делать разные наборы. В первом случае можем получить выигрыш за счет кеширования, во втором — за счет уменьшения размера наборов. Где выигрыш будет больше — это только эксперименты могут показать.<br/>
<br/>
Но даже если оставлять, как есть (т.е. единый набор), то часть скриптов, бесспорно, имеет смысл вынести в «ленивую загрузку», напр., скрипты, связанные с редактированием — сам редактор, загрузка фото и аватар и т.д.]]></description>
					<pubDate>Fri, 07 Mar 2014 20:38:10 +0400</pubDate>
									</item>
							<item>
					<title>[Обсуждение] Обработка событий движка в javascript (замена старых хуков и маркеров) (comment #8801)</title>
					<guid isPermaLink="true">http://altocms.ru/t/530/#comment8801</guid>
					<link>http://altocms.ru/530.html#comment8801</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[Про соглашения согласен. Если определятся с правилами кодинга, то на всех используемых языках, а не только на PHP.<br/>
<br/>
<blockquote>Нужно ли это оформлять, как jQuery-плагины? </blockquote>Я считаю, что нужно — это, во первых, понизит «уровень вхождения» в код новых разработчиков. Во вторых, однообразит подход к разработке. В третьих, упростит читаемость кода…<br/>
<br/>
<blockquote>Модульность js-скриптов</blockquote>Я очень не уверен, что можно получить какие-то плюсы за счет манипуляций с кэшем и наборами скриптов. Модульный подход я рассматриваю как инструмент развития, который позволит построить более сложную систему в будущем.]]></description>
					<pubDate>Fri, 07 Mar 2014 21:04:41 +0400</pubDate>
									</item>
					</channel>
	</rss>
