Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >马上2023年了,你为什么要关注Donut

马上2023年了,你为什么要关注Donut

原创
作者头像
HowHardCanItBe
发布于 2022-12-30 07:52:14
发布于 2022-12-30 07:52:14
1.2K0
举报
文章被收录于专栏:从Android到Flutter从Android到Flutter

前言

还剩下几天,跌宕起伏的2022年就要过去了。这一年疫情下的起起落落,习惯了居家办公隔离,习惯了日常核酸检测,习惯了到处扫码进门,而最近可能大部分同学又经历过🐑了的日子。

年关将近,也可能有一部分同学也遇到了突如其来的“毕业”。这是一个困难的时刻,但是冬天总会过去,春天终究会到来。正如老话讲的,“留的青山在,不怕没柴烧”。我们能做的唯有不断提升自己。你就是你自己的“青山”。要努力学习新的技术来让自己的“青山”变得更加高大强壮。

说到新东西,在这个新旧交替的时刻,来关注一下新鲜出炉的甜甜圈(Donut)吧。

(本篇不会具体介绍如何安装配置开发环境,也不会搬运API流水账,这些东西大家直接去看文档就行了。)

什么是 Donut

Donut是腾讯最近悄悄推出的一个前端开发“平台”。注意是“平台”而不是“框架“。这两个词的差别足以看出Donut的野心不小。打开Donut官方文档。其简介就是一句话:

Donut 平台覆盖开发、部署、产品体验分析全产品开发周期的各种需求。开发者可以专注于代码逻辑,其他的都交给我们。

喏,你只管码代码,剩下的都不用管了。还有这种好事?那我们就顺着文档再看看Donut具体能干个啥。

Donut 特色能力

多端框架

Donut 多端框架是支持使用小程序原生语法开发移动应用的框架,开发者可以一次编码,分别编译为小程序和 Android 以及 iOS 应用,实现多端开发;能帮助企业有效降低多端应开发的技术门槛和研发成本,以及提升开发效率和开发体验。 了解更多

第一个能力就是多端框架。你看,这里出现框架了,果然框架只是Donut这个平台的一部分。从上面的介绍我们能看出这个多端框架可以把原来只能在微信中运行的小程序扩展到自家的Android和iOS应用,这不就是跨平台么。虽然市面上已经有一些跨平台解决方案了,专注于小程序容器的有mPaas, FinClip, uniSDK等。自成体系的如Flutter等。但这可是微信自家的小程序容器啊。微信啊,还要啥自行车?

1.79f2646f.png
1.79f2646f.png

你可以把现有小程序直接转化为一个完整app,也可以在已有app里把小程序给嵌进去当个模块来用。本已臃肿的app就要变得更加臃肿了。

身份管理

当小程序通过多端框架构建成可运行的移动应用时,如APP、H5网页等,需要搭建新的用户注册、登录、管理体系。身份管理在多端场景中,提供便捷易用的SaaS组件,可快速完成搭建。 了解更多

提供一套身份管理体系,用户名/密码登录或者手机验证码登录可以直接用。还支持微信等第三方登录。这个东西有没有用就看自家产品的需求了。如果是想快速开发一个小的app的话,我觉得可以用一下,省去了很多注册登录相关的工作。

安全网关

「安全网关」是小程序开发团队推出的面向APP、微信/企业微信小程序、公众号H5/web的安全接入网关,提供微信私有链路、流量治理、弱网加速等能力,全方位保障业务安全高效稳定运行。 了解更多

网关也给你提供了。不用去考虑弱网加速,反爬虫反刷,反抓包。容灾备份啥的也都给你考虑到了,真是很贴心啊。但还是那句话,有没有用就看自家产品的需求了。已经自有成熟的app就可能用不到了。

DIwXQ1199C3yClLZ6osuzVI3FsSJ1NHIKLCtap_mf4qHXsFTDySp51BGFcpotjRF4fBd3-0gHY-YtgmNUa1-XQ.png
DIwXQ1199C3yClLZ6osuzVI3FsSJ1NHIKLCtap_mf4qHXsFTDySp51BGFcpotjRF4fBd3-0gHY-YtgmNUa1-XQ.png

产品体验分析

体验分析是面向小程序、网页等应用的用户体验分析工具。可以从用户视角对于应用中的交互行为进行数据采集并还原分析。 了解更多

这个就是各种常规的用户体验分析工具了。支持会话回放,热力图,路径分析,漏斗分析等等,这可能是产品经理的最爱。对于程序员来讲最大的好处是零代码埋点。不用在各个平台的app里各种插埋点代码了。回放还可以还原用户操作流程。再也不能以无法复现作为理由啦。

