微信小程序的核心JS是运行在浏览器中的
发表时间:2023-09-17 09:38:52
文章来源:炫佑科技
浏览次数:148
菏泽炫佑科技 菏泽炫佑小程序开发 菏泽炫佑app制作 炫佑科技
微信小程序的核心JS是运行在浏览器中的
这几天,小编阅读了很多微信小程序专家的博客,对微信小程序的技术方案有了更深入的了解,所以分享给大家。
微信小程序必须满足两个刚性需求:控制和体验。
控制权:对于一个可以发布“小应用”的平台,微信必须对其下发布的“小应用”实行绝对控制。
体验:作为一个微信小程序其体验需要接近原声。 普通的H5体验无法满足这个要求。 包括页面切换、启动速度、页面的整体体验,都是原生无法比拟的。
针对以上两个刚需,微信小程序是这样做的:
1、管理和控制方面:
1、DLS:如果想控制开发,*好的办法就是自己设计一个框架,让开发按照自己框架的规范来编码微信小程序开发方案,并使用这个DLS(为特定领域设计的计算机语言)即可更好地针对不同需求进行优化。
2、JS环境:写过小程序开发都知道,小程序中是不能调用DOM API的。 为什么? 这是因为小程序将js的运行环境与浏览器分离,运行在单独的js引擎上,与浏览器分离。 所有的DOM操作在你的JS中是无法操作的,而小程序的核心JS运行在浏览器中,这样做有什么好处和坏处?
益处:
1.避免开发进行DOM操作,因为开发上线后可能会使用不同的方式绕过检查,注入js文件,随意操作DOM接口修改界面和内容,变成一个与原来不同的较小版本审查期间小程序 小程序达到自己的目的。 这种现象和之前iOS的热更新原理是一样的。 APP上线后,通过js脚本修改界面样式和内容,或者调用官方私有API进行一些非法操作。 这种现象对于苹果、微信这样的超级平台来说是非常不尊重的,也对其安全构成了很大的威胁。 他们不会允许这种无法控制的事件在他们眼皮底下发生。 但热更新对于原生APP来说仍然是一个非常重要的需求。
2、JS和页面渲染并行执行,页面不会因为JS执行而卡顿微信小程序的核心JS是运行在浏览器中的,提高渲染性能。
伤害:
1、有过iOS和JS交互的同学应该知道大概的流程。 在iOS中执行JS,需要将JS代码转换为字符串。 因此,微信小程序中的js如果要传输为原声,需要转换为字符串。 实施。
2. iOS 上的原生 JS 引擎比框架优化得多(使用相同的 JS 引擎),但微信小程序上的 js 无法享受到这个优势。
2.关于经验:
1、因为微信小程序是原生下的寄生应用,通过接口,我们可以用js调用一些原生的组件和方法,创造一些H5无法完成的任务和体验。
2、退出微信小程序后,小程序可以在后台运行5分钟。 当用户再次打开时,不需要重新渲染小程序。
3.同时,得益于原生环境,可以预加载多个微信小程序,可以节省加载时间,提高用户体验。
这之间的权衡就是业务和技术之间的权衡。 当对用户体验影响不大时,技术权衡对业务至关重要。