原生小程序Donut多端开发

原生小程序Donut多端开发

原生小程序 Donut 多端:跨平台开发的新选择

随着移动应用开发的不断发展,跨平台开发成为了一个备受关注的话题。开发人员希望能够使用一套代码库,同时支持多个平台,从而提高开发效率并覆盖更广泛的用户群体。在小程序领域,微信 Donut 多端(也称为原生小程序 Donut 多端)为开发人员提供了一种全新的跨平台开发方式。本文将介绍 Donut 多端的概念、特点以及如何开始使用它来开发跨平台小程序。

Donut 现已开启限时 免费公测。安全网关、产品体验分析与身份管理为付费产品,公测期间免费使用。限时免费阶段结束后将按照平台定价进行收费使用。

Donut 多端是什么?

Donut 多端是微信原生小程序的一个扩展,旨在支持在不同平台上运行相同的小程序代码。它允许开发人员使用一套代码库,同时支持小程序、H5、React Native、快应用等多种平台,实现一次开发,多端运行的目标。

Donut 多端的核心思想是将小程序的视图与逻辑分离,使得视图层能够在不同平台上进行定制化的渲染。这样,开发人员可以编写通用的业务逻辑,同时为不同平台创建定制的视图层,以适应各个平台的特点和需求。

Donut 多端的特点

Donut 多端带来了许多有益的特点,使它成为一种吸引人的跨平台开发选择:

  1. 一套代码,多端运行:开发人员可以使用相同的代码库来支持多个平台,从而提高开发效率。

  2. 定制化视图:Donut 多端支持在不同平台上创建定制化的视图层,以适应各个平台的UI风格和特点。

  3. 统一的开发体验:开发人员可以使用熟悉的小程序开发工具和开发流程来开发多端应用,无需额外的学习成本。

  4. 生态整合:Donut 多端与小程序生态紧密集成,可以充分利用小程序的各种功能和第三方组件。

  5. 性能优化:Donut 多端提供了性能优化的机会,可以根据不同平台的特点进行优化,提供更好的用户体验。

如何开始使用 Donut 多端?

要开始使用 Donut 多端进行跨平台开发,你需要执行以下步骤:

  1. 升级到最新版本的微信开发者工具:确保你使用的微信开发者工具是最新版本,以支持 Donut 多端的功能。

  2. 创建 Donut 多端项目:在微信开发者工具中,你可以选择创建一个 Donut 多端项目。这将为你提供一个多端开发的起点。

  3. 编写通用代码:开发通用的业务逻辑和数据处理代码,这部分代码可以在所有平台上共享。

  4. 创建多端视图:为不同平台创建定制的视图层。你可以使用小程序的视图层和相应平台的特定视图层来实现这一点。

  5. 适配不同平台:根据不同平台的特点和需求,进行视图层的适配和优化。这包括处理样式、布局和用户交互等方面。

  6. 测试和发布:在不同平台上测试你的应用程序,并根据需要进行调整。一旦应用程序满足要求,就可以发布到各个平台。

一些使用中缺陷:

  • chooseLocation未授予隐私权限?

    • 适配一下,开发工具或者体验版的小程序,调试基础库如果是2.33.0及以上就得适配了,线上版本9月15日之后生效,尽快改完发版
  • 稳定性

    • 继续提升稳定性:随着用户数越来越多,APP负载越来越大,性能方面对Donut的要求也会提高,特别是部分用户可能会出现的卡顿、闪屏问题,据说反馈后官方已经在下版本优化安卓端的问题可以多关注一下!
  • 问题描述

    • network策略:后台5秒断网还延续小程序的策略,开发者完全做不了主,后台socket无法实现(push满足不了需求,业务场景需要即时打印订单/语音播报)【急需】。

    openLocaltion等相关接口没有内置(问题不大,可以自己实现)

    用户拒绝权限之后,无法引导跳转权限设置页面,只能引导去手动设置,很多用户不会操作

    原生支持:需要自定义一些service没办法实现,无法自己实现一些原生接口调用。

  • 不支持h5

  • 升级为多端项目时,升级失败

  • 扩展模块说明

    • wx.openLocation 和 wx.chooseLocation 需要勾选lbs sdk
  • 关于小程序隐私保护指引设置的公告

更多问题地址:跳转

总结

Donut 多端是微信小程序的一个扩展,为开发人员提供了跨平台开发的新选择。它允许开发人员使用一套代码库,同时支持多个平台,提高了开发效率并扩大了用户覆盖范围。通过分离视图与逻辑,Donut 多端允许在不同平台上创建定制化的视图层,以满足不同平台的需求。如果你是一名小程序开发者,不妨尝试使用 Donut

以上就是原生小程序Donut多端打包感谢大家的阅读

如碰到其他的问题 可以私下我 一起探讨学习

如果对你有所帮助还请 点赞 收藏谢谢~!

关注收藏博客 作者会持续更新...

相关推荐
Wang's Blog7 小时前
Java框架 SpringCloud 快速入门: 服务拆分之服务远程调用
java·开发语言·spring cloud
努力努力再努力wz7 小时前
【CUDA入门系列】CUDA编程实战:设备选择、显存管理、Kernel、Stream 与 Event 全流程梳理
开发语言·c++
杨丰玮4187 小时前
C语言核心语法
java·c语言·开发语言·学习方法
ttwuai7 小时前
Go开源后台管理系统推荐:README、源码和License应该怎么验
开发语言·golang·开源
Java后端的Ai之路7 小时前
Python 进阶探索30 - Python中的装饰器
开发语言·人工智能·python·文件处理·装饰器模式
沫璃染墨7 小时前
《从零入门Linux系统篇(五十八):线程篇·十一——线程安全与死锁详解:从可重入到多锁管理》
linux·服务器·开发语言·c++·驱动开发·安全·架构
黑妹天下第一乖7 小时前
第 05 讲:阿加犀 AidCV 图像处理加速与 OpenCV 一致开发实战
开发语言·图像处理·人工智能·嵌入式硬件·数码相机·opencv·计算机视觉
言乐67 小时前
Python基于关键词分拣快递(适用于电商与货运代理等)
开发语言·python·django·virtualenv·pygame
一条破秋裤8 小时前
01_字符设备基本概念_从分类到LED控制链路
开发语言·php
朝朝辞暮i8 小时前
C++ 第 40 章:ROS2 Publisher + Timer + Subscriber + Callback + Executor 完整闭环
开发语言·c++·算法·ros2