资讯专栏INFORMATION COLUMN

XML已死 ?

ls0609 / 2690人阅读

摘要:年,考虑到当时的缺陷,作为简化与优化的雏形已经形成,并向提案年月,发布,正式成为的标准。虽然生而是为解决的一些弊病,并取而代之。但事与愿违,众所周知并没有取代成为新的超文本标记语言。

近十几年来唱衰XML的声音一直不曾间断过,作为曾经风靡一时的可扩展标记语言,似乎真的江河日下了。近期在跨部门合作过程中,有幸得以接触到以XML作为通用配置的大型工程项目,然而在开发过程中逐渐感受到这种面向xml配置的编程方式使得简单的问题变得复杂。同时,这种自定义的高度可配置化的方式对于项目管理又特别清晰高效。于是对关于如何正确看待XML这个问题陷入了思考….
1、XML发展历史

首先来简单回顾下XML几个重要发展节点:

1978 年,ANSI 将 IBM二十世纪60年代发展起来的GML(Generalized Markup Language)标准化后,发布成为 SGML(The Standard Generalized Markup Language),这成为XML的前身。

1986年,SGML作为一种通用标记语言,为国际标准化组织ISO所采用,但由于SGML定义过于复杂,无法普及。

1995年,考虑到当时HTML的缺陷,作为简化与优化的XML雏形已经形成,并向W3C提案

1998年2月,XML1.0发布,正式成为W3C的标准。

虽然XML生而是为解决HTML的一些弊病,并取而代之。但事与愿违,众所周知XML并没有取代HTML成为新的超文本标记语言。
不过这丝毫不妨碍XML不断发展演化并被广泛用作跨平台数据交换的格式:主要针对数据的内容,通过不同的格式化描述手段(XSLT,CSS等)可以完成最终的形式表达(生成对应的HTML,PDF或者其他的文件格式)。

:HTML也是基于SGML,准确来说HTML是SGML的一个应用(基于SGML的超文本版本)。

没错,JSON是一种优秀的数据交换格式,但是它仅仅是一种数据交换格式(与XML对比)。

2、XML VS JSON

很多开发者唱衰XML也并不是空穴来风,在WEB技术如此炙热的年代,JSON似乎已经成为了一种事实上的WEB交换数据格式标准。

如果严格地从定义上来讲,XML与JSON并不是同一样东西。XML是一种标记元语言,而JSON则是一种轻量级的数据交换格式。从这个点上说,XML与JSON是无法比较的。很多时候时候我们在说XML VS JSON,实际上是指XML作为数据交换格式与JSON这种数据交换格式的比较。

虽然JSON是作为JavsScript的一个子集诞生的,但是它独立于语言。JSON得益于其本身的小巧、简单以及浏览器内建快速解析支持的特性,使得其更适用于网络数据传输领域,在web2.0时代更是一路高歌猛进。

下面是Google Trends和StackOverflow Insights上的数据:

Google Trends:

StackOverflow Insights:

可以看出,在2013年左右JSON热度逐渐超过XML。

尽管,JSON在语义表达、数据存储以及检索方面远不及XML,但就是因为其简单、轻量使得其大肆流行于市场。

:从这个点上的启发是简单好用比全面更容易普及。比如当年的OSI七层网络协议与TCP/IP四层协议之争,同样的道理:简单是流行的前提。

3、XML真的死了吗?

看着如此趋势,不免会心生疑问:XML真的死了吗?
答案当然是否定的。
这其实是一种认知偏见,见得少不代表事实上不多。比如segmentfault上大都是偏前端类的技术文章,这说明难道后端技术都消失了嘛?明显不是。

曲线只能说明某种场景下未来的一种趋势,比如在web领域的确xml是不如json使用的广泛。但是在面向SOA架构的企业级软件应用中,XML仍是信息交换的事实标准。XML作为一个可以自定义标签的元标记语言,在描述复杂的业务逻辑时尤其特别适用。
并且, 在当今的出版业中,整个文档处理工作流程都要使用XML。它也是标准的Office文件格式,例如Word、Excel、PowerPoint或Google Docs等。

故,XML并没有死,只是某些领域应用减少,但是其他领域特别是企业级仍然有很多应用。

References

https://www.quora.com/Is-XML-...
https://zh.wikipedia.org/zh-h...
https://www.itcodemonkey.com/...
http://www.cftea.com/c/444.asp
http://siddim.com/archives/47...
https://zh.wikipedia.org/zh-h...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110406.html

相关文章

  • 春阳:SaaS已死,下一个

    摘要:中国的是一个阴谋让我们首先回到的初衷。春阳曾经分享过的藏宝图报告里有过一个关于家厂商毛利水平的统计,如下图所示,其中位数是。每一年,都会有人问我,春阳,你觉得SaaS行业到时候了吗?每一年,都会有媒体发文,SaaS已来,未来可期....是的,每一年...行业的媒体人喜欢给SaaS灌鸡汤是没有毛病的,本身这就是个留不住人才、熬不出日子的行业,如果我们再看衰它,媒体本身也是活不下去了…对这个问题...

    rainyang 评论0 收藏0
  • 传统 Ajax 已死,Fetch 永生

    摘要:结果证明,对于以上浏览器,在生产环境使用是可行的。后面可以跟对象,表示等待才会继续向下执行,如果被或抛出异常则会被外面的捕获。,,都是现在和未来解决异步的标准做法,可以完美搭配使用。这也是使用标准一大好处。只允许外部传入成功或失败后的回调。 showImg(https://cloud.githubusercontent.com/assets/948896/10188666/bc9a53...

    fai1017 评论0 收藏0

发表评论

0条评论

ls0609

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<