ReyPuPN7ayInF2vOpGTCKG3GNEytniYy1DciYDid79NJJL2XOOd2CxqZCTXcErXMzhQJoLK6NfG10BhogeDxiA.png
ReyPuPN7ayInF2vOpGTCKG3GNEytniYy1DciYDid79NJJL2XOOd2CxqZCTXcErXMzhQJoLK6NfG10BhogeDxiA.png

你为什么要关注Donut

介绍完Donut,那我们就来看看为啥要关注这个新平台。

首先,新

就是因为这是个**新**平台。早点了解新的东西总会让我们快人一步。虽然市面上已经有了那些个跨平台解决方案,各有优缺点。但是并没有哪个方案已经占据了绝对优势,所以我们还需要继续探索了解新的方案。

其次,Donut是微信的

也就是它背靠是微信生态。虽然各家都有小程序,也相互之间不是那么兼容,但不可否认,微信家的小程序优势是比较大的,为啥?因为微信生态的社交网络啊。不要小瞧社交网络,基于微信生态可是诞生了拼多多这样的大厂呢,羊了个羊也都玩过吧,可见其影响力是其他小程序平台无法比拟的。而Donut是微信亲儿子,兼容性必然是要比其他几家好的多。这样无论是从单一小程序扩展到独立app还是给已有app赋予小程序能力都可以快速无痛完成。

第三,为了明年

年底了,马上过完节上班各位就要考虑明年的KPI怎么完成,OKR怎么设定目标了。如果你还在为此发愁的话,那就考虑下把Donut加入你的KPI/OKR吧。过完节先快人一步和自己的leader做下技术讨论,率先在团队内部做技术分享,你就是新年后团队内最靓的仔。

第四,一些具体细节

我们要了解下Donut多端框架里具体有啥需要关注的地方。

既然要跨端,那各端不同特性的适配就是个问题了,为此,Donut框架引入了条件编译,目前支持wxml、wxs、js/ts、json,less/sass等。支持的目标平台有小程序,ios和android。你的代码有可能会变成以下这样:

wxml

代码语言:txt
AI代码解释
复制
  <!-- #if MP -->

  <view class="test-view">wechat</view>

  <!-- #elif IOS -->

  <view class="test-view">ios</view>

  <!-- #elif ANDROID -->

  <view class="test-view">android</view>

  <!-- #endif -->  wxss  .test-view{

/\* #if MP \*/

color: red;

/\* #elif IOS \*/

color: green;

/\* #elif ANDROID \*/

color: yellow;

/\* #endif \*/

}  js// #if MP

wx.showToast({

  title: "wechat toast"

})

// #elif IOS

wx.showToast({

  title: "ios toast"

})

// #elif ANDROID

wx.showToast({

  title: "android toast"

})

// #endif

虽然谁也不想在好好的代码里面到处塞#if。但这也是没有办法的事,只能尽量控制了。

如果你的通过Donut将小程序嵌入已有app的话,那显然希望嵌入的小程序和已有app可以通信。Donut框架SDK提供了这样的能力。

名称

功能说明

wx.miniapp.invokeMiniappNativeExtensio

给客户端原生发送消息

wx.miniapp.onMiniappNativeExtensionMsg

监听客户端原生消息

wx.miniapp.offMiniappNativeExtensionMsg

取消监听客户端原生消息

可以从小程序给客户端发消息,也可以在小程序里监听从客户端发过来的消息。看起来还比较简陋,但至少可以把小程序和原生app在运行时连通起来了。这意味着在app状态下小程序可以突破其在微信中运行的限制。从而释放更多的能力空间。

然后就是将app原有的微信opensdk能力也开放给内嵌小程序:

名称

功能说明

wx.miniapp.login

微信登录

wx.miniapp.requestPayment

微信支付

wx.miniapp.launchMiniProgram

跳转微信小程序

wx.miniapp.shareTextMessage

分享文本到微信

wx.miniapp.shareImageMessage

分享图片到微信

wx.miniapp.shareMiniProgramMessage

分享小程序到微信

wx.miniapp.shareWebPageMessage

分享网页到微信

这里功能上并未超越微信opensdk,只不过现在可以从小程序内直接调用而免去了小程序到微信opensdk的转接工作量。只是不知道如果app使用的是第三方分享sdk的话将来估计的考虑一下怎么再把分享能力收起来。

最后,一些期待

目前,Donut多端框架在构建app的时候会把小程序代码和资源打包,然后塞进apk或ipa里面,在app运行的时候读取的小程序代码和资源是来自本地的。换句话说,Donut官方不支持热更新。如果要支持热更新的话可能需要Android或iOS开发者去分析本地包然后自己想想办法了。所以期待官方后期如果能支持热更新那就起飞了。

