Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JavaScript и браузеры. Старая тема... пытаюсь понять. 
:(
    Опции темы
Ghirik
Дата 14.2.2008, 05:20 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Господа программисты!

Мысли в голове крутятся,  smile  решил изложить.
Для чего предназначен JavaScript? На всех форумах все дружно соглашаются, что оснавное назначение - оживление страниц в двух смыслах : обработка событий и и дизайнерские штучки. Можно добавить третье назначение - обмен с сервером(к примеру AJAX).

По сути дела всё!

Вы скажете - "А динамическое создание контента?" Но зачем он нужен, динамический на клиенте? Всё же, основной задачей является не создать ресурс, а продвинуть его в Интернете. Потому, страница должна отдаваться с сервера набитой контентом, и всяческая навигация по сайту без перезагрузки страницы в большинстве случаев недопустима. Так, разве что всплывающие подсказки, да дополнительная инфа из базы... а для этого достаточно пары методов request-answer.

Теперь о браузерах.
Какой из браузеров лучше всего подходит для оживления страниц? Разумеется - IE. Во первых, имеет замечательный набор обработчиков событий и во вторых, лучше всех справляется с анимированием объектов. В третьих, он будет всегда, по крайней мере до тех пор, пока программисты FF не создадут свою ОС. В четвертых, он выпускается в составе платной операционной системы.
Понятно, что FF удобен для программистов, но это не качественный продукт. Не качественный, потому что не служит основному своему назначению - оживлению страниц. Да, его JavaScript поддерживает стандарты, Опера рядом... Но опять же, для кого эти стандарты создаются? Если даже обработчиков событий в стандарте всего десяток-два и из них большая часть не используется вообще. За то, бесполезных методов и свойств - тма тьмущая. И если какой из них потребовался раз в год, то и то потому, что браузер поддерживает этот дибильный стандарт и нужно как то выкручиваться. Где же здравый смысл? Самый простой и верный метод был не в том чтобы создать браузер поддерживающий стандарт, а включить в стандарт полную поддержку IE. И не было бы ни каких головняков. А производители браузеров, если хотят продвинуть свой продукт, то должны обеспечить беспрекословную совместимость не со стандартами, а с лидером рынка. Но сделать свою программу шустрее раз в десять(наверняка можно), и выпасть на рынок с фразой "Безупречная совместимость с IE". Вот этот продукт не нужно будет продвигать, как это сделала Опера... Читали наверное, Опера иск подала на Билла, что он продает браузер в составе Windows... А я завтра блокнот новый напишу, то же подавать иск на Майкрософт? smile  Не потребовалось бы использовать такие дешевые методы для привлечения внимания.

Такое ощущение, что программеры, которые создают JavaScript, напрочь обмороженные smile , всё больше и больше углубляются в структуру своего языка, надувают его, надувают smile , а он как был неполноценным для использования в браузерах, так и остается.  Нет, чтобы сделать парочку методов для работы с DirectX, да обработчиков добавить, ну где же, будем по DOM-дереву серфинговать и балдеть от удовольствия, как всё структурировано. Сколько деток у папаши! А у соседа жена хороша! И все такие общительные...

А особенно, удивляет упертость создателей FF и Оперы. Они что, действительно имеют надежду вытеснить с рынка Майкрософт? smile  Ведь мы с вами мучаемся при написании скриптов не из за создателей Windows, а из за создателей сторонних, кривых браузеров.




Это сообщение отредактировал(а) Ghirik - 14.2.2008, 05:26


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
merge
Дата 14.2.2008, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 20.3.2007

Репутация: 1
Всего: 1



вобще для чего стандарты были придуманы? для облегчения понимания и изучения какой-то системы. пока microsoft не напишут свой стандарт, их мало кто будет придерживаться.

Есть стандарт. есть правило. программист знает, как должен повести себя браузер если он напишет такой код. а тыкать наобум мне вряд-ли захочется.

Это сообщение отредактировал(а) merge - 14.2.2008, 08:09
PM MAIL   Вверх
Ghirik
Дата 14.2.2008, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Кроме стандартов существуют спецификации, и спецификации на IE все имеются. Что мешает создавать браузеры учитывая эти спецификации? Ведь самое смешное, что каких ни будь 100-200 килобайт кода могут FF сделать полностью совместимым с IE. Это делается специально, большая игра, под Билла копают smile . На сегодняшний день, уже имеются неплохие результаты, практически все программисты влюблены в FF. И все считают что по стандарту это хорошо... да ни чего хорошего. По такому стандарту, который ни как доделать не могут - это просто издевательство.

А для кого мы сайты создаем? Вот я, точно не для программистов делаю. И большенство программистов создают сайты для простых пользователей, которые приходят, как правило, на IE. Почему же тогда писать скрипты нужно используя FF. Это же называется через ... или через ...

А Майкрософт, между прочим, ведет себя очень порядочно, могли бы легко сделать, чтобы на винде не работал нормально ни один из сторонних браузеров. Работать то работал, но постоянно глючил. Потом ведь можно списать на программный баг.  smile  И перед новым релизом винды выпустить обновление, дней на пять... smile 




--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
AKS
Дата 14.2.2008, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



Цитата(Ghirik @  14.2.2008,  05:20 Найти цитируемый пост)
Для чего предназначен JavaScript? На всех форумах все дружно соглашаются, что оснавное назначение - оживление страниц в двух смыслах : обработка событий и и дизайнерские штучки.

Возможно, много лет назад идея создателей выглядела подобным образом. Сейчас спектр примерения, безусловно, значительно шире.


Цитата(merge @  14.2.2008,  08:07 Найти цитируемый пост)
вобще для чего стандарты были придуманы? для облегчения понимания и изучения какой-то системы. пока microsoft не напишут свой стандарт, их мало кто будет придерживаться.

Обратите внимание хотя бы вот на эти строки из HTML 5 (Working Draft):
Цитата

Special thanks also to the Microsoft employees who first implemented the event-based drag-and-drop mechanism, contenteditable, and other features first widely deployed by the Windows Internet Explorer browser.


PM MAIL   Вверх
Ghirik
Дата 14.2.2008, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Цитата

Возможно, много лет назад идея создателей выглядела подобным образом. Сейчас спектр примерения, безусловно, значительно шире.


Я говорю о применении JavaScript-а в браузерах. Можно ведь разделить направления, это сплошь и рядом практикуется. Этот JavaScript для браузеров, а этот для значительно широкого круга. Одно дело когда производитель выпускает семейство контроллеров и создает для него свой ассемблер или си. Здесь всё понятно, его контроллеры - его язык, оптимизированный для данных изделий. Но здесь ведь совсем другая ситуация. Это все равно, что язык использовать один и тот же, а контроллеры раздать всем разные. Существует изделие - браузер, значит должен быть написан язык поддерживающий все возможности современных компьютеров, на которых работают эти браузеры. Ну хотя бы возможности нормальной визуализации документов. От JavaScript-а больше ни чего не требуется, если сейчас вычистить стандарт от лишнего по критерию необходимости в браузерах, то останется максимум треть всех функций. Вот эту треть и нужно специфицировать для программирования в браузерах, т.е., получится JavaScript-икsmile 
 


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
bars80080
Дата 14.2.2008, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



интересно, ИЕ6 ругнулся на скрипты при загрузке страницы по ссылке ХТМЛ5


Ghirik, - абсолютно согласен, это из разряда все хотят жить в красивых домах, но консорциум разработчиков остановился на панельных кубиках, т.к. их легче производить (ничего не напоминает?)

MS - конечно зло (ибо монополист), но клепать сайты не заточенные под лидирующий браузер ещё большее зло. взять хотя бы css-фильтры. ну и что, что ИЕ не держит столько стандартов как ФФ, зато как хорошо работает.
Слава Богу, что при написании внутреннего сайта мне не приходится оглядываться на ФФ и оперу, всё так сразу упрощается...

интересно, можно ли подать в суд на w3c на не соответствие стандартам ?  smile

склоняюсь к тому, что js всё же больше присадка для динамизма, чтоб панельки всякие лишние на время скрывать, что-то добавлять и т.п., но никак не замена серверному скрипту, 

это не относится к аяксу, кот. по-моему не может претендовать на звание "чисто" клиентского (что очень даже хорошо)
PM MAIL WWW   Вверх
AKS
Дата 14.2.2008, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



Цитата(Ghirik @  14.2.2008,  10:58 Найти цитируемый пост)
Я говорю о применении JavaScript-а в браузерах.

Ну и я о том же. ;)
Взгляните, к примеру, на то, что называется "User Scripts":
Take Control with User JavaScript
GreaseMonkeyUserScripts
PM MAIL   Вверх
Sardar
Дата 14.2.2008, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Ghirik @  14.2.2008,  04:20 Найти цитируемый пост)
Во первых, имеет замечательный набор обработчиков событий и во вторых, лучше всех справляется с анимированием объектов.

