使用REST而非SOAP,对于移动应用的最大好处是什么?
如果你曾经读过,或参与过真正的“RESTafarian”讨论的话,你很可能听说过表述性状态转移(REST)是web的架构这种说法,另外对此也有很多其它的说法。
REST是最适合基于浏览器的交互的,对此是没有争论可言的。浏览器和引擎在后面,用于融会他们所处理的内容中的链接的,同时也给各种可能反应类型提供一组处理程序。对浏览器编程语言占主导地位的是JavaScript,让我们面对它,并且在JavaScript中创建简单对象访问协议(SOAP)客户端,这是所有人都想做的事。我们甚至抛弃了使用可扩展标记语言(XML),转而投入JSON的怀抱中。
在谈及关于移动应用的问题时,我为什么要讨论web浏览器?我最先提出web浏览器的原因有两个。
首先,移动应用确实有两个主要模型:本地的和包装的移动web。本地应用的构建是完完全全使用语言、本地库和移动操作系统涉及到的工具包。例如iOS设备,它使用的是对象C及其库,以及苹果为iOS提供的工具包。表示逻辑是作为应用程序的一部分,安装在设备上的。
包装的移动web应用只使用包装web浏览器的本地组件,还给设备功能和浏览器之间提供了一个桥梁,作为交互时设备的照片库。大量的表示逻辑不随着应用程序的安装而安装,而是当应用程序运行时,通过网络下载。当使用这个样式时,我们回到了典型的web方法,使用JavaScript,而没有采用SOAP。
但是本地应用呢?为什么不能用SOAP?Android和iOS都有第三方库,使得调用SOAP Web服务更容易,但是在外部却没有本地支持给它。这并不奇怪,iOS作为对象C扎根于Mac桌面编程,而SOAP扎根于企业集成。但对于Android就有点不一样了,因为Java是应用开发的第一个支持语言。
这可以归结为是一种普遍性和简单性。首先,虽然在外部本地平台不支持SOAP,但他们却支持HTTP和XML,所惟普遍性是存在的。在事情的简单性方面,XML确实比SOAP好,在包装的移动web应用情况下,JavaScript比XML好。
尽管REST并不只涉及到JSON和XML,也涉及到所有浏览器和平台本地可以处理的媒体类型。如果我可以回到一个字节流,并使它关闭浏览器功能或本机表示组件,而不是通过类似于SOAP的信封来传输,事情并不简单,但是他们也不会是处理器密集型的,这意味给终端用户一个着更好的电池寿命。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
为什么2017年是软件开发改革的一年
云和移动应用开发正在经历严峻的变化。你可以感谢——或者责备,那些帮助普通公民完成应用开发的工具。接下来有什么趋势?
-
Alpha DevCon公告:移动应用开发向JSON数据格式迁移
JSON数据格式似乎统治了移动应用开发领域,企业和开发者认为用JSON格式处理数据可以帮助他们赢得更多利益。
-
HTML5如何融入企业实践中?
移动应用已经越来越成为企业的主流应用,而移动化办公也在逐渐走向成熟。谈到移动开发,你一定会想到HTML5技术。事实上,随着HTML5技术的逐渐成熟,它已经在企业与开发人员之前流行开来。那么,究竟如何让HTML5融入企业实践中呢?
-
移动云应用:开发与管理
云计算与移动性这两大技术的交叉必然是炙热异常的,而这也是应用程序开发人员和规划人员所面临的一大挑战。