楼主本人是一枚iOS程序媛团队内蔀分享本人选题是小程序研究,所以以一个iOS开发的视角记录一下探究历程如果有误,欢迎大佬们评论区指正
首先附上小程序项目官方搭建步骤:
搭建项目时所用的账号可以自己申请一个,使用未开通过其他公号服务的邮箱就能申请了一个个人账号目前只能开发一款小程序,开发设置里配置域名(域名必须要用创建项目时所用的APPID账号下的域名也就是说如果你想玩一下某个demo,必须要把demo里请求的域名添加進你自己的账号域名设置里)
iOS :苹果规定从2017年1月起App内的网络链接强制使用HTTPS协议的iOS 可以设置网络请求数的。通过参数maxConcurrentOperationCount 来设置请求数但是吔不是任意设置的,在2G网络一次只能维持1个链接3G是2个,在WiFi和4G网络环境下是不限链接数的这里说明下并不是并发链接数越多越好,越多占用带宽越高请求时间反而会延迟。
这里数据回调处理比较类似(小程序有点类似block)
2.本地持久化存储/数据层
数据:看官方的API目前只支持”key-data”的简单键值存储以及set/get/remove/clear数据操作,还不支持数据库
文件:在文件存储方面,小程序是默认都是临时路径本次程序运行期间可以正常讀取,退出程序后就删除所以如果要持久存储,需要再调用wx.saveFile放到本地存储下次打开程序还能正常访问到。
iOS:为每一个App创建一个沙盒沙河有3个文件夹Document/Library/tmp,根据这个文件夹的命名大概就可以猜出它们不同用途iOS 这边存储方案就种类繁多,品种丰富Core Data、SQLite、NSUserDefaul、keychain、plist、archive根据自己的需求选取数据存储方案。这里只是简单说明一下iOS 持久化存储其实它是非常庞大的一个点,iOS是一个小型的操作系统存储和文件操作是有一套完整的方案。
看到上面对比发现两者还是很相似的,这样对比看还是有助我们了解小程序简单看生命周期函数,是不是很眼熟大概都是与iOS一一对应的…..
举个例子:在App 中应用广泛的UITableView在小程序中是怎么实现的
小程序提供了很多UI组件,基本可以满足大部分界面需求这些組件基本都能在iOS中找到相对应的。在小程序中这些组件是有一些共同属性同时每个组件又有自己一些独有的属性。跟在iOS 中很多UI控件都继承同一个大类UIView是一样的道理的