Каковы плюсы и минусы использования расширений, специфичных для производителя, которые не включены в спецификации W3C? - PullRequest
2 голосов
/ 26 декабря 2009

Я редактировал свой вопрос

Что такое расширение для конкретного поставщика?

Могут начаться расширения, специфичные для поставщика с «-» (тире) или «_» (подчеркивание), обычно сопровождаемый сокращение компании или проект браузера расширение специально для, например «-Moz-» для Mozilla браузеры или «-webkit-» для WebKit основанные браузеры. Этот поставщик конкретного за префиксом следует свойство название. Хороший пример этого -webkit-border-radius или -moz-border-radius.

IE имеет 3 вещи

  1. .htc поддержка файлов (это же как javascript)
  2. и выражения CSS (которые также являются формой JavaScript)
  3. и некоторые IE только xhtml и css свойства также

Web-kit и Mozilla также имеет некоторые собственные свойства CSS. и некоторые другие ссылки

http://webdesign.about.com/cs/htmltags/a/aa012300a.htm

http://reference.sitepoint.com/css/vendorspecific#

http://www.456bereastreet.com/archive/200911/vendor-specific_extensions_are_invalid_css/

http://www.css3.info/vendor-specific-extensions-to-css3/

Мои вопросы

Можем ли мы столкнуться с какой-либо проблемой сейчас или в будущем, если мы будем использовать не стандартные W3C вещи?

  1. Если у меня есть решение jquery и Специфический поставщик CSS для одного и того же Решение то, что я должен использовать? используя решение css производителя будет работать, если JS отключен, но страница не будет проверяться в валидаторе w3c и если я использую решение JS, то страница будет передано в валидатор.

    • например, как для создания круглого угла
  2. Будет ли больно, если сайт не полностью подтвержден W3C из-за использования конкретные вещи продавца, если я избегайте специфических вещей продавца как можно лучше кросс-браузер и платформа совместимость (например, ПК, MAC, iPhone, другие мобильные .?

  3. Должен ли я выбрать решение JS над Свойства css, если у меня есть решение, чтобы получить пройти проверку w3c? (но если я буду выбирайте js решение каждый раз сайт не будет хорошо работать на мобильных устройствах браузеры) Можно ли выйти, если проверка w3c выдает ошибку для конкретных расширений поставщика?

Ответы [ 4 ]

5 голосов
/ 26 декабря 2009

Э-э-э ... что они не будут работать в других браузерах ...?

4 голосов
/ 01 января 2010

Принцип, которому вы должны следовать при рассмотрении расширений, специфичных для поставщика, - это прогрессивное улучшение . Основная идея заключается в том, что вы должны разработать свой сайт так, чтобы он работал на максимально возможное количество людей; разработайте его так, чтобы он работал в простом HTML 3.2 на терминальном клиенте, без JavaScript, CSS или каких-либо расширений, специфичных для конкретного поставщика.

Затем вы добавляете стиль и функциональность, используя более продвинутые стандарты, которые поддерживаются не во всех браузерах, используя дизайны для визуальных носителей, используя CSS и JavaScript, которые могут быть отключены, и, наконец, используя специфичные для поставщика расширения, которых нет в все поддерживается другими браузерами. Но поскольку вы впервые начали проектирование с учетом общего набора функций, которые поддерживаются всеми, вам не нужны дополнительные функциональные возможности от новых функций для работы сайта; он будет продолжать работать в старых браузерах со старыми функциями, так как новые функции были добавлены как улучшения, а не как что-то необходимое для работы вашего сайта.

Таким образом, вы не должны полагаться на эти специфичные для поставщика расширения, а использовать их как усовершенствования. Если по какой-то причине вы полагаетесь на них - если ваш продукт не может работать без расширения, доступного в определенном браузере, - возможно, стоит его использовать. Но в этом случае ваше будущее неразрывно связано с этим браузером. Если он упадет на обочине, вы SOL . Если он в конечном итоге используется только в Корее, а ваш продукт на немецком языке, где доминирует другой браузер, опять же, вы SOL.

Теперь при принятии этих решений можно выбирать различные виды функций, специфичных для поставщика. Есть некоторые функции, которые всегда будут характерны для конкретного поставщика; функции, которые не применимы на других платформах, или которые были предложены органу по стандартизации, и этот подход был отклонен. Эти функции вы должны использовать очень разумно.

Существуют и другие функции, которые находятся на дорожке стандартов. Они находятся в текущем проекте CSS 3, они реализованы в двух или трех разных браузерах почти совместимо. На эти функции вы можете положиться, если все ваши пользователи их поддержат, поскольку они наверняка будут реализованы большинством основных браузеров (используемых большинством потенциальных пользователей) в определенный момент будущее.

Итак, в целом, я бы сказал, что вы можете свободно добавлять эффекты на свои страницы, которые поддерживаются только в отдельном браузере. Но вы не должны полагаться на них, если у вас нет веских оснований полагать, что они скоро будут поддерживаться всеми основными браузерами. Текущее состояние HTML, поддерживаемое основными браузерами, может многое сделать; старайтесь работать в рамках существующих стандартов и функциональности, общей для браузеров, насколько это возможно, при этом помните, что соблюдение стандартов не оплачивает счета, оно обеспечивает функциональность и определенный уровень стиля, т. е.

Как прямой ответ на ваш вопрос, о плюсах и минусах расширений, специфичных для поставщика:

Плюсы

  • Получите доступ к функциям, которые могут стать широко распространенными раньше
  • Обеспечьте лучшую ценность для ваших клиентов
  • Вы можете делать действительно классные, забавные вещи
  • Помогите поощрить разработчиков других браузеров и людей, работающих над стандартами, что эта функция является хорошей идеей

Против

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

Что касается того, следует ли вам использовать подход, основанный на JavaScript или подходе с расширением CSS, это решение, которое вы должны принимать в каждом конкретном случае. Если вы смогли следовать принципам прогрессивного улучшения, они оба хороши в использовании. Пока это не является существенной особенностью вашего сайта, или вы находите альтернативные способы сделать то же самое для всех основных браузеров, я бы сказал, что CSS предпочтительнее решения JavaScript, так как он обычно будет меньше и более быстрая загрузка.

Что нужно учитывать при проверке, так это то, что, в общем, неплохо убедиться, что ваш HTML проверяется (хотя и не всегда существенно; см., Например, Google , где они считают минимизацию размера загрузки более важной, чем проверка ), ошибки проверки из-за специфических для вашего поставщика свойств в CSS менее критичны. В CSS неизвестные свойства определяются так, чтобы их просто игнорировали, поэтому даже если они не проверяются, поскольку вы используете специфическое для поставщика свойство, вы знаете, как оно будет вести себя в браузерах, которые не поддерживают это свойство; они просто проигнорируют это. И если вы следовали подходу постепенного улучшения, то ваш сайт все равно должен работать нормально, если эти свойства игнорируются, а это означает, что нет никакого негативного влияния, кроме того, что ваш сайт выглядит немного менее приятным.

2 голосов
/ 26 декабря 2009

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

Это относится ко всем отраслям, а не только к созданию веб-контента.

Если мы согласимся с тем, что W3C является стандартизирующим органом для Интернета, мы должны следовать установленным ими рекомендациям.

Это означает, что мы не полагаемся на проприетарные расширения, независимо от того, кто их вводит.

0 голосов
/ 26 декабря 2009

Если ваш сайт не предназначен исключительно для пользователей Windows + IE, и вы не потеряете весь трафик от пользователей Firefox, Mac, устройств с iPhone, Blackberry или Android, и т. Д., Использование любых проприетарных расширений IE невероятно близорукий Microsoft только что согласилась с ЕС в ближайшем будущем предложить «палитру браузеров» для выбора пользователей в качестве браузера по умолчанию, поэтому можно представить, что процент пользователей Windows, придерживающихся IE в качестве браузера по умолчанию или единственного браузера, вероятно, может уменьшиться в будущее.

Использование проприетарных расширений от Firefox почти так же близоруко - вам будет трудно убедить всех посетителей перейти на FF для вашего сайта (из IE, Safari или любого другого, который они предпочитают), и, хотя диапазон Устройства, на которых вы можете установить FF, шире, чем те, на которых вы можете установить IE, вы все еще отключаете устройства, такие как iPhone и Android, сегмент рынка, который растет очень быстрее, чем "традиционные ПК".

...