Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   когда не хватает библиотек типа JQuery? (https://javascript.ru/forum/misc/32349-kogda-ne-khvataet-bibliotek-tipa-jquery.html)

BallsShaped 14.10.2012 12:35

Самая большая беда html/css/js в том, что одни пополняют спецификацию по принципу "я уже реализовал нужную функцию, мож добавим ее в спецификацию?", другие и вовсе кладут на нее (хотя ie вроде исправился). Так вот, по-моему, всегда будет нужна какая-нибудь прослойка для кроссбраузерности. Но я считаю, что это нужно делать, добавляя недостающий функционал, чтобы можно было писать vanilla-код. Собственно, основная преграда же отсутствие конструкторов вроде HTMLElement в старых ослах.

melky 14.10.2012 13:32

Цитата:

Сообщение от nerv_
а такое есть?

я читал на хабре обещания о светлом будущем жиКвери - тогда я сразу поменял мнение об этой библе с библы до "сборки полезных костылей в одном скрипте".

Цитата:

Сообщение от BallsShaped
"я уже реализовал нужную функцию, мож добавим ее в спецификацию?",

:D убило. сущая правда :D

Цитата:

Сообщение от BallsShaped
Так вот, по-моему, всегда будет нужна какая-нибудь прослойка для кроссбраузерности

я написал функцию getVendorPropName, которая быстренько находит вендорное имя для свойства, и это всё, что нужно знать для кроссбраузерности в отношении этих лагерей префиксов.

Цитата:

Сообщение от BallsShaped
. Но я считаю, что это нужно делать, добавляя недостающий функционал, чтобы можно было писать vanilla-код.

т.е. до такой степени :
// для IE < 10, Chrome, Opera, FireFox и т.д. забудьте о префиксах и костылях в этом месте - всё уже сделано до вас!

var animtime = window.animationStartTime;

var reqAnimFrame = window.requestAnimationFrame;

Че за свойство такое?

блина, это было бы просто ЗАМЕЧАТЕЛЬНО. если я не ошибаюсь, этот финт зовётся полифиллом, да?

хм ... а я могу так сделать. я недавно как раз начал вкушать прелести функционального программирования ...
// перед этим сделать defineProperty для старых браузеров.
Object.defineProperty(window, "requestAnimationFrame", { value: getVendorPropValue("requestAnimationFrame") || мой_костыль });
Object.defineProperty(window, "animationStartTime", { get: makeGetter( window, getVendorPropName("animationStartTime")) || Date.now } );

это так, мыслишки ...

классно было бы сделать ещё вот так :
// для IE > 5.5 (фильтры), и всех других браузеров ... в одном флаконе.
document.body.querySelector('.shadowly').style.boxShadow = "1px 1px 1px black";


вот это я понимаю ... настоящее удобство.

macdack 14.10.2012 14:55

скажите, а жиквери полностью заменяет гольный яваскрипт в работе с ДОМ?

melky 14.10.2012 16:06

Цитата:

Сообщение от macdack
скажите, а жиквери полностью заменяет гольный яваскрипт в работе с ДОМ?

что значит "заменяет" ? она предоставляет обёртку над ними, очень удобную обёртку.

macdack 14.10.2012 16:26

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

вопрос простой - жиквери охватывает все функции ?

tenshi 14.10.2012 23:02

нет конечно, только самые популярные

kobezzza 15.10.2012 09:14

Всегда удивлялся тем разработчиками, которые кричат: "мы не можем отказаться от ИЕ6!". Правда в том, что нужно поддерживать те браузеры, которыми реально пользуются ваши юзеры. Например, в Яндекс.Метрике (где я работаю) минимальная версия ИЕ это 8, а через пол года планируем сделать 9-ку и выкинуть кучу кода хаков. Или например у меня есть свой проект, я проводил соц исследования и узнал, что моя ожидаемая аудитория вообще не пользуется ИЕ, а пользуется последними версиями ФФ и Хрома, поэтому я просто делаю поддержку всех последних версий браузеров, не юзаю DOM-фреймворки и забываю про хаки)

macdack 15.10.2012 10:40

если пользоваться последними-предпоследними версиями ФФ и Хрома
то есть ли смысл в джикверях?

kobezzza 15.10.2012 10:57

Цитата:

Сообщение от macdack (Сообщение 210141)
если пользоваться последними-предпоследними версиями ФФ и Хрома
то есть ли смысл в джикверях?

Есть, jQuery - это довольно удобная обёртка для DOM методов + дополнительные фишки, типо реализации паттерна "наблюдатель" и т.д.
В принципе jQuery 2.0 должна сильно похудеть и будет вообще здорово :)

Кверя в чистом виде удобна для малого кол-ва кода, а если вы пишете большой проект, то как правило реализуют над-интерфейс с более высоким уровнем абстракции (например, БЭМ Яндекса) или берут более заточенный под это фреймворк (например, google closure).

macdack 15.10.2012 11:11

какие еще есть фреймворки с хорошей русскоязыяной документацией?


Часовой пояс GMT +3, время: 01:31.