12306的app可以绕过appstore直接更新?这个“更新”真的是更新吗?
答案很简单:12306是一个webapp 内部功能都是通过web来实现的 更新其实是在下载html 样式 js 等等一些资源 下好了之后 webview 重新加载即可。
和手机游戏的热更新类似,app实现一个类似网页浏览器的功能,这个“浏览器”加载一个用脚本语言实现的网页或窗口。 只要下载数据或者程序脚本把旧的数据或程序脚本替换了就实现了绕过苹果更新程序的机制
12306客户端的功能是通过iOS原生加载HTML实现的,其更新只不过是更新数据(一个软件包括两部分:程序与数据),在这里,其HTML部分也属数据,所以可以实现应用内更新。本质上它的程序并没有更新。
另外,其实现在很多应用都有这样一部分,例如支付宝,支付宝里面的一部分功能(例如机票)就是实用这样的方案。
另外,其实现在很多应用都有这样一部分,例如支付宝,支付宝里面的一部分功能(例如机票)就是实用这样的方案。
这种app说的专业一点就是 hybrid app,Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。
具体可以看看 http://baike.baidu.com/link?url=639fNSPgDq6hIiDHQYRSAJ_K6ZScitwuxhTceJ4etbVMfit5JQF27IJHiJXQrcuC0P2PrcphuX_bv_5l0uPZ5_
总结:Apple不允许不经过App Store更新应用;在App Store上的更新apple自动做了增量计算,增量更新;12306不是更新应用,而是更新应用本地的资源文件。