• 小程序开发技术框架选型


    前言:

            目前我们开发小程序,如果在只考虑性能的情况下,最优的还是选择原生小程序,但是如果考虑多端一套代码的话,原生小程序就无法满足需求,目前还在持续更新并效果比较优秀的有 taro 与 uni-app 。

    介绍:

            自 2017-1-9 小程序诞生以来,历经多年的迭代升级,上线小程序现在非常多,成为继 Web、iOS、Android 之后,第四大主流开发技术

    框架选型:官方入口

    原生小程序优点:

           官方支持,性能开发最好

    原生小程序的不足之处:

    1. 原生开发对 Node、预编译器、webpack 支持不好,影响开发效率和工程构建流程
    2. 微信定义了一个不伦不类的语法,不如正经学 vue、react,学会了全端通用,而不是只为微信小程序
    3. vue/react 生态里有太多周边工具,可以提高开发效率,比如 ide、校验器、三方库。。。
    4. 微信那个 ide 和专业编辑器相比实在不好用

    框架方面:TaroUniapp 对比

    框架版本Issues(open)总提交
    Taro 3.4.x3.4.118258076
    Taro 3.5.x3.5.0-beta.28258310
    Uniapp 3.x3.0.0-alpha9559699

            taro 和 uniapp 均支持H5微信小程序支付宝小程序QQ 小程序百度小程序字节跳动小程序钉钉小程序京东小程序飞书小程序快手小程序AndroidiOS快应用,taro 额外支持鸿蒙 OS,uniapp 额外支持 360小程序

    Taro 3.5

    ​​​​​​​        相比上个版本 3.4,提升很明显,几乎提高了一半的性能,但目前处于公开测试期间,老项目升级的话有一定成本。Taro 3.5 构建时默认使用 terser,虽然它现在支持使用 esbuild,但打包esnext目标后体积增大 33% 左右,换成es2015es2016后,与esnext变化不大

    优点:开发和真机效果一样、Typescript 类型声明完善
    缺点:热更新无效(需要手动刷新)、Composition API 无效、beta 版本刚发布


    Uniapp 3.0 

            处于内部测试有很长一段时间了,相对来说,几乎各项数据都比 taro 要好,但仍然有需要考虑的地方,uniapp 从编译速度来看几乎可以说是无感知,但这并不是最终消耗的时间,如果是web端,可以做到实时更新,但小程序需要等微信开发者工具编译完成,这个时间也需要5 - 10秒。uniapp 使用 vite(rollup)打包后仅79kb,这意味着在2M的限制下使用 uniapp 进行开发,可以开发更多的功能,但是在项目不大的情况下,通过分包可以忽略这个特性

    优点:编译速度快,构建产物体积小
    缺点:开发和真机效果不一致(canvas 动态设置宽高,CSS样式)、频繁出现FSWatcher错误导致需要重新编译、Typescript 类型声明支持很差

    总结:

    Taro:react 基础的适合使用

    uni-app: vue基础适合使用

  • 相关阅读:
    Spring1
    一个简单的HTML网页——传统节日春节网页(HTML+CSS)
    【HarmonyOS】应用振动效果实现
    QT4 原生c++ 1.2 派生类、字符数组开辟空间与销毁
    设计模式——结构型模式(静态代理、JDK动态代理)
    【Jquery-06】jq获取元素的位置和jq的事件
    明道云在艾默生数字化实践的新进展
    基于SpringCloud的面试刷题系统,项目经验统统搞定
    【LittleXi】地址空间三题
    设计模式-状态模式-笔记
  • 原文地址:https://blog.csdn.net/weixin_44727080/article/details/126610730