您的位置:首页 > 其它

移动web框架究竟能够做什么?——与传统移动应用之比较

2012-11-19 15:39 274 查看
Web移动框架究竟能做什么,就拿sencha touch来说明:

ST是一个js+html5+css3的框架,所以,ST所能够做的也就是js+html5+css3能够做的,当然,框架能够提供很多很好的已经封装好了的类与方法,这些可以简化开发,这些就跟native程序的部分api类似。

从2个方面来考虑ST的应用:

1、与本地数据源的联络。

2、与其他网络上其他数据源的联络;

一、与本地数据源的联络:

可以通过phonegap与本地的部分硬件进行交互,比如Camera等硬件。通过phonegap可以把程序打包到本地,所有数据的请求在本地就可以完成,这样就可以部分的调用本地硬件(被支持的)做一些应用程序,这部分应用程序都是本地应用(与网络无交互)。当然,也可以使用强大的js配合html5做一些完全独立于网络的应用。

二、与网络数据源的联络:

虽然说html5提出了websocket协议,但是目前支持的服务器比较少,所以需要实时更新的应用程序暂时不考虑,但是在支持websocket的服务器上是能够实现的。

那么,与网络数据源的联系就只能是传统的“客户端请求+服务器端响应”模式了,而基于js的ajax请求跨域访问数据有非常大的限制的,即便是解决方法里面也需要其他服务器来配合,或者提供了接口,而这样的接口是现在的服务器所普遍没有的。那么,能够跟网络数据交互的话,就只能是自己的服务器了。也就是说,如果要开发一套移动应用,那么必须要同时开发一套出服务器端的服务,这样才能实现数据的更新。(当然,其他非web应用程序如果要有自己的数据支持,也都需要自己的服务器),但是相比较以前的浏览器网页,页面可以少很多很多,而且页面可以被打包到本地,除了部分需要更新的页面,其他的可以不需要通过网络请求。那么,服务器端需要提供的页面内容将会比较少,主要是提供数据服务,这样就跟其他native应用程序比较类似了:可以完全离线操作,但是如果要数据更新之类,就必须连接服务器。

另外,基于html5的本地存储新功能,可以本地存储一些数据,但是数据量有上限(浏览器支持的一般是5M-10M,如果只是存储文本文件,那么这些一般都够用吧)。

所以说,html5在3方面要弱于传统的native应用程序:

1、实时更新不被普遍支持;

2、无法任意调用其他网络资源(主要是浏览器限制js的调用,而通过jsonp调用,则需要被请求资源是json格式,或者被请求资源和本地js回调函数生成js脚本,而其native应用可以直接请求其他网络资源);

3、一个是调用本地硬件不如传统native应用程序方便。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: