微信小程序必须要符合两个刚需:管控 & 体验
针对于以上两个刚需,微信小程序是这样做的:
管控
管控:对于一个可以发布“小应用”的平台,微信必须对其下发布的“小应用”用着绝对的管控能力。
1.DLS:想要对开发者进行管控,最好的方法就是自己设计一套框架,让开发者按照自己框架的规范进行编码,利用这套DLS(针对某一特定的领域设计的计算机语言)可以更好的针对不同的需求去优化。
2.JS环境:写过小程序的开发者都了解,小程序中是无法调用任何DOM API的,为什么呢?是因为小程序实现了js的运行环境与浏览器分离,运行在单独的js引擎上,脱离了浏览器,一切DOM操作在你的JS中是无法操作的,而小程序的核心JS是运行在浏览器中的,这样做的好处和坏处是什么呢?
好处:
1.避免开发者进行DOM操作,因为开发者可能会通过不同的方式进行上线后,绕过检查,注入js文件,自由操作DOM接口去修改的界面和内容,变成和审核时候不一样的小程序来达到自己的目的,这中现象和之前iOS的热更新原理是一样的,在APP上线后,通过js脚本,去修改界面的样式,内容,或者调用官方私有API来做一些非法的操作,这种现象对于苹果,微信这种超级平台是很不敬的,同时对其安全也是有很大威胁的,它不会允许这种不可控的事件在自己的眼皮底下发生。但是热更新对于原生APP来说还是一个非常重要的需求。
2.js和页面渲染并行执行,不会出现由于js执行而卡住页面的现象,提高渲染的性能。
坏处ÿ