企业建网站需要准备哪些资料呢,凡客诚品科技有限公司,精品域名更换,wordpress怎么去除底部文章目录 前言跨平台开发技术需求技术选型uniappFlutterMAUIAvalonia安卓原生 Flutter开发尝试Avalonia开发测试测试项目新建项目代码MainViewMainViewModel 发布/存档 MAUI实战#xff0c;简单略过打包和Avalonia差不多 总结 前言
作为C# .NET程序员#xff0c;我有一些移动… 文章目录 前言跨平台开发技术需求技术选型uniappFlutterMAUIAvalonia安卓原生 Flutter开发尝试Avalonia开发测试测试项目新建项目代码MainViewMainViewModel 发布/存档 MAUI实战简单略过打包和Avalonia差不多 总结 前言
作为C# .NET程序员我有一些移动端的开发需求。虽然一般是Windows 和安卓平台。因为IOS和MAC的上架非常的麻烦我对苹果也不是很感冒。
跨平台开发
跨平台解决方向技术举例套壳浏览器Uniapp原生组件对应React Native自绘Flutter,Unity等游戏引擎
技术需求
必须支持安卓Windows其次因为Windows我可以用WPF写。IOS,MAC,Linux暂不考虑可以调用本地接口。比如安卓的通知蓝牙定位
技术选型
uniapp
我目前用的就是UniappUniapp的优点就是简单能凑合用。但是Uniapp的Debug真的是一言难尽。
Uniapp最突出的优点就是wgt更新因为Uniapp本身就是浏览器套壳所以wgt更新就是把里面的浏览器文件换了一下
Flutter
非常成熟开源10年了。基本算是React Native的上位替代。毕竟Flutter和Andorid都是谷歌开发的。
MAUI
Bug太多了等两年看看
Avalonia
移动端支持不够。桌面端支持还行
安卓原生
用原生肯定是最好的但是如果以后要迁移到IOS上面就比较麻烦了。跨平台本身就是为了解决这个的。
Flutter开发尝试 跨平台开发该不该用Flutter2023年版Flutter全面解析 Flutter环境安装(超详细) Flutter运行第一个项目时出现javax.net.ssl.SSLHandshakeException的一些解决思路 flutter国内镜像https://storage.flutter-io.cn/ 用不了了 由于Flutter使用自绘所以会有一点延迟大概是100ms不到。在滑动等操作的时候体验比较明显。
然后我就遇到Bug了折腾了半天没解决成功
Avalonia开发测试
测试项目
新建项目 配置清单
代码
MainView
UserControl xmlnshttps://github.com/avaloniauixmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:vmclr-namespace:AvaloniaApplication3.ViewModelsmc:Ignorabledd:DesignWidth800d:DesignHeight450x:ClassAvaloniaApplication3.Views.MainViewx:DataTypevm:MainViewModelDesign.DataContext!-- This only sets the DataContext for the previewer in an IDE,to set the actual DataContext for runtime, set the DataContext property in code (look at App.axaml.cs) --vm:MainViewModel //Design.DataContextStackPanel OrientationVerticalVerticalAlignmentCenterHorizontalAlignmentCenterTextBlock Text{Binding Greeting}FontSize50HorizontalAlignmentCenterVerticalAlignmentCenter/Button ContentClickMeCommand{Binding TestBtnCommand}FontSize50 /TextBlock Text{Binding TestNum}FontSize50//StackPanel
/UserControl
MainViewModel
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;namespace AvaloniaApplication3.ViewModels;public partial class MainViewModel : ViewModelBase
{private int num 0;public string Greeting Welcome to Avalonia!;[ObservableProperty]private string testNum TestNum;[RelayCommand]public void TestBtn(){TestNum $TestNum {num};num;}
} 发布/存档 打包之后的文件有140MB。应该能用一些方法来压缩。
MAUI 实战简单略过
MAUI 的潜在BUG实在是太多了先暂时不去深入了解 打包和Avalonia差不多 总结
我打算还是选择Avalonia好了至少Avalonia的桌面端还是不错的非常的成熟了。就是移动端的本机API支持力度还不够。目前就是了解一下也不会专门去学。现在的需求用Uniapp就够用了。