基于小程序语法的跨端开发平台大盘点

news2024/11/17 7:28:30

2022年12月18日,微信推出了“Donut”开发平台,目前已经开始限时免费公测。这款跨端开发平台与Flutter、React Native、Taro等跨端框架最大的不同是:跨端的能力是基于小程序原生语法进行转译。这背后不得不让人联想到此次开发平台的推出,是在微信小程序生态日渐成熟基础上的一个“顺水推舟”。

过去几年,市场上的跨端开发框架一直在迭代,今天就让我们盘点一下以小程序语法进行转译的跨端平台,以及他们各自的优缺点。


首先简要介绍一下,市场上一些主流的,并不以小程序语法编译为核心的跨端框架,包括:


Flutter:由Google开发的一个开源平台,可用于跨平台应用程序开发。它具有吸引力的原因是:快速的开发,富有表现力的精美UI和类似本机的性能。


React Native:由Facebook在2015年开发的,可帮助企业使用Swift,Objective C和Java等语言构建类似于本机的应用程序。


weex:由阿里巴巴在 2016年推出的跨平台移动开发工具,Weex 致力于使开发者能基于当代先进的 Web 开发技术,使用同一套代码来构建 Android、iOS 和 Web 应用。具体来讲,在集成了 Weex SDK 之后,你可以使用 JavaScript 和流行的前端框架(如 Vue.js 和 Rax)来开发移动应用。

划重点部分:以小程序语法编译为核心的跨端框架有:

阿里mPaaS


mPaaS是支付宝旗下的移动开发平台,其官网上介绍是”为移动开发、测试、运营及运维提供云到端的一站式解决方案,能有效降低技术门槛、减少研发成本、提升开发效率,协助企业快速搭建稳定“。


mPaaS以支付宝小程序语法为基础,也兼容基于Taro/mpvue等第三方框架导出的支付宝小程序。阿里旗下产品一定是优先支持自有生态,但这可能也是其在开放市场竞争中较薄弱的一个环节。市场上,小程序的生态建设,微信小程序生态还是占据了绝对的优势。mPaas对支付宝小程序应用100%支持,但其他小程序并不一定做到很好的兼容。


mPaas对于小程序的核心管理能力提供的是版本管理和灰度发布的能力,并未提供小程序的上下架审核及历史版本管理,这可能是一个减分项。


另外,产品还提供了一些如:小程序数据分析,广告引擎,App 性能监控,消息推送等功能,这对于业务拓展来说,算是个加分项。

微信Donut


正如篇头的介绍,Donut是微信平台推出的一款,对于微信小程序语法编写的应用转译成多端应用的开发平台。该平台的语法兼容首要是微信小程序,内测版本暂不支持微信生态中相关能力。体验版本只能测试到部分功能,一些文档上说的身份管理、安全网关与统计分析能力暂不支持公测,属于邀请测试的范畴,期待后续一些开发大大的持续分享。


该开发平台刚刚推出市场,还有很多不完善的地方,本篇中暂不做展开。


FinClip


这个产品正式推出市场是在2019年,3年打磨时间还是比较成熟的。看了下他们的官网,以及搜索引擎的一些资料,不乏一些大型客户的采购及成功案例。


小程序语法兼容方面是兼容微信小程序语法,编译后的小程序同时可在微信与 FinClip小程序SDK环境中运行。


第三方框架的支持度方面,其支持 Flutter/Taro/kbnoe 等第三方框架导出的微信小程序,并提供兼容。


以上的两点是小程序容器层面的兼容,可以看得出他们家的产品是尽可能以开放及兼容的态度支持市场上的前端框架开发的小程序应用,现在技术进程中,不开放也许会意味着在未来的市场使用份额中彻底输在起跑线上。


