mobile:html5 vs xhtml

时间:2009-09-21 17:40:25

标签: iphone xhtml blackberry mobile html5

我正在构建一个移动应用程序(混合移动网络应用程序,但使用本机shell)与iphone上的大多数用户(一些在黑莓上),我想知道它是否应该用html5或xhtml编写?

任何见解都会很棒。

4 个答案:

答案 0 :(得分:3)

tl; dr:使用HTML5,因为text / html XHTML被解析为HTML5,而正确的XHTML可能会失败。


目前的浏览器实际上不再支持HTML4或XHTML / 1.x.他们将所有文档视为HTML5 / XHTML5(例如<video>即使您设置了HTML4或XHTML / 1.x DOCTYPE也会有效。

您的选择并非在HTML5和XHTML之间,而是在text/htmlXML解析模式以及怪癖和标准渲染模式之间。浏览器引擎与W3C规范的版本不一致。

真正的选择是:

  1. 怪癖与标准模式。 “Quirks”是IE5错误和盒子模型的模拟。如果你没有放DOCTYPE或使用过时的DOCTYPE之一(如HTML4 Transitional),那么怪癖会咬人。
    显而易见的选择是通过在每个文档中放置(任意)现代DOCTYPE来启用标准模式。

  2. text/html vs application/xhtml+xml 。 XML模式支持不在HTML中的XHTML功能(例如所有元素上的命名空间和自动关闭语法),最重要的是启用严格的错误处理
    注意:无法在文档中启用XML模式。启用它的唯一方法是通过真实的Content-Type HTTP标头(为此目的<meta>DOCTYPE将被忽略!)

  3. 在WAP和XHTML Basic时,XML模式应该是移动设备的最佳模式,但在实践中它turned out to be a fantasy!

    如果您使用application/xhtml+xml模式,许多GSM连接用户将无法访问您的网页!

    主流移动运营商使用了一些代理软件,至少在我测试过的英国和波兰,为看起来像HTML的所有内容注入无效的HTML ,包括正确提供的XHTML文档

    这意味着您的格式良好的XHTML将在传输过程中被销毁,用户将只看到XML解析错误。用户将无法通知您有关此问题的信息,并且由于服务器外部的标记格式不正确,因此您无法修复此问题。

    这就是O2 UK上所有XML模式(正确提供的XHTML)页面的样子:

    enter image description here

    (通过Wi-Fi或VPN加载时页面呈现正常,阻止移动运营商搞砸标记)

答案 1 :(得分:2)

HTML5和XHTML不是唯一的选择。您可以同时使用两者(XHTML 5),也可以不使用(HTML 4)。

我不会将文档创作到[X] HTML5,因为标准还没有完成,不管任何实现。我们在某些浏览器中提供的“HTML5”功能通常是脚本扩展,它们根本不会在标记级别影响HTML。

答案 2 :(得分:1)

我的理解是iPhone和Blackberry都没有完全支持HTML 5。因此,除非您需要某些特定的HTML 5功能,否则我会坚持使用XHTML。

答案 3 :(得分:0)

选择其中任何一个。 XHTML只是HTML的XML语言序列化,所以实际上,它只是以不同方式编码的DOM节点。 (也许我可以创建一个JSON序列化的HTML版本?)实际上,SGML或XML序列化的选择取决于设备是否支持它。 Apple使用WebKit,它完全支持XHTML。

请记住将您的XHTML作为application / xhtml + xml发送,否则它将不会被视为XHTML!

哦......还有一件事。我知道的所有浏览器都支持XHTML,除了IE。