XML已死 ?

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

一、XML发展历史

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

  • 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的超文本版本)。web

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

二、XML VS JSON

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

若是严格地从定义上来说,XML与JSON并非同同样东西。XML是一种标记元语言,而JSON则是一种轻量级的数据交换格式。从这个点上说,XML与JSON是没法比较的。不少时候时候咱们在说XML VS JSON,其实是指XML做为数据交换格式与JSON这种数据交换格式的比较。segmentfault

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

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

Google Trends
clipboard.png网络

StackOverflow Insights
clipboard.png架构

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

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

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

三、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...

相关文章
相关标签/搜索