文章插图
代码包体积测试条件:helloworld项目,二个tab,未添加任何第三方库和图片等资源,未进行压缩
Uniapp
开发版:总包175KB,文件数14
文章插图
构建发包版:总包61kb 文件数14
文章插图
Taro
开发版:总包1.32M,文件数32
文章插图
构建发包版:总包249kb 文件数20
文章插图
条件编译要实现跨端说不写兼容代码是不太可能的,所以条件编译是必须得有的,双方都支持条件编译,通过书写不同的代码去解决不同端的兼容问题
Uniapp: 借鉴C 语言中的 #ifdef、#ifndef 的方式,uniapp提供了条件编译手段,在一个工程中可以优雅的完成平台个性需求和兼容处理,再加上强大的IDE代码提示,写条件编译很高效,条件编译代码就是普通的代码注释,哪里需要包哪里,有时可以细做到一个注释实现单个key值的条件编译,我基于此的启发,还写了个ifplus的条件编译loader:https://www.npmjs.com/package/ifplus-loader 。
js的条件编译:
文章插图
css的条件编译:
文章插图
html的条件编译:
文章插图
json配置文件的条件编译:
文章插图
再来看一下条件编译舒适的书写方式
文章插图
还有文件和目录的条件编译,可以说是基本全考虑到了,官方介绍文挡:https://uniapp.dcloud.net.cn/tutorial/platform.html
Taro从文挡介绍看你得通过环境变量判断当前是属于哪一个平台,再做if else取舍,还有文件条件编译就是带不同平台的后辍去做 。
文章插图
文章插图
官方介绍页面:https://taro-docs.jd.com/docs/envs
多端支持Uniapp:基本支持世面上主流的小程序平台,同时官方都有提供自己的各端案例,还多支持360小程序 。
文章插图
官方的第三方案例展示:https://uniapp.dcloud.net.cn/case.html
Taro:从官方文挡上看基本上支持市面上主流的小程序平台,但是并没有发现官方提供自己的案例演示,有点不太理解,官方是怎么验证可以跨这么多端的,从备注的其它案例来看基本是清一色的小程序项目,当然Taro支持鸿蒙应用开发
文章插图
官方的第三方案例展示:https://taro-docs.jd.com/showcase
文挡学习一门框架,第一入手资料就是官方文挡,双方文挡都算不错,跟着文挡都能开始入门开发项目,但是Uniapp的文挡更全、目录划分的更好,Taro文挡组件篇竟然没有附带一个demo或者示范图片,你完全看不出它长啥样,虽不是什么大问题,但是总感觉有点点小失落......
Uniapp官方文挡:
uni-app官网 (dcloud.net.cn)
Taro官方文挡:
Taro 介绍 | Taro 文档 (jd.com)
生态Uniapp:插件市场(https://ext.dcloud.net.cn/)
经验总结扩展阅读
- or、and表达式
- 谣言检测《Rumor Detection with Self-supervised Learning on Texts and Social Graph》
- Android 跨进程渲染
- Java线程未捕获异常处理 UncaughtExceptionHandler
- Android10 dex2oat实践
- [Android开发学iOS系列] Auto Layout
- 20 基于SqlSugar的开发框架循序渐进介绍-- 在基于UniApp+Vue的移动端实现多条件查询的处理
- 从 Wepy 到 UniApp 变形记
- 数据科学学习手札146 geopandas中拓扑非法问题的发现、诊断与修复
- 小米手环6参数_小米手环6详细参数配置