![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Господа программисты!
Мысли в голове крутятся, ![]() Для чего предназначен JavaScript? На всех форумах все дружно соглашаются, что оснавное назначение - оживление страниц в двух смыслах : обработка событий и и дизайнерские штучки. Можно добавить третье назначение - обмен с сервером(к примеру AJAX). По сути дела всё! Вы скажете - "А динамическое создание контента?" Но зачем он нужен, динамический на клиенте? Всё же, основной задачей является не создать ресурс, а продвинуть его в Интернете. Потому, страница должна отдаваться с сервера набитой контентом, и всяческая навигация по сайту без перезагрузки страницы в большинстве случаев недопустима. Так, разве что всплывающие подсказки, да дополнительная инфа из базы... а для этого достаточно пары методов request-answer. Теперь о браузерах. Какой из браузеров лучше всего подходит для оживления страниц? Разумеется - IE. Во первых, имеет замечательный набор обработчиков событий и во вторых, лучше всех справляется с анимированием объектов. В третьих, он будет всегда, по крайней мере до тех пор, пока программисты FF не создадут свою ОС. В четвертых, он выпускается в составе платной операционной системы. Понятно, что FF удобен для программистов, но это не качественный продукт. Не качественный, потому что не служит основному своему назначению - оживлению страниц. Да, его JavaScript поддерживает стандарты, Опера рядом... Но опять же, для кого эти стандарты создаются? Если даже обработчиков событий в стандарте всего десяток-два и из них большая часть не используется вообще. За то, бесполезных методов и свойств - тма тьмущая. И если какой из них потребовался раз в год, то и то потому, что браузер поддерживает этот дибильный стандарт и нужно как то выкручиваться. Где же здравый смысл? Самый простой и верный метод был не в том чтобы создать браузер поддерживающий стандарт, а включить в стандарт полную поддержку IE. И не было бы ни каких головняков. А производители браузеров, если хотят продвинуть свой продукт, то должны обеспечить беспрекословную совместимость не со стандартами, а с лидером рынка. Но сделать свою программу шустрее раз в десять(наверняка можно), и выпасть на рынок с фразой "Безупречная совместимость с IE". Вот этот продукт не нужно будет продвигать, как это сделала Опера... Читали наверное, Опера иск подала на Билла, что он продает браузер в составе Windows... А я завтра блокнот новый напишу, то же подавать иск на Майкрософт? ![]() Такое ощущение, что программеры, которые создают JavaScript, напрочь обмороженные ![]() ![]() А особенно, удивляет упертость создателей FF и Оперы. Они что, действительно имеют надежду вытеснить с рынка Майкрософт? ![]() Это сообщение отредактировал(а) Ghirik - 14.2.2008, 05:26 -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
merge |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 20.3.2007 Репутация: 1 Всего: 1 |
вобще для чего стандарты были придуманы? для облегчения понимания и изучения какой-то системы. пока microsoft не напишут свой стандарт, их мало кто будет придерживаться.
Есть стандарт. есть правило. программист знает, как должен повести себя браузер если он напишет такой код. а тыкать наобум мне вряд-ли захочется. Это сообщение отредактировал(а) merge - 14.2.2008, 08:09 |
|||
|
||||
Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Кроме стандартов существуют спецификации, и спецификации на IE все имеются. Что мешает создавать браузеры учитывая эти спецификации? Ведь самое смешное, что каких ни будь 100-200 килобайт кода могут FF сделать полностью совместимым с IE. Это делается специально, большая игра, под Билла копают
![]() А для кого мы сайты создаем? Вот я, точно не для программистов делаю. И большенство программистов создают сайты для простых пользователей, которые приходят, как правило, на IE. Почему же тогда писать скрипты нужно используя FF. Это же называется через ... или через ... А Майкрософт, между прочим, ведет себя очень порядочно, могли бы легко сделать, чтобы на винде не работал нормально ни один из сторонних браузеров. Работать то работал, но постоянно глючил. Потом ведь можно списать на программный баг. ![]() ![]() -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
AKS |
|
|||
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
Возможно, много лет назад идея создателей выглядела подобным образом. Сейчас спектр примерения, безусловно, значительно шире. Обратите внимание хотя бы вот на эти строки из HTML 5 (Working Draft):
|
|||
|
||||
Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Я говорю о применении JavaScript-а в браузерах. Можно ведь разделить направления, это сплошь и рядом практикуется. Этот JavaScript для браузеров, а этот для значительно широкого круга. Одно дело когда производитель выпускает семейство контроллеров и создает для него свой ассемблер или си. Здесь всё понятно, его контроллеры - его язык, оптимизированный для данных изделий. Но здесь ведь совсем другая ситуация. Это все равно, что язык использовать один и тот же, а контроллеры раздать всем разные. Существует изделие - браузер, значит должен быть написан язык поддерживающий все возможности современных компьютеров, на которых работают эти браузеры. Ну хотя бы возможности нормальной визуализации документов. От JavaScript-а больше ни чего не требуется, если сейчас вычистить стандарт от лишнего по критерию необходимости в браузерах, то останется максимум треть всех функций. Вот эту треть и нужно специфицировать для программирования в браузерах, т.е., получится JavaScript-ик. ![]() -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 15 Всего: 315 |
интересно, ИЕ6 ругнулся на скрипты при загрузке страницы по ссылке ХТМЛ5
Ghirik, - абсолютно согласен, это из разряда все хотят жить в красивых домах, но консорциум разработчиков остановился на панельных кубиках, т.к. их легче производить (ничего не напоминает?) MS - конечно зло (ибо монополист), но клепать сайты не заточенные под лидирующий браузер ещё большее зло. взять хотя бы css-фильтры. ну и что, что ИЕ не держит столько стандартов как ФФ, зато как хорошо работает. Слава Богу, что при написании внутреннего сайта мне не приходится оглядываться на ФФ и оперу, всё так сразу упрощается... интересно, можно ли подать в суд на w3c на не соответствие стандартам ? ![]() склоняюсь к тому, что js всё же больше присадка для динамизма, чтоб панельки всякие лишние на время скрывать, что-то добавлять и т.п., но никак не замена серверному скрипту, это не относится к аяксу, кот. по-моему не может претендовать на звание "чисто" клиентского (что очень даже хорошо) |
|||
|
||||
AKS |
|
|||
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
Ну и я о том же. ;) Взгляните, к примеру, на то, что называется "User Scripts": Take Control with User JavaScript GreaseMonkeyUserScripts |
|||
|
||||
Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Голословное утверждение. Где примеры?
Не менее голословное и спекулятивное утверждение. Приведи концептуальный пример, где FF проиграет IE. JS (ECMAScript и вариации) - клей для компонентов, создавался именно с этой целью. Применяется не только в браузерах, но и в железе, десклетах и т.д. Стандарты дают общий интерфейс, видимый в JS. Не всегда удобный, но обычно охватывающий большие аспекты применения, чем что-либо заточенное от MS (тот же DOM, он везде одинаков). Вкусности типа canvas (действительно удобно рисовать), XUL (сам не использую) и т.п. появились гораздо раньше, чем набирающий бег silverlight/XAML/other-buzz-words от MS. Когда станет юзабельно везде, тогда и посмотрим. Интересно с чем автор столкнулся, что легко решилось в IE и жутко в других браузерах? С какими стандартами не согласен, считаешь вредными/лишними? Какой функционал FF считаешь лишним/сложным? Хочется конкретики, иначе лишь спекуляция на словах. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
На сколько я смог разобраться в английском... То понял, что это плагины для браузера позволяющие более широко использовать JavaScript. Т.е., клиент может сам написать сценарий на JavaScript-е. На кого расчитаны такие надстройки? На менеджера из отдела продаж или видеорежессера зондирующего Интернет? Опять же, на людей владеющих хотя бы азами программирования. Наступил век интернет-программистов, друг для друга пишем и довольнющие ![]() ![]() Для таких целей можно и Визуал Студио установить(да много чего есть у Майкрософта), будет гораздо комфортнее. Возможно, я чего то не доглядел по ссылкам... Much bad understand english. -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
Ghirik |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Да как же голословное? Я думаю все посетители этого форума видели разницу в анимировании объектов. IE анимирует гладко и плавно, а FF с постоянной дергатней. И это в наше то время... Одного этого уже достаточно чтобы забанить такой браузер. Я вначале думал что сам криво код пишу, но нет... за всё время не видел нормальной анимации в окне FF, хотя видел много чужих скриптов. И что Вы считаете стандартизированного набора обработчиков событий вполне хватает? Один IE-шный обработчик onpropertychange достаточен для неголословного утверждения. А из за FF и Оперы приходится писать кучу обходняков. Событие есть, а фиг изловишь...
Возможно у меня "не специфицированный" подход к программированию, но за те пол года, за которые я стал немножко понимать JavaScript, 80% затруднений было именно из-за совместимости с FF. На мои сайты программисты не ходять, основная масса посетителей с IE, а приходится поддерживать FF. Хотя я наверное скоро повешу табличку, как многие делают... -------------------- Отдадим всё клиенту, пускай его машина мучается... |
||||
|
|||||
Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
В лисе тормозной интерпретатор, в "профи" разделе простенький тест пробегал, там Safari круче всех ![]() Из-за медленного интерпретатора медленно сменяются состояния объектов, медленная анимация. К языку это отношения не имеет, только к одной из реализаций ;-) Используя canvas можно немного скрасит ситуацию, там всё таки лёгкие примитивы, не полновесные объекты. http://www.abrahamjoffe.com.au/ben/canvascape/ http://glimr.rubyforge.org/cake/canvas.html#DesignSketching Увы, в прибыльных проектах анимация стоит чуть ли не на последнем месте ![]() Если говорить о развитии языка, то глянь сюда. Больше из этого ты будешь использовать в плагинах к лисе, тихо матерясь, что остальной мир этого не поддерживает. Потому и есть стандарты, они определяют минимальный интерфейс, который везде работает. Но это не значит, что дальше стандартов ничего нет, все браузеры внедряют новые расширения (попробуй XForms, простые формы потом с тихим матом будешь составлять). В лисе таких расширений гораздо больше, они удобные, возможно лишь не знание (и возможно отсутствие желания учить новое) отталкивает тебя от них.
Не знаю на какой стандарт ты опираешься, тут много всего ![]() Пример. Не спорю, если использовать IE специфичный API и не пользоваться стандартами, то код будет сложно запустить под альтернативным браузером. Но это не значит, что FF не способен повторить это же. Да, у IE много находок, взять хотя бы XMLHttpRequest, который точно скопирован в другие браузеры - потому что не плохой интерфейс. Это не всегда можно сказать о других IE специфичных компонентах, уж больно заточены под винду (те же фильтры в CSS), а в мире ещё Mac/Linux/потомки-BeOS есть. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
jaspeen |
|
||||
![]() Чертяка Профиль Группа: Участник Сообщений: 7 Регистрация: 4.10.2007 Репутация: нет Всего: нет |
Повесить табличку конечно можно, причем процентов 90 там будут пользователи IE, и причем просто потому что процентов 99 в мире пользуются Windows и их устраивают решения, входящие в комплект. Это древний как мир холивар. По поводу onpropertychange - метод watch(prop,handler) object'a чем не устраивает?
Скажите мне какой браузер поддерживает нативно а не на уровне плагина флэш-анимацию? |
||||
|
|||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Фича умерла с древним нетскейпом, уж больно просто в неявные бесконечные циклы убежать код мог ![]()
Сейчас любая прога компонентная (плагины). Если за "плагины" считать только сторонние разработки, то скоро в IE будет silverlight - схемки анимаций, замена флеша. Штука многообещающая, лишь бы секурно всё реализовали. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
jaspeen |
|
|||
![]() Чертяка Профиль Группа: Участник Сообщений: 7 Регистрация: 4.10.2007 Репутация: нет Всего: нет |
Я это к тому написал что зависимость в разметке и всем что в нее интегрируется от различных плагинов в том числе и third party это совершенно обычное дело. Тот же silverlight обязательно будет работать и на FF с сафари если с его использованием осмелятся писать и он будет популярен как флеш или более. Просто не нужно путать(Ghirik) особенности языка с объектным многообразием которое предоставляет тот или иной браузер вместе с плагинами ![]() |
|||
|
||||
Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Всем спасибо, за ответы и полезную информацию. Надеюсь, я врагов не нажил...
![]()
Да, эту фичу я знаю, но она называется не onpropertychange, а DOMAttrModified. И соответственно, вместо простой строчки вызова обработчика, опять городьба с определением браузера. Тут рядом в ветке, я пытался ловить событие изменения состояния текстового поля ввода, но ни кто не указал на DOMAttrModified. А я сам до конца с ней не разобрался, только для определения направления вращения колесика мышки применял. Неужели нельзя просто добавить все полезные штучки от IE, не в DOM, а к обычным обработчикам, сделать обновление JavaScript? Неужели сложно сделать два варианта обращения к одному обработчику - onpropertychange и DOMAttrModified? Такое ощущение, что создатели стандартов JavaScript напрочь не осведомлены, что их язык имеет самое массовое употребление в браузерах. -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |