5

“我和其他高级开发人员之间的争论”系列的另一章:P

我的立场是,在进行 Web 开发时,应首先编写浏览器代码以遵守 W3C Web 标准,即使 Internet Exploder 拥有更大的市场份额(在 51% 到 79% 之间,取决于谁在进行跟踪) . 我的理由是:

  • 标准被锁定,所有浏览器开发人员都在朝着至少 100% 无缺陷的方向发展,以支持所有设定的标准。因此,代码应该围绕 Firefox/Chrome/Safari 编写和测试,它们比 IE8 更接近正确的标准支持,然后应该在 IE 中使用条件标签来解决它的错误。尤其是这种情况,因为您可以使用条件标签来解决 IE 错误,但是如果您尝试反向编码,则很难编写黑客来强制 Firefox/Safari/etc 正确显示编码损坏的 HTML/CSS .

  • 如果您针对标准进行设计,您的 Web 应用程序将面向未来,因为所有浏览器都针对同一个地方,标准方面,这意味着您不会成为每次都必须修复其应用程序的人群之一新的浏览器版本更接近 Web 标准,因此您最初的一些技巧现在会破坏布局。

  • 如果你有时间,编码一些破碎的东西以支持更大的市场份额,然后为较小的市场份额“打破”它,这似乎是一种粗心的工作方式,并表明你认为 20% 的市场份额是微不足道的,我认为与事实相去甚远。

我的共同开发者认为:

  • 不同的浏览器公司喜欢走自己的路,并不真正关心标准,所以尝试为标准编写代码是浪费时间。

  • 只要页面在这些浏览器中以仍然可用的方式粗略显示,编码以支持约 20% 的市场份额是不值得的。

  • 浏览器就是浏览器,浏览器就是浏览器。它只是一个用于渲染文本的视口,我不应该太担心看起来完全正确的事情。

  • 当他更喜欢 IE8 时,不得不在 Firefox 中开发是一件痛苦的事情。

我是负责人,当然我可以说“这就是它的方式”,但我讨厌只是一个纳粹并说“我的方式或高速公路”;我认为最好让其他人理解我们为什么要以某种方式做某事,以便我们在继续进行时达成一致,因此我们遵循的约定会被坚持,因为它们背后的原因是值得赞赏的,而不是不情愿的跟着。

我可以得到一些关于这个论点的意见吗?

4

11 回答 11

11

按照 W3C 标准开发,在 IE 中看起来不错。它们不是相互排斥的。

于 2009-07-13T16:40:33.670 回答
4

了解您的受众:他们是否关心您的网站是否符合标准?可能不会,除非您正在为 Web 开发人员狂热者编写网站。他们更有可能不在乎,甚至不知道 W3C 是什么。

您的受众是否更倾向于选择特定的浏览器?请记住,并非所有网站都获得相同的浏览器分布。科技网站获得的 IE 访问次数少于一般网站。

实用:大多数网站的大部分点击都来自 IE。具体来说,IE 6 和 7。忽略 IE 的怪癖是无视现实。如果您不花时间使其在 IE 6 和 7 中运行,您将会有很多用户抱怨您的站点无法运行。IE 6 仍然是一个大型浏览器,大多数以 Microsoft 为中心的企业都在使用它。

切合实际:除了吸引狂热者之外,符合标准的 HTML 并不实用。理想情况下,所有浏览器都实现该标准。但他们没有。实施没有人完全实施的标准是不现实的。

底线是实现一个适用于所有浏览器 IE6 及更高版本的站点。如果您必须优雅地使用旧浏览器失败,请执行此操作。但不要忽视它们。它们存在,用户不会使用不起作用的网站。通常,他们的企业要求他们不要使用不同的浏览器,因此建议他们升级不是一种选择。

于 2009-07-13T16:47:17.107 回答
3

我和下一个人一样喜欢标准,但老实说,这已经成为一个宗教战争/鞭打男孩。

我看到的主要问题是这种模式:

  • 浏览器公司“X”使浏览器具有容错性,并尝试显示格式错误的页面。他们在此过程中也偏离了标准,要么是出于偶然,要么是为了创建自己的新标准。
  • 经验不足的 Web 开发人员使用浏览器“X”来测试他们的设计,从而使他们的标记中的错误未被发现。
  • 浏览器公司“X”现在被困在破坏现有网站或在其浏览器的新版本中维护已知缺陷的位置。

不要成为这个循环的一部分。

于 2009-07-13T16:49:54.557 回答
2

我不确定您真正争论的是哪个版本的 IE,但这个digg 博客文章表明,超过一半的 IE6 用户没有选择使用 IE6。

关于浏览器的宗教争论不会改变这样一个事实,即您的许多用户可能无法控制他们如何查看您的网站。所以它归结为一个商业决策,以及迎合那些可能有点落后的人的成本与收益。

于 2009-07-13T16:46:30.897 回答
1

按照 W3C 标准开发,在 IE 中看起来不错。它们不是相互排斥的。

有时他们是。如果是这样,按照 W3C 标准进行开发通常是明智的选择。当然,更大的问题是针对多个版本的 IE 进行开发;将硬性下限设置为 7 可能是个好主意,但这取决于相关编辑。

通过构建从根本上破坏但有选择地未破坏的设计,你只会让自己失败。

于 2009-07-13T16:43:57.783 回答
1

我不喜欢 W3C,因为从那里出现的“标准”非常糟糕,这也是为什么每个人都以一种或另一种方式呈现一切不同的原因。

IE 支持条件 CSS 语句,它允许您调整适用于大多数浏览器的 IE CSS 怪癖。

所以我认为最好的办法是编写看起来不错并且按预期工作的 HTML(标准 schmandards),当你不得不做一些丑陋的事情来让它在 IE 中工作时,请使用条件 CSS。


澄清我愤世嫉俗的 W3C 观点:大。球。的。泥。

于 2009-07-13T16:45:08.373 回答
1

实际上,企业必须满足其用户。意识形态是不够的。按照标准开发,然后使其在 IE 中工作。注释代码并解释在何处引入了 hack。如果您谈论的是 IE8,那还不错。如果你需要支持 IE7 甚至 6,那么你将有更多的工作。

于 2009-07-13T16:46:31.163 回答
1

具有一定市场份额且最符合 ACID 测试的浏览器代码。解决其他浏览器的问题,并决定您不必担心哪些浏览器。

对我来说,此时,这意味着:

Firefox 的代码,为 IE 工作,确保它在 Chrome 和 Safari 中的工作方式相同,而忽略其余部分。

于 2009-07-13T16:47:33.843 回答
1

上面的论点中有一些有趣的断言。供应商不关心标准。通过遵守标准来应对未来的应用。非 IE 占市场份额的约 20%。如果有一些经验证据支持或反对这些,它可能会有所帮助。

在我看来,最重要的是,您声称“您可以使用条件标签来解决 IE 错误,但是如果您尝试反向编码,那么编写黑客来强制 Firefox/Safari/etc 显示编码的代码要困难得多- 正确破坏了 HTML/CSS。” 这种缺乏对称性的说法在我看来是不直观的,但如果是真的,这是一个非常有力的论据。

就个人而言,如果有人真的在说“大致正确是可以的”和“不要担心……确切地说”,那么我将很难认真对待这些论点。

为什么在 Firefox 中开发/为 Firefox 开发是一件痛苦的事情?

于 2009-07-13T16:49:36.507 回答
0

我总是指导我的团队在设计时考虑到 Firefox(阅读“W3C 标准”),然后才填补与 IE 相关的古怪空白。我完全同意你的观点,因为这很有意义。

据称,MS 一直试图让 IE 更加兼容,但他们仍然遥遥无期……而其他浏览器,如 Firefox 和 Chrome,则可以从 MS 的错误中吸取教训。由于很大一部分网络用户仍在使用 IE 6,因此您总是需要添加特殊的条件检查来满足那些“缺失的链接”。

考虑到 FireBug 和 Web Developer 等很棒的插件,我看不出为 Firefox 开发是多么痛苦。

于 2009-07-13T16:45:02.460 回答
-1

他的论点存在一个重大缺陷:您针对的是哪个版本的 IE?

一个网站可能在 IE6 中看起来很棒,在 IE7 和 8 中非常糟糕。或者在 IE6 和 7 中看起来很棒,但在 IE8 的默认(更符合标准)呈现模式下非常糟糕。

IE6 支持正在下降;IE7 的使用量不久前超过了 IE6 的使用量,而 IE8 正在慢慢获得关注。

在 Web 上,为 8 年历史的浏览器设计是一个错误。首先为较新的浏览器设计,然后添加旧浏览器所需的内容。

于 2009-07-13T16:48:05.230 回答