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

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

  1. Постоянное тестирование во всех поддерживаемых браузерах на каждом этапе пути; или
  2. Выберите браузер, получите все, что работает в нем, в качестве эталонной реализации, а затем настройте все остальные браузеры на соответствие эталонной реализации.

У каждого подхода есть очевидный недостаток - проблема с # 1 состоит в том, что вы заканчиваете тем, что выполняете много ненужной работы - особенно если вы разрабатываете веб-приложение, которое проходит через много итераций / прототипирования / всплесков и т. Д. Вы заставите кучу вещей работать в браузерах, которые впоследствии будут удалены / удалены.

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

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

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

Ответы [ 10 ]

9 голосов
/ 24 октября 2008

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

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

3 голосов
/ 24 октября 2008

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

2 голосов
/ 24 октября 2008

Ну, вы делаете # 1, но вы делаете это, одновременно приветствуя руководство по стилю . Немного так: http://www.sitefromscratch.com/content/html-xhtml-css-testing.

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

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

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

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

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

2 голосов
/ 24 октября 2008

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

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

1 голос
/ 24 октября 2008

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

1 голос
/ 24 октября 2008

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

Сервис -> Параметры -> Текстовый редактор -> HTML -> Проверка -> Проверить Показать ошибки и выбрать цель

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

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

1 голос
/ 24 октября 2008

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

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

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

1 голос
/ 24 октября 2008

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

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

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

0 голосов
/ 24 октября 2008

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

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

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

0 голосов
/ 24 октября 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...