小程序技术全解 | 青训营笔记

76 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第12天

业务价值

小程序与web的区别

  • 固定的语法以及版本管理,利于平台审核
  • 平台的各个入口使用户体验更好
  • 跳转的流畅度更好

三大价值

  1. 渠道价值:各大平台的流量占比加大
  2. 业务探索价值:成本小和开发难度降低
  3. 数字升级价值: 线下场景小程序覆盖广

技术分析

  • 现在我们想开发一个APP,想让外部开发者在平台上开发这个第三方应用,这里想到使用WebView(类似于APP内置浏览器,可在App内部展示网页) + JSBridge (实际需求中,我们还希望在App内部打开相机、地图等,这时候就需要用到JSBridge,他作为JS和本地代码的桥梁让两者之间相互调用)

  • 但是这种方式有缺陷 —— 资源离线化就会出现各种各样的问题,比如安全性由于会接入大量链接,如果单靠人工审核根本无法实现

  • 当我们提供解决方案时,首先要实现如下目标:

  1. 开发门槛低 (HTML +JS +CSS)
  2. 接近原生的使用体验 (资源加载:资源离线化 + 渲染:关系数据流渲染界面 + 页面切换:每次切换页面保留之前的页面)
  3. 能够保证安全可控

image.png

优秀的解决了在浏览器中,当js操作频繁的时候动画卡顿,这时因为它们在同一个进程中,而微信的这种结构将js和渲染分离完美规避掉这个问题,也因此性能问题只会出现在数据传输中

image.png

这里与原生的写网页方法及其类似,同时又和用框架写数据和相关函数的方法有结合