Голословное утверждение. Где примеры?

Цитата(Ghirik @  14.2.2008,  04:20 Найти цитируемый пост)
Не качественный, потому что не служит основному своему назначению - оживлению страниц.

Не менее голословное и спекулятивное утверждение. Приведи концептуальный пример, где FF проиграет IE.


JS (ECMAScript и вариации) - клей для компонентов, создавался именно с этой целью. Применяется не только в браузерах, но и в железе, десклетах и т.д. Стандарты дают общий интерфейс, видимый в JS. Не всегда удобный, но обычно охватывающий большие аспекты применения, чем что-либо заточенное от MS (тот же DOM, он везде одинаков). Вкусности типа canvas (действительно удобно рисовать), XUL (сам не использую) и т.п.  появились гораздо раньше, чем набирающий бег silverlight/XAML/other-buzz-words от MS. Когда станет юзабельно везде, тогда и посмотрим.

Интересно с чем автор столкнулся, что легко решилось в IE и жутко в других браузерах? С какими стандартами не согласен, считаешь вредными/лишними? Какой функционал FF считаешь лишним/сложным? Хочется конкретики, иначе лишь спекуляция на словах.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Ghirik
Дата 14.2.2008, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Цитата

Взгляните, к примеру, на то, что называется "User Scripts":
Take Control with User JavaScript
GreaseMonkeyUserScripts 


