`
vvvvbbbb
  • 浏览: 20764 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

HTML设计原理

阅读更多
    文章一开始就深刻吸引了我,一直以来,我都认为xml是一个好东西,它很严谨,对客户端开发人员来说,xml的解析简单,理解容易,同时又给人定义元素和属性的自由,非常容易同业务层结合起来,可以比较容易地定出一个技术规范来,所以它是CS模型里面server端设计经常采用的一种方式(另外一种是 jason)。我甚至一度认为,http+xml可能是手机上最好的体验,cs模型可能是手机未来的主流。爱屋及乌,我喜欢上了xhtml。直到去年,我利用业余时间想在公司的eink阅读器上做一个类似stanza的应用,在线下载epub电子书,本地阅读。大部分stanza的免费电子书下载网站采用了是一个叫OPDS的尚未成为规范的草案,而epub,其实差不多就是xhtml1.1+目录+zip,原理上看非常简单。我自认为擅长 xml,xhtml的解析和排版,擅长http协议,用户体验方面也有些想法想实现,我觉得这个程序可以让我发挥出自己的特长,同时解决我看电子书经常要通过pc下载的烦人问题。开始的一切都非常顺利,我很快完成了下书的小程序,实现了断点续传和后台下载,并准备着手开始做epub的解析和排版,这个时候,我在吃自己的狗粮的时候,突然发现,有些站点的目录根本无法打开,出现的问题是解析失败,不少站点的xml/xhtml,根本没有遵守规范,而按照 xml的精神,解析失败就是要停止解析了,这样的问题通过吃狗粮发现越来越多,后来在android上找了几个epub reader的程序,发现也存在这样的问题。因此,我改变了我的看法,xml这种指导精神也许有点脱离现实了,而离开这个指导精神,xml又有什么存在的价值呢?而文中提到的“发送时要保守,接收时要开放的法则”,我之前接触及实现了几个协议里面,都强调了这个法则,可以说,这一点,跟做人是一样了,严于待己,宽于待人。以前经常有人问我,你觉得做协议实现最大的挑战是什么,我都毫不犹豫地说,是“兼容性”,就是为了做到这条法则。所以,对jeremy讲的xhtml和html,我深有感触,一般找到共鸣以后,你就会对文章后面的内容的兴趣翻番。

     这篇文章也让我知道了whatwg的由来,在看webkit的代码的时候,我一直很疑惑,为什么很多地方的文档索引都是引用whatwg而不是w3c的内容,才知道,原来是斗争的产物,哈哈。一份html的设计思想居然能让两个冤家般的工作组同心同德,很不简单。理解规范就不是一件容易的差事,何况制定规范呢,关键是这个规范又会影响到那么多的人,有太多的艰难选择。

      关于避免不必要的复杂性,我也有过体验,碰巧,也就是在这个doc type上,在早期的wap浏览器,经常把这个doctype当作一个关卡,也就是说,满足了它支持的doc type,它才继续往下处理,不满足,则不管三七二十一,就说自己不支持了,当时我曾经负责同这样一个wap浏览器的第三方厂家打交道,碰到我们的测试希望写一些case,可是它对xhtml还不熟悉,结果拷贝了个html的doc type来,问题就来了,虽然所有的tag都是xhtml mp的,但是浏览器就是弹出不支持的类型来了,当时觉得这个设计真的很傻,虽然这个跟html的规范似乎关系不大,但是为什么要定义一个这样的doc type呢,用来指导什么,现在好了,只用来指导验证器,这个改变很好。当然,更好的是这个指导原则,“避免不必要的复杂性”。

    “解决现实问题”这个原则中引用了一个例子,讲a标签从以前的inline级别升级到了block级别,这很好,a确实需要扩展,但是看到后面的“平稳退化原则”,呵呵,很明显,在这个例子上,这两个原则冲突了,“平稳退化”原则让步了“解决现实问题”。规范还是希望向前发展,平稳退化只是它尽量满足的一个原则,这个原则,在很多时候,代价太大了。

      “求真务实”原则,里面的nav和footer的例子,让我看到了工作组对web页面设计的一些共性的吸收,这个改革应该会对以后的页面排版产生比较大的影响。

     最后得感谢李松峰,翻译得非常好,
分享到:
评论

相关推荐

    HTML5设计原理.pdf

    HTML5设计原理主要探讨的是规范背后的思维和理念,它是Web开发领域中的一种创新与进步的体现。HTML5作为Web标准的最新版本,不仅限于语言规范,还涉及到一系列设计原则和考虑因素。在这个主题中,演讲者强调了理解...

    技术大牛谈HTML 5设计原理

    今天我想跟大家谈一谈HTML5的设计。主要分两个方面:一方面,当然了,就是HTML5。我可以站在这儿只讲HTML 5,但我并不打算这样做,因为如果你想了解HTML5的话,你可以Google,可以看书,甚至可以看规范。

    Jeremy Keith在 Fronteers 2010 上的主题演讲 html5设计原理

    Jeremy Keith在 Fronteers 2010 上的主题演讲 html5设计原理,ppt

    C++程序设计原理与实践

    本书《C++程序设计原理与实践》是由C++语言的创始人所著,旨在为编程初学者提供一本深入浅出、通俗易懂的编程学习资料。作者在书中突出C++编程的基本原则和思想,避免让初学者在学习过程中纠缠于复杂的编程细节,...

    apache架构设计原理剖析

    Apache架构设计原理剖析 Apache HTTP服务器是世界上最广泛使用的开源Web服务器之一,它的设计原则和实现方式对于理解Web架构和优化网站性能至关重要。本篇将深入探讨Apache架构的基础、设计原理,以及与RESTful架构...

    编译原理 HTML 版本

    《编译原理》是计算机科学领域的一门重要课程,它主要研究如何将高级程序设计语言转换为机器可执行代码的过程。这个HTML版本可能是对经典教材的电子化呈现,方便读者在线阅读和查阅。以下是编译原理的一些核心知识点...

    菜单设计原理与实现.pdf

    在实际项目中,"菜单设计实现.pdf"和"菜单设计原理.pdf"可能提供了更具体的案例分析、代码示例和最佳实践,帮助读者更深入地理解和应用菜单设计的理论知识。 总结来说,菜单设计不仅是UI设计的一部分,更是构建良好...

    有关多层薄膜的原理及设计

    标题中的“有关多层薄膜的原理及设计”指的是在信息技术领域中,特别是在微电子、光学、纳米科技等领域的核心概念——多层薄膜的科学基础及其工程应用。薄膜是指在固体表面或基底上沉积的一层或多层物质,其厚度通常...

    php模板引擎设计原理

    PHP模板引擎设计原理详解 PHP模板引擎是一种将业务逻辑与视图展示分离的技术,它使得开发者可以专注于编写后端逻辑,而设计师则可以专心于页面布局和样式设计,两者之间的工作更加协同。模板引擎通常通过解析特定...

    html的遮罩层原理

    HTML的遮罩层原理是网页设计中常用的一种技术,它用于在页面上创建一个半透明或全透明的覆盖层,通常用于弹出窗口、加载提示、模态对话框等交互元素,以突出显示特定信息或者阻止用户与背景内容进行交互。...

    .net网站换肤的设计原理

    ### .NET网站换肤设计原理详解 在网页设计与开发领域,网站换肤(或称为皮肤切换)是一项提升用户体验、增强网站个性化的重要功能。本文将深入探讨网站换肤的设计原理,特别是针对.NET平台下的实现方法,包括CSS...

    基于Java语言的Arthas诊断工具设计原理与源码解析

    该项目深入解析了基于Java语言的Arthas诊断工具的设计原理,并对其源码进行了详尽分析。项目包含共计463个文件,涵盖268个Java源文件、92个Markdown文档、44个PNG图片、14个XML文件、5个Shell脚本、4个JPG图片、3个...

Global site tag (gtag.js) - Google Analytics