iOS 5.1的Web存储方式改变会影响到Web App吗?

移动开发 iOS
iOS上很多采用Web存储API来实现持久性数据存储的App,都在近期iOS升级到5.1版本后,受到了的严重影响。受到影响的App多用PhoneGap或者其他采用WebKitAPI来实现数据存储的开发工具开发。

比如,这一款App看起来正受着影响:

其他的开发者表示:

“我收集的统计数据表明,用户经常因为App每次打开之后,之前的设置常常被删除,而抛弃一款App。这其实是一个相当致命的错误,应该被马上纠正。而且不要忘了,开发者纠正以后,到Apple允许新版本上架,还有段时间要等。”

准确地说,WebKit被用于存储本地数据文件到Library/Webkit中。Library/Webkit这个存储目录在过去被操作系统看做是***的,并且备份于iCloud中。而iOS5.1中,数据被存储于Library/Caches中,这意味着这都被当成了临时数据,并有可能被删除。W3C的候选意见,对localStorage给出的评价是(原文点击这里):

“用户代理应该将本地存储中的数据分散开,这是基于安全性的考虑,或者在用户需要他们这么做时他们应该如此。”

一个嵌入式浏览器和传统Web浏览器并不完全一样。如果你在Webkit中用SQLite,那这将不包含在W3CHTML***PI中,因为这些API已不再提供WebSQL。

这个问题的复杂性在于,还会存在一个Bug(详情点击这里),它导致升级App至新版本之后数据的丢失。还有其他问题存在于目前的WebApp,以及应用了嵌入式UIWebView的App中。

PhoneGap在这个问题上是有一定弹性的。因为它可以调用本地API,这将在可能出现问题时继续工作。不过不好的情况是,代码会因此更针对特定平台,而破坏其跨平台性。

从Apple开发者论坛上在iOS5.1的beta版发布期间的讨论,可以看出Apple已经意识到这个问题,但正式版发布时仍没得到解决。这给我们的感觉是,Apple似乎恼怒于众多的App(无论Web还是本地)运用Web存储来加速,而不是仅用来存储用户创建的内容。Apple觉得,这是在给iOS设备上本来就捉襟见肘的存储空间施加更大压力。

想扩大一部iPad或者iPhone的存储空间,除了花更多的钱再买一部,我们都知道别无他法。

这的确是个问题。不过你不能否认的是,Apple认为PhoneGap一类的开发工具,或者体验接近本地App的WebApp,这对于Apple而言某种程度绕过了它的商业开发体系,而它绝对不鼓励这么做。Apple更喜欢的还是完全采用iOSSDK开发的App。

Apple从真正意义上的本地App受益,这导致了Apple平台常显出一定程度的排他性。而且App只能从AppStore上获得,同时Apple从中抽取一定比例费用。

官方的iOS数据存储指南可以点击这里获得。

文章发表于2012年4月1日。

原文作者TimAnderson,著名IT自由记者。

原文链接:

http://www.itwriting.com/blog/5656-apple-breaks-web-storage-in-ios-5-1-does-not-care-about-web-apps.html?utm_source=html5weekly&utm_medium=email

责任编辑:佚名 来源: Web App Trend
相关推荐

2011-08-10 13:32:24

Web

2012-04-11 09:46:40

Web App

2022-03-01 14:07:31

人工智能

2009-07-14 14:08:35

Tapestry 5.web.xml的配置

2013-05-22 10:00:30

iOSWeb Appicon

2009-12-03 09:45:20

Visual Web

2023-11-15 11:28:00

2013-04-10 15:14:18

Web App开发WebApp

2022-06-30 08:48:20

Web软件行业区块链

2020-05-09 14:58:35

Intel PAUSMySQL性能

2013-04-08 11:38:46

Windows 8Windows 7

2021-03-30 16:21:27

Web前端技术

2010-12-31 10:43:34

Outlook Web

2013-11-01 10:23:37

Web程序

2023-06-06 16:27:06

人工智能Web 3.0

2015-06-17 10:28:10

WebAPP开发技巧

2015-06-04 10:44:59

WebAPP开发技巧

2012-02-28 15:39:48

2020-03-27 12:00:14

GitHub开源移动应用

2019-02-21 15:01:45

PythonWeb部署
点赞
收藏

51CTO技术栈公众号