Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 29.07.2014, 16:30
Кандидат Javascript-наук
Отправить личное сообщение для zhurchik Посмотреть профиль Найти все сообщения от zhurchik
 
Регистрация: 04.06.2011
Сообщений: 116

Octane,
Это тоже верно.
Ответить с цитированием
  #12 (permalink)  
Старый 29.07.2014, 16:41
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от Octane
Шаблонизатору скармливаются параметры
какой процент Ваших проектов использует шаблонизаторы?
Ответить с цитированием
  #13 (permalink)  
Старый 29.07.2014, 17:31
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

90%
Ответить с цитированием
  #14 (permalink)  
Старый 29.07.2014, 18:32
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

Сообщение от zhurchik Посмотреть сообщение
Что Вы подразумеваете под тем, что если форма небольшая то и createElement'ом можно обойтись? Просто я не совсем понял разницу между большой и маленькой, по сути то принцип один.
Тут разговор скорее не об отличии "маленькой" формы от "большой". Если маленькая форма имеет 1 инпут, а большая имеет 100 таких же инпутов, то я считаю такую "большую" форму тоже маленькой. Тут речь идет скорее об отличии между веб-сайтом и веб-приложением. Если Вы делаете обычный сайт, то там даже и innerHTML не нужен. Там вся форма грузится с сервера в виде полного HTML. А если это приложение с ajax, где перегоняются большие массивы (закодированных) данных, то страница строится "на лету", используя набор базовых функций предварительно загруженного ядра системы.

Например, у меня есть функция CreateFormOneLine(), которая "рисует" label, input, div, всякие тени, текстовые подсказки и прочее одной линии (полосы формы). В этом случае для формы, состоящей что из одного инпута, что из 100 я просто запускаю CreateFormOneLine() то ли 1 раз, то ли 100 раз.
Что касается провокационного вопроса "А если верстальщику захочется что-нибудь поменять?" (Octane), то это может быть проблемой если он у Вас есть! (верстальщик) А если даже и есть, то лично мне предпочтительнее внести изменения в пару строк javascript-кода, чем в верстку.

Вот примерчик (был написан за пол-дня специально для одного мероприятия):
http://gigalit.info/?101
Это большая форма или маленькая?
Ответить с цитированием
  #15 (permalink)  
Старый 29.07.2014, 18:49
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
какой процент Ваших проектов использует шаблонизаторы?
100%
__________________
kobezzza
code monkey
Ответить с цитированием
  #16 (permalink)  
Старый 29.07.2014, 19:29
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от Маэстро
предпочтительнее внести изменения в пару строк javascript-кода, чем в верстку.
Поработаешь в команде, поменяешь свое мнение, когда к тебе будут стучаться или ставить таски по каждой мелочи типа дописать класс какому-нибудь элементу.
Ответить с цитированием
  #17 (permalink)  
Старый 29.07.2014, 19:40
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Octane Посмотреть сообщение
Поработаешь в команде, поменяешь свое мнение, когда к тебе будут стучаться или ставить таски по каждой мелочи типа дописать класс какому-нибудь элементу.
Да тут даже без команды нет ни одной причины не юзать шаблонизатор. Шаблонка решает проблемы code-reuse, защищает от выстрела в ногу (автоэскейпинг xss параметров), поддержка шаблона в N (где N количество строк генерируемого кода) раз проще ручной JS генерации за счёт удобного синтаксиса и прочих спец фич
__________________
kobezzza
code monkey
Ответить с цитированием
  #18 (permalink)  
Старый 29.07.2014, 21:26
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

kobezzza,
а как у шаблонизаторов отношение с поисковиками и прочими сео-прелестями?
Можете порекомендовать какой-то конкретный? Пока не приходилось с ними работать, но, учитывая единодушие в этой ветке, готов пересмотреть свое отношение к ним
Ответить с цитированием
  #19 (permalink)  
Старый 29.07.2014, 22:27
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
а как у шаблонизаторов отношение с поисковиками и прочими сео-прелестями?
Это зависит от того, где используется шаблонизатор. Если на клиенте, то никак и придётся делать отдельную страницу для поисковиков. Хорошо когда один и тот же движок на сервере и клиенте, тогда нет никаких проблем.

Цитата:
Можете порекомендовать какой-то конкретный?
https://github.com/kobezzza/Snakeskin
__________________
kobezzza
code monkey
Ответить с цитированием
  #20 (permalink)  
Старый 30.07.2014, 13:26
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

Сообщение от kobezzza Посмотреть сообщение
... где используется шаблонизатор. Если на клиенте, то никак и придётся делать отдельную страницу для поисковиков. Хорошо когда один и тот же движок на сервере и клиенте...
-Вот именно. Упрощая жизнь в одном вопросе мы создаем проблемы в другом.
Могу поделиться своим вариантом решения проблемы. Наверное, стоило бы перейти в раздел "Ваши сайты и скрипты", но надеюсь автор темы не возразит, раз уж здесь пошел разговор.
Кто-то скажет, что я "изобрел велосипед". Не знаю, но такого метода я еще не встречал.
Сайт был разработан для смартфонов (косметика Avon). Необходимо передавать максимально сжатый текст, но обрабатываемый поисковиками. Посмотрите на страницу http://gigalit.info/mobile_data.php?u=1&gdb=10&menu=1 Это то, что видит поисковик. Только содержательная часть контента сайта. Практически никаких тегов кроме <div>, никаких стилей, никаких атрибутов.
В некотором роде это тоже можно назвать шаблонизатором. Весь контент описан случаями (case); их около 20. Номер случая кодируется в классе тегов (class), но не существует в разделе описания <style>.
При приеме в вебприложение этих данных javascript-функция парсит название класса и рисует на экране запрограммированные случаи.
Внутренности передаваемой страницы-массива выглядят приблизительно так:
<div class=m_cas_02_col_AA44AA_ id=14m>Глаза</div>
<div class=m_cas_14_gid_1624_pri_23d99_opr_37_img_1_>Тушь для ресниц «Цветная феерия»</div>
<div class=m_cas_14_gid_1557_pri_125_img_1_>Двойная компактная пудра с эффектом загара «Сияние лета»</div>
Что имеем в результате:
1. Не надо создавать отдельную страницу для поисковиков.
2. Передаваемые данные максимально сжаты, но читабельны для поисковика (и человека)
3. Рисование графики производится на клиенте с помощью javascript с учетом массы особенностей мобильных телефонов. Прорисовка производится быстро.

Вы скажете, что это более трудоемко, чем использовать классический шаблонизатор? Может быть. Но мы работы не боимся
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выдаёт ошибку при использовании innerHTML doox911 Общие вопросы Javascript 4 17.01.2014 12:01
innerHTML....? Hapson Элементы интерфейса 4 24.07.2013 01:33
Как в браузерах реализуются функции DOM (например createElement) iamme Общие вопросы Javascript 7 02.09.2011 20:26
innerHTML and z-index ViZ0R Общие вопросы Javascript 5 12.08.2009 10:28
ошибка с innerHTML Gekt0r Общие вопросы Javascript 15 21.08.2008 11:57