前言
最近在DotNetGuide技术社区交流群看到有不少小伙伴问:有没有一套代码能够同时在多个平台运行的框架推荐?
今天大姚给大家分享8个多端统一开发框架其中语言包括C#、C++、Vue、React、Dart、Kotlin等等(一套代码,可以运行到多个平台从而大幅减轻开发者的开发与维护负担),同学们可以按需选择对应框架(排名不分先后,适合自己的才是最好的)。
uni-app
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。
功能框架图
从下面uni-app功能框架图可看出,uni-app在跨平台的过程中,不牺牲平台特色,可优雅的调用平台专有能力,真正做到海纳百川、各取所长。
为什么要选择uni-app?
uni-app在开发者数量、案例、跨端抹平度、扩展灵活性、性能体验、周边生态、学习成本、开发成本等8大关键指标上拥有更强的优势。
Taro
Taro是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。
多端转换支持
Flutter
Flutter是由Google开发的一款开源、跨平台的UI(用户界面)框架,一份代码兼顾 Android、iOS、Web、Windows、macOS 和 Linux 六个平台,编译为原生机器代码,助力提升应用的流畅度并实现优美的动画效果。
主要特性
React Native
React Native由Facebook开发,允许开发者使用JavaScript和React来构建原生体验的移动应用,支持iOS和Android平台。
React Native不仅适用于 Android 和 iOS - 还有社区支持的项目将其应用于其他平台,例如:
Avalonia
Avalonia是一个强大的框架,使开发人员能够使用.NET创建跨平台应用程序。它使用自己的渲染引擎绘制UI控件,确保在Windows、macOS、Linux、Android、iOS和WebAssembly等不同平台上具有一致的外观和行为。这意味着开发人员可以共享他们的UI代码,并在不同的目标平台上保持统一的外观和感觉。
Avalonia 已经成熟且可用于生产,并被 Schneider Electric、Unity、JetBrains 和 GitHub 等公司使用。
.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)移动平台支持(尽管目前尚不完整)。