在一个通用技术,即可完成IOS和安卓APP开发理念的支撑下,微信推出了小程序,这是一套相对封闭的技术体系。让开发者能在微信中开发出接近原生体验的APP,只需要一次开发就能在IOS和安卓运行。下图将说明公众平台小程序是怎么实现的。
小程序的技术解析
微信小程序为开发者提供了一系列工具方便开发者,编程、调试、上传,从开发来分析:
编程语言:用于开发小程序的语言是微信定制的编程语言,这个语言和前端开发从业人员掌握的js、css、html、json并没有太大区别,甚至微信定制的编程语言更加规范和清晰。
小程序存放机制:上传到微信服务端的小程序工程包估计会在服务端进行一次预编译,转换成可以在微信客户端运行的语言,打成一个运行包。估计预编译出的运行语言应该尽可能的兼容了HTML5标准,如果小程序没有调用微信私有的组件和API,那么小程序理论上在浏览器上也是可以打开的。如果小程序调用了微信私有组件和API,那在微信以外的环境访问估计就会显示不支持了。每个微信小程序都有一个类似666.appservice.open.weixin.qq.com格式的URL地址,通过这个URL地址(加参数)应该就能访问到小程序。每个小程序应该也都有一个微信服务端(微信开放平台)的微容器对小程序可以使用的云端资源进行监控和管理。
小程序下载机制:用户首次使用小程序时,微信客户端会从服务端下载小程序运营行包,下载的过程成会很快,用户不需要等待很长时间。因为开发者上传的小程序体积是受限制的,必须在1MB以内。
系统对接机制:小程序可以通过x.request接口发起https请求实现对接原有系统。如果原有系统不支持https协议,就需要对原系统服务器重新配置支持。
数据机制:传输的数据是不经过微信服务端中转的,开发者不用十分担心太多数据被微信拿到,微信只是起到通信协议中进行几次握手建立连接的作用。而开发者能从微信中获得更多的数据,比如用户信息、位置、传播关系链等。
审核机制:如果每次开发者更新小程序,微信都要审核的话,微信运营成本会很大,因此很有可能会将这部分成本转嫁给开发者,估计小程序的开发者帐号和iOS的开发者帐号一样,都是要收费。