简单测试了下小程序管理后台,拥有较完善的小程序在线管理能力(例如:小程序开发、上传、测试、上下架及版本查看等)。一些第三方的能力也逐步开放当中(如:微信授权登录、音视频能力、微信支付能力、高德地图等)。此外,FinClip似乎不止步于移动开发的跨端,看到他们官网上的一些介绍,是除了支持 iOS、Android,桌面系统(Windows、Mac、Linux、统信、麒麟等)也能支持小程序运行,也就意味着这款产品是更广范围的跨端。

以上6款跨端开发平台,你用过了几款?其实从我个人的实践来看,并非功能大而全的产品就是最好的,如果你只是开发一款小而美的产品,需要快速的上线业务并进行商业变现,那么一些轻量的、聚焦业务支持的技术能力是首选开发平台。如果你或者你的团队是服务于大型企业,那么跨端开发平台就需要服务于企业业务战略规划,需要考虑使用的框架能够在性能上较优,同时还具备生态引入,或者更大范围的跨端开发的可能。


一切的技术开发平台都需要服务于业务,以实际的业务规划出发,对于技术开发平台进行选型及启用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/137790.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

P1046 [NOIP2005 普及组] 陶陶摘苹果————C++

文章目录题目[NOIP2005 普及组] 陶陶摘苹果题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示解题思路Code运行结果题目 [NOIP2005 普及组] 陶陶摘苹果 题目描述 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 101010 个苹果。苹果成熟的时候&…

实验十一、多级放大电路的参数设置

一、题目 利用 Multism 为图1所示电路选择电路参数,使之正常工作,并测试 QQQ 点、电压放大倍数和输入电阻。 图1多级放大电路图1\,多级放大电路图1多级放大电路 二、仿真电路 在Multism环境下搭建图1所示电路,选择电路参数,如图…

【谷粒商城基础篇】商品服务开发:基础概念、三级分类

谷粒商城笔记合集 分布式基础篇分布式高级篇高可用集群篇简介&环境搭建项目简介与分布式概念(第一、二章)基础环境搭建(第三章)整合SpringCloud整合SpringCloud、SpringCloud alibaba(第四、五章)前端知…

再快一点?动态内容如何加速

未来已来,只是不均衡地分布在当下 大家好,我是菜农,欢迎来到我的频道。 近年来 Web 3 的概念在程序员的小圈子也几乎是人尽皆知了。功能再强,噱头再足,但是如果访问速度没有跟上,一起都是浮云。哪怕拿现在…

封装和解封装、跨层封装

封装和解封装 我们一般把数据从应用层开始到数据链路层的加工过程称为封装,反过程称为解封装 封装 — 将每一层最重要的数据添加到原始数据当中,来实现这一层的功能。 应用层 — 应用需要进行封装,但是,封装方式取决于不同的应用…

hiveSql 京东面试题-有效值问题

hiveSql 京东面试题-有效值问题需求准备数据分析实现最后需求 有入库成本表,一个商品每次入库就会产生一条数据,里面包含商品id,入库时间time,以及入库采购的成本。但由于某些某些原因,导致表中某些数据的成本是有丢失…

MySQL-慢sql优化思路

目录 1、开启Mysql慢查询 1.1、查看慢查询相关配置 1.2、查询慢查询sql耗时临界点 1.3、开启Mysql慢查询 2、explain查看SQL执行计划 2.1、Select_type 2.2、Type 2.3、Possible_keys 2.4、Key 2.5、Key_len 2.6、Rows 2.7、Extra 3、profile 分析执行耗时 3.1、…

gin web开发模板渲染

一、模板输出模板输出首先需要指定模板所放位置 r.LoadHTMLGlob("templates/**/*")参数中: **代表匹配任意名称的目录 *代表匹配任意名称的模板文件"templates/**/*" 代表可以匹配指定模板文件到 templates目录下的 hello/index.tmpl user/inde…

自然语言处理 第八章 机器翻译复习

