Skip to content
On this page

小程序入门

缘起

我于2022年8月份开始负责一款校园课表查询小程序的线上维护。在这个过程中,我不仅进行了新功能的开发和旧功能的维护,还遇到并解决了许多bug。为了分享我的经验和心得,我将这些问题和总结整理成了这篇专栏,希望能给正在学习小程序的朋友们提供一些参考和启发。

小程序发展

小程序的价值

小程序带来的最大的价值就是它的产品价值, 例如它帮助微信这种超级app构筑了更加完整的生态, 扩充了更多的业务场景

无论什么技术都是为业务服务的, 技术不存在优劣, 只存在是否合适

小程序的特点

  • 数量众多(超过app的数量)
  • 应用场景广泛

小程序生态

  • 围绕大厂app的核心业务开发

小程序与传统Web技术的区别:

  • 有固定的语法和统一的版本管理
  • 平台能够控制各个入口, 如二维码/文章内嵌/端内分享
  • 基于特殊架构, 流畅度更好

小程序三大价值

  • 渠道价值: 依托于超级平台, 小程序能够充分为很多场景导流
  • 业务探索价值: 相比于原生app, 开发成本低
  • 数字升级价值:线下到线上, 轻度消费到大宗消费, 小程序都展现了良好的容错空间

小程序原理

第三方开发应用最简单方便的方式---WebView+JSBridge

问题

  • 无网络的情况下体验不佳
  • 网页切换体验不佳
  • 管控安全无法保证

针对于这三大问题, 微信小程序具有如下三个特点

  • 开发门槛低
    • HTML+CSS+JS
  • 接近原生的使用体验
    • 资源加载+渲染+页面切换(每次切换之前保留原先的页面结构)
  • 能够保证安全可控
    • 独立的JSCore

问题1: 不操作DOM如何渲染页面, 这个问题许多框架都有, 例如React

解决思路为: 只关心数据流, 而不需要操作具体的DOM, 就可以根据数据渲染页面

问题2: 浏览器中, JS操作频繁时我们动画会卡顿, 因为它们是在同一个进程中的

解决思路为: 利用小程序的特殊结构将js和渲染分离, 这样的通信结构, 决定了小程序的性能问题在数据传递

上次更新于: