27.12.2011, 16:59
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от Kolyaj
|
Что такое область видимости для компонента? CSS, например, в любом случае будет глобальным, его не спрятать.
|
речь не о коллизиях, а том, что я знаю, например, какие файлы открыть, чтобы внести изменения
Сообщение от Kolyaj
|
Подход устарел. Пользователей без JS исчезающе мало, гораздо меньше, чем пользователей IE6, например. Значительно усложнять разработку ради гиков с noscript-ом смысла нет.
|
устарел? Впервые слышу, в jquery он по-моему очень активно используется.
По поводу значительного усложнения разработки не уверен, я не говорю об реализации эквивалентной функциональности без js. Возможно есть задачи, где сложно реализовать хоть какую-нибудь функциональность без js, но это по-моему скорее исключение.
И мне всегда казалось, что тут дело не в поддержке javascript, а в том, что это просто разумный подход. Вместо того чтобы делать страницу за раз, можно делать ее этапами: сначала статический вариант, а потом постепенно добавлять js-функциональность.
К тому же все равно есть статическая страница и есть js-компонент. Это в любом случае отдельные вещи. Нельзя избавиться от статической страницы. Разве что написать свой шаблонизатор (сборщик/язык) который будет собирать страницу из js-компонентов, и использовать html как транспорт что ли, или как реализацию. Другими словами создать слой абстракции поверх html, чтобы исправить его "недостатки".
Потом, нельзя оставить в странице только placeholder'ы для вставки компонентов. Что иначе поисковики будут индексировать?
и можешь все же рассказать, как ты делаешь?
|
|
27.12.2011, 17:20
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от x-yuri
|
речь не о коллизиях, а том, что я знаю, например, какие файлы открыть, чтобы внести изменения
|
Всё равно не понятно. Какие файлы открыть должно быть понятно по названию компонента.
Я, честно говоря, не готов дискутировать о нужности unobtrusive javascript. Слишком много я пишу веб-приложений, и слишком мало обычных сайтов. Могу судить только как пользователь: большинство случаев этого самого unobtrusive javascript выглядят удручающе. Сначала появляется элемент, не обвешанный javascript-ом, потом пауза, потом он обвешивается функциональностью. Пауза посередине зависит от скорости загрузки сайта (DOMContentLoaded), и если какой-то скрипт в конце затупил, то всё плохо.
|
|
27.12.2011, 17:38
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от Kolyaj
|
Всё равно не понятно. Какие файлы открыть должно быть понятно по названию компонента.
|
да, если изменение не повлияет на интерфейс, иначе надо найти все места использования. К тому же, у тебя подгружаются сразу все компоненты?
Сообщение от Kolyaj
|
Я, честно говоря, не готов дискутировать о нужности unobtrusive javascript.
|
ok, не будем, расскажи лучше, как ты делаешь, если возможно
Сообщение от Kolyaj
|
большинство случаев этого самого unobtrusive javascript выглядят удручающе. Сначала появляется элемент, не обвешанный javascript-ом, потом пауза, потом он обвешивается функциональностью. Пауза посередине зависит от скорости загрузки сайта (DOMContentLoaded), и если какой-то скрипт в конце затупил, то всё плохо.
|
когда необходимо, можно сразу же скрывать элемент, а показывать - при создании компонента
|
|
27.12.2011, 20:24
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от x-yuri
|
иначе надо найти все места использования
|
Alt+F7
Сообщение от x-yuri
|
К тому же, у тебя подгружаются сразу все компоненты?
|
Да.
Я не исключаю случаи, когда необходима загрузка по требованию, но мне пока такие не попадались.
Сообщение от x-yuri
|
расскажи лучше, как ты делаешь, если возможно
|
Так я не знаю, что рассказывать. Все приложения состоят из компонент. Каждая компонента контекстно-независимо. Компоненты легко таскать из проекта в проект. Зависимость между компонентами контролируется с помощью BuildJS (ну или другая фигнюшка, если это яндексовый проект).
|
|
27.12.2011, 22:16
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от Kolyaj
|
Alt+F7
|
да у меня тоже несложно найти. Наверное дело в том, что у меня есть код, привязанный к текущей странице. Т.е. в простых случаях я не создаю компонентов.
Сообщение от Kolyaj
|
Так я не знаю, что рассказывать. Все приложения состоят из компонент. Каждая компонента контекстно-независимо. Компоненты легко таскать из проекта в проект.
|
ну например, есть компонент, который добавляет label к текстовому полю (типа атрибут placeholder). Он удаляет текстовое поле из страницы и заменяет на свою разметку? Когда он это делает? Сразу в html? В конце body?
|
|
28.12.2011, 09:43
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от x-yuri
|
ну например, есть компонент, который добавляет label к текстовому полю (типа атрибут placeholder). Он удаляет текстовое поле из страницы и заменяет на свою разметку? Когда он это делает? Сразу в html? В конце body?
|
У меня таких компонентов нет, у меня же веб-приложение. У меня может быть компонент, который содержит текстовое поле и label с нужным поведением. Т.е. нет компонента -- нет текстового поля.
Над задачей в твоей постановке я думал только в теории. Оптимально, пожалуй, сразу после текстового поля инициализировать его JavaScript-ом. Но тут есть проблема: скрипты надо грузить до основной страницы.
|
|
28.12.2011, 10:23
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от Kolyaj
|
У меня таких компонентов нет, у меня же веб-приложение. У меня может быть компонент, который содержит текстовое поле и label с нужным поведением. Т.е. нет компонента -- нет текстового поля.
|
ну так вот я и пытаюсь выяснить, как у тебя. Я привел пример, но он не подошел. Приведи тогда ты.
Сообщение от Kolyaj
|
Над задачей в твоей постановке я думал только в теории. Оптимально, пожалуй, сразу после текстового поля инициализировать его JavaScript-ом. Но тут есть проблема: скрипты надо грузить до основной страницы.
|
поэтому я скрываю их сразу в html, а в конце body создаю компонент и показываю.
|
|
28.12.2011, 10:30
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
У меня будет в начале пустая страница, а потом
new PlaceholderInput({
renderTo: document.body
})
А внутри PlaceholderInput html/css/javascript.
Сообщение от x-yuri
|
поэтому я скрываю их сразу в html, а в конце body создаю компонент и показываю.
|
В результате всё равно надо ждать полной загрузки страницы, чтобы воспользоваться элементом. Это очень бесит на медленном канале, или если сайт подтормаживает. Вроде нужная часть страницы загрузилась, а сделать всё равно ничего нельзя. Впрочем если не скрывать, а просто подменять потом, всё равно бесит, т.к. элемент видно, но он не работает так, как ты привык.
|
|
28.12.2011, 11:56
|
|
Профессор
|
|
Регистрация: 15.12.2009
Сообщений: 742
|
|
Сообщение от x-yuri
|
поэтому я скрываю их сразу в html, а в конце body создаю компонент и показываю.
|
кмпонент должен быть прозрачным к преобразованию элемента. иначе получается фигня. тут сайт грузится. на 2 секи тормоза и подкатывает куча контента...
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
|
|
28.12.2011, 17:19
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от Kolyaj
|
У меня будет в начале пустая страница, а потом
|
ага...
Сообщение от Kolyaj
|
В результате всё равно надо ждать полной загрузки страницы, чтобы воспользоваться элементом. Это очень бесит на медленном канале, или если сайт подтормаживает. Вроде нужная часть страницы загрузилась, а сделать всё равно ничего нельзя. Впрочем если не скрывать, а просто подменять потом, всё равно бесит, т.к. элемент видно, но он не работает так, как ты привык.
|
медленные каналы и тормозящие сайты бесят по определению, веб-приложение тоже может тормозить, разве что в случае сайта есть этот компромис между целостностью интерфейса что ли и сложностью поддержки. Но при этом у сайтов есть и преимущества, естественно.
Сообщение от PeaceCoder
|
кмпонент должен быть прозрачным к преобразованию элемента. иначе получается фигня. тут сайт грузится. на 2 секи тормоза и подкатывает куча контента...
|
не понял о каком преобразовании речь и как это связано с задержкой перед появлением
|
|
|
|