赞
踩
作为C# .NET程序员,我有一些移动端的开发需求。虽然一般是Windows 和安卓平台。因为IOS和MAC的上架非常的麻烦,我对苹果也不是很感冒。
跨平台解决方向 | 技术举例 |
---|---|
套壳浏览器 | Uniapp |
原生组件对应 | React Native |
自绘 | Flutter,Unity等游戏引擎 |
我目前用的就是Uniapp,Uniapp的优点就是简单,能凑合用。但是Uniapp的Debug真的是一言难尽。
Uniapp最突出的优点就是wgt更新,因为Uniapp本身就是浏览器套壳,所以wgt更新就是把里面的浏览器文件换了一下
非常成熟,开源10年了。基本算是React Native的上位替代。毕竟Flutter和Andorid都是谷歌开发的。
Bug太多了,等两年看看
移动端支持不够。桌面端支持还行
用原生肯定是最好的,但是如果以后要迁移到IOS上面,就比较麻烦了。跨平台本身就是为了解决这个的。
由于Flutter使用自绘,所以会有一点延迟,大概是100ms不到。在滑动等操作的时候体验比较明显。
然后我就遇到Bug了,折腾了半天没解决成功
配置清单
<UserControl xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:vm="clr-namespace:AvaloniaApplication3.ViewModels" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" x:Class="AvaloniaApplication3.Views.MainView" x:DataType="vm:MainViewModel"> <Design.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.DataContext> <StackPanel Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Center"> <TextBlock Text="{Binding Greeting}" FontSize="50" HorizontalAlignment="Center" VerticalAlignment="Center"/> <Button Content="ClickMe" Command="{Binding TestBtnCommand}" FontSize="50" /> <TextBlock Text="{Binding TestNum}" FontSize="50"/> </StackPanel> </UserControl>
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 的潜在BUG实在是太多了,先暂时不去深入了解
我打算还是选择Avalonia好了,至少Avalonia的桌面端还是不错的,非常的成熟了。就是移动端的本机API支持力度还不够。目前就是了解一下,也不会专门去学。现在的需求用Uniapp就够用了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。