2024年全面的多端统一开发解决方案推荐!

news/2024/10/18 8:09:24

前言

最近在DotNetGuide技术社区交流群看到有不少小伙伴问:有没有一套代码能够同时在多个平台运行的框架推荐?今天大姚给大家分享8个多端统一开发框架其中语言包括C#、C++、Vue、React、Dart、Kotlin等等(一套代码,可以运行到多个平台从而大幅减轻开发者的开发与维护负担),同学们可以按需选择对应框架(排名不分先后,适合自己的才是最好的,有其他更好的推荐欢迎文末留言)。

微信使用情况投票统计:https://mp.weixin.qq.com/s/9DNgjTIUXHCr_yOfFwxEDg

uni-app

uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。

  • 开源地址:https://github.com/dcloudio/uni-app
  • 在线文档:https://uniapp.dcloud.net.cn

功能框架图

从下面uni-app功能框架图可看出,uni-app在跨平台的过程中,不牺牲平台特色,可优雅的调用平台专有能力,真正做到海纳百川、各取所长。

为什么要选择uni-app?

uni-app在开发者数量、案例、跨端抹平度、扩展灵活性、性能体验、周边生态、学习成本、开发成本等8大关键指标上拥有更强的优势。

Taro

Taro是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。

  • 开源地址:https://github.com/NervJS/taro
  • 在线文档:https://taro.zone

多端转换支持

Flutter

Flutter是由Google开发的一款开源、跨平台的UI(用户界面)框架,一份代码兼顾 Android、iOS、Web、Windows、macOS 和 Linux 六个平台,编译为原生机器代码,助力提升应用的流畅度并实现优美的动画效果。

  • 开源地址:https://github.com/flutter/flutter
  • 在线文档:https://flutter.cn/dev

主要特性

React Native

React Native由Facebook开发,允许开发者使用JavaScript和React来构建原生体验的移动应用,支持iOS和Android平台。

React Native不仅适用于 Android 和 iOS - 还有社区支持的项目将其应用于其他平台,例如:

  • 开源地址:https://github.com/facebook/react-native
  • 在线文档:https://reactnative.cn

Avalonia

Avalonia是一个强大的框架,使开发人员能够使用.NET创建跨平台应用程序。它使用自己的渲染引擎绘制UI控件,确保在Windows、macOS、Linux、Android、iOS和WebAssembly等不同平台上具有一致的外观和行为。这意味着开发人员可以共享他们的UI代码,并在不同的目标平台上保持统一的外观和感觉。

Avalonia 已经成熟且可用于生产,并被 Schneider Electric、Unity、JetBrains 和 GitHub 等公司使用。

  • 开源地址:https://github.com/AvaloniaUI/Avalonia
  • 在线文档:https://docs.avaloniaui.net/zh-Hans

.NET MAUI

.NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。使用 .NET MAUI,您可以从单个共享代码库开发可在 Android、iOS、iPadOS、macOS 和 Windows 上运行的应用程序。

  • 开源地址:https://github.com/dotnet/maui
  • 在线文档:https://learn.microsoft.com/zh-cn/dotnet/maui/what-is-maui?view=net-maui-8.0

Uno

Uno平台是一个开源平台,用于快速构建单一代码库原生移动、Web、桌面和嵌入式应用程序。它允许 C# 和 WinUI XAML 和/或 C# 代码在所有目标平台上运行,同时允许您控制每个像素。它支持开箱即用的 Fluent、Material 和 Cupertino 设计系统。Uno 平台实现了越来越多的 WinRT 和 WinUI API,例如 Microsoft.UI.Xaml,使 WinUI 应用程序能够以本机性能在所有平台上运行。

  • 开源地址:https://github.com/unoplatform/uno
  • 在线文档:https://platform.uno/docs/articles/get-started-vs-2022.html?tabs=ubuntu1804

Eto.Forms

Eto.Forms是一个.NET开源、跨平台的桌面和移动应用的统一框架,该框架允许开发者使用单一的UI代码库构建在多个平台上运行的应用程序,并利用各自平台的原生工具包,从而使应用程序在所有平台上看起来和工作都像原生应用一样。

支持的平台:支持Windows Forms、WPF、MonoMac和GTK#等桌面平台,以及正在开发中的iOS(使用Xamarin.iOS)和Android(使用Xamarin.Android)移动平台支持(尽管目前尚不完整)。

  • 开源地址:https://github.com/picoe/Eto
  • 在线文档:https://github.com/picoe/Eto/wiki/Quick-Start

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

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

相关文章

读数据工程之道:设计和构建健壮的数据系统12开源软件

开源软件1. 开源软件 1.1. 开源软件(Open Source Software,OSS)是一种软件发行模式,在这种模式下,软件和底层代码库通常在特定的许可条款下可供普遍开发者使用 1.2. 社区管理的开源软件1.2.1. 大部分开源软件项目都是社区管理的开源软件1.2…

代码随想录算法训练营第一天 | 704. 二分查找、 27. 移除元素、977.有序数组的平方 (下)

2-27.移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作:更改 nums 数组,使 nums 的前 k 个…

简单演示Excel中VBA代码的使用

和ChatGPT配合,在Excel中通过代码查找数据,非常简单! 1. 和GPT沟通,得到可以在Excel中运行的代码:我有一个excel文件,里面有很多数据。我想找到某些符合标准的行并让它们高亮显示,这些行有以下特点: 1. 第M列中包含“某某”这个内容 2. 第O列中包含“某某某”这个内容…

代码审计[三] [强网杯 2019]Upload -图片马反序列化重命名

代码审计 [强网杯 2019]Upload源码下载www.tar.gz 源码一大坨 用phpstorm可以看到有两处下断点的地方,属于是提示了。分别是 application\web\controller\Profile.phpapplication\web\controller\index.php,可以发现这里存在反序列化操作,接收的参数是base64解码后的cookie值…

[MySQL] MySQL数据库中唯一标识符(ID)的梳理总结

0 引言mysql 数据库中有各类id,在近期初步研究 flink cdc 、debezium、mysql server id、server uuid、gtid、sesion id/connection id等相关概念后,基本有了一定的认知,趁热打铁,记录总结下来。概述 server id = debezium BinaryLogClient 的 sid server uuid transaction…

k8s基本命令

k8s基本命令 k8s describe命令 kubectl describe显示一个或多个资源的详细信息crictl系列命令 crictl 是一个与 k8s 容器运行时接口(CRI)兼容的命令行接口,用于检查和调试 Kubernetes 节点上的容器。 crictl pods # 列出所有pod crictl images # 列出所有镜像 crictl pull h…

20222418 2024-2025-1 《网络与系统攻防技术》实验二实验报告

1.实验内容 (1)使用netcat获取主机操作Shell,cron启动某项任务 (2)使用socat获取主机操作Shell, 任务计划启动 (3)使用MSF meterpreter生成可执行文件(后门),利用ncat传送到主机并运行获取主机Shell (4)使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容的…