![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
okneigres |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 29.3.2008 Репутация: нет Всего: нет |
Занимаясь разработкой сайтов в один прекрасный момент, я понял, что мне кажется несправедливым в том, как вообще сейчас функционируют большинство сайтов. А именно - формирование свёрстанной веб-страницы происходит на стороне сервера. А формируют её всякие хорошие и не очень темплейтные движки, или что-нибудь вроде xslt. Загружая при этом сервер, накладывая технические ограничения на "движки" и забирая огромное количество сил разработчиков на отладку и доработку функциональности шаблонов (которые могли бы быть потрачены, например, на оптимизацию скорости)
Мне кажется, есть в этом логическое недоразумение. Оно касается в первую очередь того, что веб-сервер, по сути занимается не своей работой. Модель клиент-сервер такова, что сервер хранит данные и обрабатывает запросы к ним (Model, Controller), а клиент - получает данные и использует (представляет) их как хочет (View). Вот что, если клиент от сервера получал только чистые данные, загружал шаблон и использовал бы эти данные в этом шаблоне как ему хочется? Отличная бы получилась система - сервер передаёт только самое необходимое, вся статическая информация (шаблон! А он зачастую намного больше, чем непосредственно данные) хранится в кэше - как следствие увеличение скорости работы. И куча позитивных моментов - упрощается работа с движком, "скины" теперь не нуждаются в поддержке серверным движком. Код на сервере становится на порядок проще. И самый главный плюс - данные, передаваемые сервером клиенту (и получаемые от него) могут быть стандартизированы. А значит, серверную часть можно легко переносить на любой язык программирования, хоть на C++, хоть на java, хоть на php. И все модули, написанные на РАЗНЫХ языках, будут иметь одинаковый интерфейс, а значит смогут быть взаимозаменяемыми и эффективно взаимодействовать по протоколу http. Получаем полный MVC. Model - база данных, Controller - язык программирования, который эту базу обслуживает. View - на стороне клиента. Некоторое время я проводил эксперименты и пытался перенести процесс формирования шаблонов на javascript. Пробовал всякое, и придумывал тоже всякое. И делал, кстати, работающие сайты. Но, столкнулся с огромным количеством минусов - отлаживать такой огромный массив javascipt-кода - очень сложно. Любая оплошность, ошибка в запятой грозит тем, что весь сайт не работает. А передавать такой код на поддержку стороннему разработчику (верстальщику) и вовсе страшно! Да и цена подобного решения непропорционально велика. Но вот как-то недавно мне в голову пришла одна интересная мысль - использовать iframe, растянутый на всё окно, а под ним, в основном окне, будет прятаться только контент ![]() Как это выглядит практически? Со стороны сервера мы получаем такую html-ку: http://server/request
Ничего лишнего, как видим. Всё строго по делу. В ней работает _loader.js , которая создаёт iframe и подгружает в него дизайн нашей страницы: /view/_loader.js
Дальше идёт дизайн (он может быть свёрстан каким угодно способом): /view/design.html
Подход очень простой, очень гибкий и достаточно взрослый. Вполне в духе нашего времени всеобщего ajax-а. . А главное - исключает всякие нездоровые программистские домысливания на тему темплейтных движков и xslt. Ну вобщем... хочется это как-то развить. Есть желающие вместе подумать эту мысль? Кстати, если кто интересуется, уже сейчас есть работа для фрилансеров по такой вёрстке. Оплачиваемая. Пишите, если что в личку, кто заинтересован. |
||||||
|
|||||||
WolfON |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: 1 Всего: 8 |
Только ниодин поисковик это не проиндексирует.
|
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 1 Всего: 386 |
Это почему это? Весь контент, который интересно индексировать идет в первом запросе... Добавлено через 4 минуты и 36 секунд А при таком подходе что случится с огромным массивом javascript кода? Он волшебным образом напишется сам? Чтобы не отдавать верстальщику JS достаточно не писать html в javascript'е -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
okneigres, лучше бы XSLT - преобразования поддерживались всеми браузерами. XSLT на стороне клиента - как раз то, чего тебе недостает.
|
|||
|
||||
Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: нет Всего: 22 |
xml + xslt как раз для этого случая
к сожалению Opera не до конца поддерживает xslt 1.0, а таквполне живучая технология |
|||
|
||||
vasac |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: нет Всего: 36 |
Каждый начинающий программист проходил через подобный вселенский бред. И это правильно.
Вот только не все под подобные вещи подводят умные термины и забавные фразы типа "сервер занимается не своей работой". |
|||
|
||||
okneigres |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 29.3.2008 Репутация: нет Всего: нет |
javascript-код станет очень простым и легко поддерживаемым. Я тестировал всё на реальном сайте. про javascript не понял. Добавлено через 1 минуту и 50 секунд
спасибо за мнение ![]() вот здесь считают по другому Добавлено через 6 минут и 59 секунд
xslt - сложная для понимания вещь предложенный мной подход проще и гибче. |
||||||
|
|||||||
vasac |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: нет Всего: 36 |
Большинство считают так же ![]() Один Деструкшин по другому, но он всегда подругому ![]() |
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 11 Всего: 146 |
А весь контент, который "интересно индексировать", все равно на сервере будет формируется. Так какой тогда смысл городить iframe-ы через JS ? Намного правильнее просто отдавать чистый и аккуратный html, все стили выносить в css, а на JS уже можно красиво оформить отдельные элементы. К тому же у iframe-ов есть свои недостатки. В общем это палка о двух концах. Тут либо полностью забить на поисковики и формировать страничку полностью при помощи JS (при помощи ajax это можно сделать очень изящно, просто и без таких архаизмов как iframe), либо, как ни крути, придется формировать страничку на сервере и отдавать уже готовый html. |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |