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

StackOverflow https://stackoverflow.com/questions/231773

  •  04-07-2019
  •  | 
  •  

Вопрос

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

<Ол>
  • Постоянно тестируйте во всех поддерживаемых браузерах каждый шаг; или
  • Выберите браузер, получите все, что работает в нем, в качестве эталонной реализации, а затем настройте все остальные браузеры на соответствие эталонной реализации.
  • У каждого подхода есть очевидный недостаток - проблема с # 1 состоит в том, что вы заканчиваете тем, что выполняете много ненужной работы - особенно если вы разрабатываете веб-приложение, которое проходит через много итераций / прототипирования / всплесков и т. д. Вы заставите кучу вещей работать в браузерах, которые впоследствии будут удалены / удалены.

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

    Несколько очевидным третьим вариантом будет гибридный подход, но мне кажется, что в конечном итоге вы потеряли бы больше, испытав обе проблемы с № 1 и № 2, чем вы выиграли бы от преимуществ от выполнения обоих.

    Что вы считаете наиболее эффективным способом решения этой проблемы?

    Это было полезно?

    Решение

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

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

    Другие советы

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

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

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

    Ну, вы делаете # 1, но вы делаете это, приветствуя руководство по стилю . Немного похоже на это: http://www.sitefromscratch.com/content/ HTML-XHTML-CSS-тестирование .

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

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

    Когда вы создаете свой сайт, создайте его из руководства по стилю. Если его нет в руководстве по стилю, сначала добавьте его и протестируйте там. Если вы обнаружите проблему при создании сайта (например, вы не учли конкретный элемент при его переносе), скопируйте и исправьте проблему в руководстве по стилю.

    В этом и заключается главное преимущество: выпущена новая версия одного из поддерживаемых вами браузеров, что бы вы предпочли протестировать, весь сайт или руководство по стилю?

    Итак, об этом позаботился CSS, теперь вам нужно сделать это с помощью общих функций JS, если таковые имеются.

    Я создал слой совместимости интерфейса между браузером и моим кодом - в основном, я обернул некоторые функции и заставил обертки определять, какой javascript / html был необходим.

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

    Если у вас есть этот уровень в вашей архитектуре, ответ на ваш вопрос становится "всякий раз, когда вы хотите".

    Если вы можете получить корпоративную блокировку, то поддержка нескольких браузеров может стать меньшей проблемой, например, если вашими клиентами являются все компании, использующие Internet Explorer, то зачем создавать сайт, который будет хорошо выглядеть в Safari или Chrome?

    Если вы делаете что-то для широкой публики, то я бы использовал гибридный подход, который заключается в том, что я использую один браузер, чтобы получить всю функциональность и работать, а затем тестировать в разных браузерах, когда я в этом " ; pretifying & Quot; фаза проекта. Сначала ключ должен работать, а потом должен хорошо выглядеть.

    Я не думаю, что смогу увидеть логику тестирования во всех браузерах, когда я первоначально заполнял форму или выполнял некоторые другие базовые функции, поскольку это могло бы привести к значительному снижению производительности для тестирования по крайней мере в нескольких браузерах, например. IE 6 & amp; 7, Firefox 2 и 3, Opera 9.5, Safari и Chrome, если кто-то хочет получить всех больших мальчиков, и, по крайней мере, пара O / S в качестве Safari на Mac может отличаться от Safari в Windows, что очень тесты даже для одной или двух страниц. С другой стороны, ближе к концу, это когда я могу реорганизовать свои CSS и встроенные стили и сделать код более удобным для передачи кому-то другому для поддержки, архивирования до планирования проекта пакета обновления или сохранения некоторых документов на всякий случай. что-то должно быть сделано. Кроме того, дожидаясь, чтобы все очистить, я могу больше доверять конечным частям пользовательского интерфейса, поскольку они могут значительно эволюционировать и изменяться в течение короткого периода времени.

    Я обычно начинаю с того, что весь HTML и элементы управления, которые я пишу / использую, соответствуют спецификации.

    Инструменты -> Параметры -> Текстовый редактор -> HTML -> Проверка -> Проверить отображение ошибок и выбрать цель

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

    Используя этот подход, CSS и JS обычно подозревают, когда что-то не так, редко, что это настоящая HTML-разметка.

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

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

    Я обычно советую младшим разработчикам держать все браузеры открытыми во время разработки и обновлять каждый браузер при внесении изменений, но я сам склоняюсь к тому, чтобы написать все для Firebug для поддержки, а затем вернуться и посмотреть, как это происходит в IE7 (и т. д.) впоследствии. , Так как я занимался этим в течение нескольких лет, большую часть времени я могу предсказать, что может вызвать головную боль, и часто сразу знаю, где искать способы ее устранения.

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

    Тем не менее, на самом деле не так уж и сложно заставить веб-сайт работать в каждом крупном браузере и соответствовать стандарту W3C. По моему мнению, КАЖДЫЙ дизайнер / разработчик должен делать это из принципа, иначе они не лучше, чем в те годы IE.

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

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top