На сколько я смог разобраться в английском... То понял, что это плагины для браузера позволяющие более широко использовать JavaScript. Т.е., клиент может сам написать сценарий на JavaScript-е.
На кого расчитаны такие надстройки? На менеджера из отдела продаж или видеорежессера зондирующего Интернет? Опять же, на людей владеющих хотя бы азами программирования. Наступил век интернет-программистов, друг для друга пишем и довольнющие smile . Кто круче? smile
Для таких целей можно и Визуал Студио установить(да много чего есть у Майкрософта), будет гораздо комфортнее.

Возможно, я чего то не доглядел по ссылкам... Much bad understand english.


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Ghirik
Дата 14.2.2008, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Цитата

Голословное утверждение. Где примеры?


Да как же голословное? Я думаю все посетители этого форума видели разницу в анимировании объектов. IE анимирует гладко и плавно, а FF с постоянной дергатней. И это в наше то время... Одного этого уже достаточно чтобы забанить такой браузер. Я вначале думал что сам криво код пишу, но нет... за всё время не видел нормальной анимации в окне FF, хотя видел много чужих скриптов. И что Вы считаете стандартизированного набора обработчиков событий вполне хватает? Один IE-шный обработчик onpropertychange достаточен для неголословного утверждения. А из за FF и Оперы приходится писать кучу обходняков. Событие есть, а фиг изловишь...

Цитата

Интересно с чем автор столкнулся, что легко решилось в IE и жутко в других браузерах? С какими стандартами не согласен, считаешь вредными/лишними? Какой функционал FF считаешь лишним/сложным? Хочется конкретики, иначе лишь спекуляция на словах. 


Возможно у меня "не специфицированный" подход к программированию, но за те пол года, за которые я стал немножко понимать JavaScript, 80% затруднений было именно из-за совместимости с FF. На мои сайты программисты не ходять, основная масса посетителей с IE, а приходится поддерживать FF. Хотя я наверное скоро повешу табличку, как многие делают...




--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Sardar
Дата 14.2.2008, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Ghirik @  14.2.2008,  13:54 Найти цитируемый пост)
Я думаю все посетители этого форума видели разницу в анимировании объектов. IE анимирует гладко и плавно, а FF с постоянной дергатней.

В лисе тормозной интерпретатор, в "профи" разделе простенький тест пробегал, там Safari круче всех smile
Из-за медленного интерпретатора медленно сменяются состояния объектов, медленная анимация. К языку это отношения не имеет, только к одной из реализаций ;-)

Используя canvas можно немного скрасит ситуацию, там всё таки лёгкие примитивы, не полновесные объекты.
http://www.abrahamjoffe.com.au/ben/canvascape/
http://glimr.rubyforge.org/cake/canvas.html#DesignSketching

Цитата(Ghirik @  14.2.2008,  13:54 Найти цитируемый пост)
Одного этого уже достаточно чтобы забанить такой браузер. 

Увы, в прибыльных проектах анимация стоит чуть ли не на последнем месте smile

Если говорить о развитии языка, то глянь сюда. Больше из этого ты будешь использовать в плагинах к лисе, тихо матерясь, что остальной мир этого не поддерживает. Потому и есть стандарты, они определяют минимальный интерфейс, который везде работает. Но это не значит, что дальше стандартов ничего нет, все браузеры внедряют новые расширения (попробуй XForms, простые формы потом с тихим матом будешь составлять). В лисе таких расширений гораздо больше, они удобные, возможно лишь не знание (и возможно отсутствие желания учить новое) отталкивает тебя от них.

Цитата(Ghirik @  14.2.2008,  13:54 Найти цитируемый пост)
И что Вы считаете стандартизированного набора обработчиков событий вполне хватает?

Не знаю на какой стандарт ты опираешься, тут много всего smile  Именно поэтому W3C подняли DOM 2 Event, тебе нужен MutationEvent, поднимаемый по DOMAttrModified - прямой аналог onpropertychange. Опять не знание и возможно не желание глянуть в стандарты? ;-)
Пример.