机器翻译机器翻译概述典型神经机器翻译模型神经机器翻译 ( Neural Machine Translation, NMT神经机器翻译系统相关技术罕见词处理技术(词表受限问题)解决办法subword 方法beam searchcoverage penalty (翻译覆盖率问题)推敲网络&a…

qt运行外部exe并自定义外部功能界面(QWidget添加工具栏QToolBar)

先放效果图,就是在qt运行的界面中,不只是运行出了外部exe的界面,还可以在外围放置自定义的功能按钮。(本质就是在QWidget中添加工具栏QToolBar) 关于如何只运行出外部的exe,我之前写过教程:ht…

序列生成策略——束搜索、贪心搜索、穷举搜索

序列搜索策略包括贪心搜索、穷举搜索和束搜索。 贪心搜索所选取序列的计算量最小,但精度相对较低。 穷举搜索所选取序列的精度最高,但计算量最大。 束搜索通过灵活选择束宽,在正确率和计算代价之间进行权衡。 在序列到序列学习&#xff08…

Java集合面试题汇总大全

每个集合的出现一定是为了解决某种问题的解决方案。 集合流程图 JAVA中集合和数组的区别Collection和Collections的区别ArrayList和LinkedList 和Vector的区别list/set/map的区别HashSet和TreeSet和LinkedHashSet区别HashMap和Hashtable的比较HashMap和ConcurrentHashMap区别H…

【零基础】学python数据结构与算法笔记5

文章目录前言30.归并排序归并31.归并排序实现32.归并排序时间复杂度讨论33.NB三人组小结总结前言 学习python数据结构与算法,学习常用的算法, b站学习链接 30.归并排序归并 将两个箭头指向两个列表的首个元素,比较,哪个大就把它…

Java IO流 - 字符流的使用详细介绍

文章目录字符流的使用文件字符输入流创建字符输入流字符输入流读取文件字符输出流创建字符输出流字符输出流写入字符流的使用 字节流读取中文输出会存在什么问题? 会乱码。或者内存溢出。 读取中文输出,哪个流更合适,为什么? 字符…

MAX78000训练自己的神经网络模型

参考: The MAX78000 Microcontroller, Some Coffee, and Artificial Intelligence GitHub - MaximIntegratedAI/ai8x-training: Model Training for ADIs MAX78000 and MAX78002 AI Devices ai8x-synthesis/WSL2.md at develop MaximIntegratedAI/ai8x-synthesi…

移动金融管理系统设计与开发实训(课程设计报告)——基于Android+Django的银行系统部分功能设计与实现

阅读过程中若有不解和需要可私信,乐于解答 项目代码文档都保存着 基于AndroidDjango的银行系统部分功能开发与设计 摘要: 随着信息技术的快速发展以及经济的快速发展,金融界的信息化的进程也在不断推进,信息技术的不断成熟和人…

JavaWeb:EL表达式JSTL标签

1,EL表达式 1.1 概述 EL(全称Expression Language)表达式语言,用于简化JSP页面内的Java代码。 EL表达式的主要作用是 获取数据 。其实就是从域对象中获取数据,然后将数据展示在页面上。 而EL表达式的语法也比较简单…

HR软件七步帮助企业管理员工

对于中小企业(SMB)来说,员工就意味着一切。你的员工几乎掌握着企业的整体增长和发展,他们可以成就企业,但也能破坏企业的发展。为了提高员工效率,中小型企业需要出色的人力资源管理。员工只有在受到重视和培…

【Linux】Linux环境变量的理解

加油布鲁斯,你能行的! 文章目录一、环境变量PATH中的系统默认搜索路径1.将程序安装到/usr/bin目录(不带./运行自己写的程序)2.将程序路径添加到PATH环境变量里面(不带./运行自己写的程序)二、环境变量的深…

PyTorch基础部分——毕设进行时

为了完成毕设准备开始学习PyTorch,第一步到蓝桥云课搜索实验项目,找到了“PyTorch入门与实战(第二版)”,开始边实验边学习(本身有了一点点点点的相关基础了)学习传送门:PyTorch基础入…