小程序嵌入app之后,目前大部分微信的开放能力是不支持的。例如,获取用户信息,微信运动,订阅消息等等都是不支持的,这个也只能期望后期会支持吧。毕竟微信的生态如果能更多开放出来的话,会有更大的优势。

框架现在只支持微信小程序,androiod和ios平台。这个当然是期待后期官方支持更多平台了。

总结

本文就微信新推出的Donut平台做了个简单介绍。虽然目前处于公测阶段,还比较早期,不适合现在就集成上线。不过从目前看到的能力来说,我认为Donut还是值得持续关注的。毕竟如果能够更加方便的利用微信生态,可能会为我们自己的产品带来较大的提升。大家如果有什么感想,欢迎在讨论区留言。

(全文完)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
微信开放Donut,我们的App也能像微信跑小程序了
这几天看到微信团队推出了一个名为 Donut 的小程序原生语法开发移动应用框架,通俗的讲就是将微信小程序的能力开放给其他的企业,第三方的 App 也能像微信一样运行小程序了。
Onegun
2022/12/27
2.1K0
微信开放Donut,我们的App也能像微信跑小程序了
干货 | 携程Taro多端化探索与实践
随着移动互联网和智能设备的普及,前端开发人员需要采用多端同构技术来适配不同的终端(小程序、App和Web)。这些终端之间存在着明显的差异,包括浏览器引擎、操作系统、交互方式以及代码语言等方面。
携程技术
2023/09/06
1.4K0
干货 | 携程Taro多端化探索与实践
2023年,开发者最爱的开发工具合集
今天,学堂君想安利一波腾讯云旗下的好用开发工具和平台,好用的话记得分享给更多同行朋友!
腾讯产业互联网学堂
2023/11/27
4630
微信技术公开课上的新技术,3分钟搞定多端推送!
11月1日,在微信技术公开课深圳站上,微信团队围绕App开发新模式——小程序多端框架,以及和腾讯云深度合作的消息推送服务等小程序最新技术,与开发者们进行了深入交流。这些产品与技术能力上的新变化,将为开发者们带来更好体验、更高效率和更多增长机会。
腾讯云音视频
2024/11/05
1671
微信技术公开课上的新技术,3分钟搞定多端推送!
微信技术公开课上的新技术,3分钟搞定多端推送!
11月1日,在微信技术公开课深圳站上,微信团队围绕App开发新模式——小程序多端框架,以及和腾讯云深度合作的消息推送服务等小程序最新技术,与开发者们进行了深入交流。这些产品与技术能力上的新变化,将为开发者们带来更好体验、更高效率和更多增长机会。
小腾资讯君
2024/11/04
1730
几款移动跨平台App开发框架比较[通俗易懂]
海豚精灵:https://www.whhtjl.com;优课GO:https://mgo.whhtjl.com
全栈程序员站长
2022/08/18
8.6K0
几款移动跨平台App开发框架比较[通俗易懂]
浅谈轻应用平台FinClip与移动应用开发平台mPaaS
在本文中FinClip的产品经理和我们将会深入地探讨 FinClip 与 mPaaS 之间的差异,彼此间的长处与弱点。mPaaS 是蚂蚁金服出品的移动应用开发平台,功能很丰富,但为移动应用提供小程序支持还有其他更好的选择。
金牌打杂仔
2022/01/11
3.5K0
FinClip 与 uniapp:轻应用平台与前端开发框架
简单来说,uni-app 是一款为了解决跨端开发问题所设计的前端开发框架,开发者通过 uni-app 所编写出的一套代码,可以发布到 iOS,Android,H5 平台之中。
Onegun
2022/01/05
1.7K0
FinClip 与 uniapp:轻应用平台与前端开发框架
Hybrid模式下热更新技术方案及实例
做过开发的小伙伴应该对“热更新”不陌生吧!热更新就是指在游戏或软件更新的时候,不用再重新下载安装包进行安装,而是在启动应用程序的时候,在内部进行资源或代码的更新。那么如今,市场为什么越来越多地选择热更新技术呢?
Lydiasq
2022/12/14
1.4K0
Hybrid模式下热更新技术方案及实例
Donut多端框架小程序打包适配ios和安卓app
腾讯新出了一个 Donut 多端框架,可以直接将微信小程序转成 ios 和 安卓 app,小程序开发者工具里也集成了 app 相关升级、调试和打包的功能,具体的可以参考官方文档。
人人都是码农
2023/11/13
1.1K0
Donut多端框架小程序打包适配ios和安卓app
2024年全面的多端统一开发解决方案推荐!
最近看到有不少小伙伴问:有没有一套代码能够同时在多个平台运行的框架推荐?今天大姚给大家分享8个多端统一开发框架其中语言包括C#、C++、Vue、React、Dart、Kotlin等等(一套代码,可以运行到多个平台从而大幅减轻开发者的开发与维护负担),同学们可以按需选择对应框架(排名不分先后,适合自己的才是最好的)。
追逐时光者
2024/10/18
4550
2024年全面的多端统一开发解决方案推荐!
基于小程序语法的跨端开发平台大盘点
2022年12月18日,微信推出了“Donut”开发平台,目前已经开始限时免费公测。这款跨端开发平台与Flutter、React Native、Taro等跨端框架最大的不同是:跨端的能力是基于小程序原生语法进行转译。这背后不得不让人联想到此次开发平台的推出,是在微信小程序生态日渐成熟基础上的一个“顺水推舟”。
Lydiasq
2023/01/03
1.3K0
基于小程序语法的跨端开发平台大盘点
移动跨平台技术方案的深度解析
随着互联网产品逐渐兴起,越来越多产品体验从线下搬到了线上,尤其是移动互联网产品相关,所以很多企业就会更加重视降本增效,以最快的速度推出质量满意度高、用户体验性好的产品,那么就顺势催生了很多跨端跨平台方案。
二山山记
2022/11/30
1.3K0
移动跨平台技术方案的深度解析
小程序支持跳转网页会带来什么影响
11月2日,iphone X 发售的前一晚,微信小程序发布了一个重量级的更新: 小程序内嵌网页能力开发 使用教程很简单: 到mp.weixin.qq.com登录小程序号,并进入“设置”-“开发设置”-
花叔
2018/04/18
2.4K0
小程序支持跳转网页会带来什么影响
国内移动应用开发平台哪家强?
从国内的移动应用开发平台来看,其中不乏阿里、腾讯这样的头部大厂借助自己在产研中的优势,将内部的开发平台逐渐孵化为直接面向市场的标准化产品,另外也有很多小厂也专门针对移动研发中的一系列问题推出了移动开发平台,产品小而美可靠性也不错。
海岛船长加西亚
2023/02/01
5K0
App跨平台开发框架分析
随着移动互联网的快速发展,微信小程序、Web、App、 车载等各种形态的“端”悄然盛行。
二山山记
2022/11/09
3.4K0
App跨平台开发框架分析
Taro小程序跨端开发入门实战
随着业务不断扩张以及大小程序平台的崛起,针对每个平台都去写一套代码是不现实的,且原生的小程序开发模式有很多弊端。为了让小程序开发更简单、高效,采用Taro作为首选框架,本文将分享Taro的实践经验,主要内容围绕什么是Taro以及Taro如何使用(正确使用的姿势),还有Taro背后的一些设计思想来展开,让读者能够对Taro有较为完整的认识。Taro3.0已经逐渐成熟,实践项目已经进行Taro3.0的升级,因此本文代码示例以Taro3.0作为基础。
京东技术
2021/09/24
1.7K0
Taro小程序跨端开发入门实战
混合式App开发背景下,「Native+小程序」成为最优解
移动互联网背景下,APP这个主流触达用户的工具,变成为了商家流量竞争的主战场。技术作为业务的市场触达及活跃的保障手段,对于业务应用,尤其是高频引流及活跃的应用需要保持快速迭代更新。基于这个背景,可以说开发者们从未放弃探索及寻找热更新的最优技术解决方案。市面上App热更新技术方案可归纳为两大类:纯原生(Native)的,以及Hybird(混合开发)模式下的技术方案。随着市场上“敏捷开发”,“一端开发,多端上架”等研发概念探索成型并有一些成功实践被广而告之以后,Hybird(混合开发)的移动研发模式便开始流行起来。
用户10245619
2022/12/14
6310
第二十一期:基于Taro的多端(小程序+H5)开发实践
通过一套代码,一套业务代码,构建成不同的端(H5/小程序),满足代理人平台多端的业务场景,并为接下来的要开发的项目积累经验。
terrence386
2022/07/15
4.1K0
第二十一期:基于Taro的多端(小程序+H5)开发实践
社交APP开发的技术框架
一个典型的社交APP会包含前端(移动APP或Web端)、后端(服务器、数据库)以及一些支持工具和服务。
数字孪生开发者
2025/05/28
1050
社交APP开发的技术框架
推荐阅读
相关推荐
微信开放Donut,我们的App也能像微信跑小程序了
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档