Цитата(Ghirik @  14.2.2008,  13:54 Найти цитируемый пост)
80% затруднений было именно из-за совместимости с FF

Не спорю, если использовать IE специфичный API и не пользоваться стандартами, то код будет сложно запустить под альтернативным браузером. Но это не значит, что FF не способен повторить это же. Да, у IE много находок, взять хотя бы XMLHttpRequest, который точно скопирован в другие браузеры - потому что не плохой интерфейс. Это не всегда можно сказать о других IE специфичных компонентах, уж больно заточены под винду (те же фильтры в CSS), а в мире ещё Mac/Linux/потомки-BeOS есть.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
jaspeen
Дата 14.2.2008, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чертяка



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 4.10.2007

Репутация: нет
Всего: нет



Цитата

Возможно у меня "не специфицированный" подход к программированию, но за те пол года, за которые я стал немножко понимать JavaScript, 80% затруднений было именно из-за совместимости с FF. На мои сайты программисты не ходять, основная масса посетителей с IE, а приходится поддерживать FF. Хотя я наверное скоро повешу табличку, как многие делают...

Повесить табличку конечно можно, причем процентов 90 там будут пользователи IE, и причем просто потому что процентов 99 в мире пользуются Windows и их устраивают решения, входящие в комплект. Это древний как мир холивар.

По поводу onpropertychange - метод watch(prop,handler) object'a чем не устраивает?

Цитата

На сколько я смог разобраться в английском... То понял, что это плагины для браузера позволяющие более широко использовать JavaScript. Т.е., клиент может сам написать сценарий на JavaScript-е.
На кого расчитаны такие надстройки? На менеджера из отдела продаж или видеорежессера зондирующего Интернет? Опять же, на людей владеющих хотя бы азами программирования. Наступил век интернет-программистов, друг для друга пишем и довольнющие smile . Кто круче? smile

Скажите мне какой браузер поддерживает нативно а не на уровне плагина флэш-анимацию?
PM MAIL   Вверх
Sardar
Дата 14.2.2008, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(jaspeen @  14.2.2008,  15:35 Найти цитируемый пост)
метод watch(prop,handler) object'a чем не устраивает?

Фича умерла с древним нетскейпом, уж больно просто в неявные бесконечные циклы убежать код мог smile

Цитата(jaspeen @  14.2.2008,  15:35 Найти цитируемый пост)
Скажите мне какой браузер поддерживает нативно а не на уровне плагина флэш-анимацию?

Сейчас любая прога компонентная (плагины). Если за "плагины" считать только сторонние разработки, то скоро в IE будет silverlight - схемки анимаций, замена флеша. Штука многообещающая, лишь бы секурно всё реализовали.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
jaspeen
Дата 14.2.2008, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чертяка



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 4.10.2007

Репутация: нет
Всего: нет



Цитата(Sardar @  14.2.2008,  15:53 Найти цитируемый пост)
Сейчас любая прога компонентная (плагины). Если за "плагины" считать только сторонние разработки, то скоро в IE будет silverlight - схемки анимаций, замена флеша. Штука многообещающая, лишь бы секурно всё реализовали. 


Я это к тому написал что зависимость в разметке и всем что в нее интегрируется от различных плагинов в том числе и third party это совершенно обычное дело. Тот же silverlight обязательно будет работать и на FF с сафари если с его использованием осмелятся писать и он будет популярен как флеш или более. 
Просто не нужно путать(Ghirik) особенности языка с объектным многообразием которое предоставляет тот или иной браузер вместе с плагинамиsmile
PM MAIL   Вверх
Ghirik
Дата 15.2.2008, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Всем спасибо, за ответы и полезную информацию. Надеюсь, я врагов не нажил... smile 

Цитата

поднимаемый по DOMAttrModified - прямой аналог onpropertychange. Опять не знание и возможно не желание глянуть в стандарты? ;-)


Да, эту фичу я знаю, но она называется не onpropertychange, а DOMAttrModified.  И соответственно, вместо простой строчки вызова обработчика, опять городьба с определением браузера. Тут рядом в ветке, я пытался ловить событие изменения состояния текстового поля ввода, но ни кто не указал на DOMAttrModified.  А я сам до конца с ней не разобрался, только для определения направления вращения колесика мышки применял. Неужели нельзя просто добавить все полезные штучки от IE, не в DOM, а к обычным обработчикам, сделать обновление JavaScript? Неужели сложно сделать два варианта обращения к одному обработчику - onpropertychange и DOMAttrModified? Такое ощущение, что создатели стандартов JavaScript напрочь не осведомлены, что их язык имеет самое массовое употребление в браузерах.



--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1239 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.