正文
微信小程序在功能和性能上都要求高优先级支持;
c. 高性能需求:
由于用户群体主要以微信小程序为主要使用场景,所以无法支持小程序的多端框架如React Native,Flutter等无法选用,而既支持小程序又支持移动端的技术框架,目前市面比较流行的是taro和uni-app,但存在如下顾虑:
-
使用该类框架后,功能更新完全依赖于框架,微信小程序里有的功能可能无法支持;
-
使用该类框架后,代码经过二次转换,性能可能不如原生WXML,而且会带入转换逻辑额外引入的代码和性能忧虑;
-
该类框架一般都会自定义DSL,有一定的学习成本,文档是否健全,社区支持是否完善将直接影响配置和自定义功能的效率;
-
该类框架优势多在跨多端小程序,实际上线APP的案例并不多,大坑小坑无法避免,例如uniapp的nvue原生开发有局限性,特别是样式方面限制比较严重;
-
跨多端应用开发的全生命周期集成和管理能力是否强大,包括开发,测试,构建,发布,运维,法律法规提示与解读,token管理等;
而Donut是腾讯官方推出的和小程序同源容器,在功能和性能上比这类衍生框架更优秀,在App上底层基于Flutter,接近原生渲染性能;Donut以小程序DSL作为开发语言,可以无缝切换,也没有二次转换的成本,会开发小程序就会写Donut APP。在研发工具、测试工具、部署工具、运维工具上腾讯做了全方位集成,小型团队可能遇到的问题几乎全部涵盖。官方文档一步一截图,阅读体验良好,总结如下:
a. 功能覆盖率较高
常用需要适配API(8个)
,根据使用情况进行选择支持,Donut官方提供了非常多的功能API,从功能支持度、易用性和架构上App小程序同构上也可以看出官方的大力投入。
序号
|
功能名称
|
适配方案概述
|
1
|
•小程序登录(wx.login)
|
•可使用小程序登录(wx.getMiniProgramCode)代替
•或使用微信登录(wx.miniapp.login)代替
|
|
|
•可使用一键获取本地号码(phoneOneClickLogin)代替
|
|
|
•可微信支付(wx.miniapp.requestPayment)代替
|
|
|
•可微信分享(wx.miniapp.shareXXXX)代替
|
|
|
•框架层提供原生的隐私政策弹窗,内容由开发者自定义实现
|
|
|
•创建腾讯位置服务的 Key 即可使用原来的 jsapi
|
|
|
•创建腾讯云消息推送的 Key + 使用新的 jsapi
|
|
|
•创建腾讯优量汇广告媒体 ID/ 广告位 ID + 使用原来的 jsapi
|
组件部分
:视图组建,表单,导航,媒体,地图,画布,开发能力,原生组建都能较好支持;
API部分支持情况
:总共大概507个API;支持371个,大概占73%,部分支持或者不支持的部分官方提供一些其他的替代方案;(2024-03统计)
SDK部分
:基础SDK和扩展SDK支持较好;这部分是Native功能,根据需要进行勾选,不选就不会打入包中,按需打包降低包size;
NativePlugin
:支持Native自定义扩展,该部分都是一次性工作,除非有强烈的自定义需求,一般都用不上;
云支持
:云开发云托管,Donut网关防护;
埋点监控
:热力图,回放功能支持完善,支持全埋点;
Donut 平台覆盖开发、部署、产品体验分析全产品开发周期的各种需求,研发工具、测试工具、部署工具、运维工具上腾讯做了全方位集成,基础设施比较完善,贯穿产研全流程支持,可大幅提升研发效率,特别对于没有移动端研发经验的团队具有引导和指导的作用。
-
多端框架-支持使用小程序原生语法进行一次代码编写,多端编译,实现多端开发。
-
多端身份管理-几行代码,快速实现 App、小程序的身份认证和用户管理。
-
安全网关-提供弱网加速、防爬防刷、流量治理等能力,全方位保障业务安全高效稳定运行。
-
产品体验分析-从真实的用户视角洞察产品问题,寻找产品体验的不足之处,提升用户留存与转化,具有如下功能:
-
零代码、全埋点
无需开发,一键接入,元素自动全埋点,快速开始小程序数据分析。
-
还原用户操作现场
创新可视化日志 & 热力图,还原用户实际操作现场,问题分析一目了然。
-
可视化交互分析
全程无需 SQL 编写,仅需在模拟器上点选交互即可完成分析过程。
-
一键智能分析
无需数据分析背景,根据业务目标智能分析,查找用户漏点,提升转化率。