V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
rwecho
V2EX  ›  程序员

暂停用 Maui 原生开发了, 改成 Blazor 了

  •  
  •   rwecho · 2023-12-11 19:12:56 +08:00 · 3296 次点击
    这是一个创建于 375 天前的主题,其中的信息可能已经有所发展或是发生改变。

    挫败

    https://www.v2ex.com/t/958400 具体上次发帖已经接近 150 天了, 本来想跟着 dotnet 8 一起发布一个版本, 但是我放弃了, 当时看着大家的回复, 当时觉得时间还早, 每个坑踩一踩还是可以出成果的. 但是当 dotnet 把功能冻结的时候, 我看着 issues 提到的很多和我一样的问题一直在那里, 也没有人去解决. 好在和群里的小伙伴讨论着,也给我各种鼓励, 也让我坚持了下来. 多谢 unkxxx, 多谢群里的小伙伴们.

    项目进展

    后来这个项目切换到了 Maui Hybrid 也就是 Blazor, 最终还是让这个项目有了一个可以看到的成果. 但是这个项目还是有很多的问题, 也有很多的坑, 但是我还是想把这个项目做完, 也算是对自己的一个交代吧. 尤其是我还配置了 mac mini 和 iphone 12 的开发环境... 起码得用起来不是吗?

    目前项目已经上架了 Google Play, 但是还没有上架 App Store, 因为我不知道怎么上架 iOS, 有经验的小伙伴可以帮忙一下, 谢谢. Google Play 地址: https://play.google.com/store/apps/details?id=top.rwecho.v2ex.maui

    Github 地址: https://github.com/rwecho/V2ex.Maui

    项目截图

    Imgur imgur2 imgur3

    项目计划

    现在还是有很多需要做的功能, 我和 unkxxx 也讨论了一些有趣的功能希望能慢慢加入, 但是我还是希望能有更多的小伙伴加入进来, 一起完善这个项目. 微信: cndlY2hvMDA4

    Imgur

    在这里面我看了之前大家得回复:

    @YsHaNg 网页好好的, 为什么要用 app? 哈哈确实, 但是还是想做, 积累经验

    @Jirajine 别吹 Maui 了 ? 确实很烂, 我该早听的

    @forgottencoast Abp 太重了? 我去掉了

    @Al0rid4l Maui 社区反应很多坑? 确实, 我确实踩了很多坑

    @tsanie maui 和 avalonia 走的不是一个路子, 是的, maui 走的路子好多人质疑,会序可以把那个帖子发出来,大家观摩下

    @keymao 谢谢浇的凉水.

    @kqz901002 最后就是换成了 blazor + flowbite (tailwindcss)

    这里面也有很多乐趣,关于 C# Maui Blazor 的, 大家感兴趣的可以进群聊天, 上面的二维码要是过期了, 可以加上面的微信. 总体来说:

    _ Blazor 还是不错的, 我甚至觉得如果 C# 有华丽转身的话, 那就是 Blazor 了. _

    16 条回复    2024-08-22 09:28:01 +08:00
    ragnaroks
        1
    ragnaroks  
       2023-12-11 19:56:42 +08:00
    blazor 再不更新就要被 RSC 超过了
    rwecho
        2
    rwecho  
    OP
       2023-12-11 20:31:44 +08:00
    @ragnaroks RSC 是啥, 让我学一下
    wnbot
        3
    wnbot  
       2023-12-11 20:50:45 +08:00
    性能咋样,另外,现在 blazor 支持微软的 Fluent UI 了
    rwecho
        4
    rwecho  
    OP
       2023-12-11 21:02:51 +08:00
    @wnbot 直接用的 tailwindcss , 性能我目前在 小米 9 上面还可以, 挺流畅的
    hez2010
        5
    hez2010  
       2023-12-11 21:56:53 +08:00   ❤️ 2
    MAUI 现在离成熟还太早了,跨平台 GUI 框架哪个不是发展了三、五年之后才开始逐渐变得可用的了,早期都是 bug 一大堆。flutter 、qt 、avalonia 放到 flutter 1.x 、qt 3.x 、avalonia 0.8 的那个时代照样也是非常灾难,到处都是修不完问题,现在 MAUI 大概就处于发展的这个阶段。
    只能说如果微软真能持续做下去,不中间把 MAUI 砍了的话,随着时间肯定会越来越好用甚至成为跨平台 GUI 的首选框架之一也不是没有可能,但就是看能不能坚持下去了。
    ragnaroks
        6
    ragnaroks  
       2023-12-11 22:01:48 +08:00
    @rwecho react server component
    roundgis
        7
    roundgis  
       2023-12-11 22:03:36 +08:00 via Android
    裝了 感覺還行

    我正在把公司一個 app 從 xf 搬到 maui 上去

    之前搬了一個小的 感覺還行
    ashuai
        8
    ashuai  
       2023-12-11 23:00:16 +08:00
    .net8 的?这个 ui 方案可以跑在 linux 上吗?搜了下好像都没提 linux
    roundgis
        9
    roundgis  
       2023-12-11 23:16:15 +08:00 via Android
    @ashuai blazor hybrid 沒有正式支持 linux
    rwecho
        10
    rwecho  
    OP
       2023-12-12 09:41:54 +08:00
    @hez2010 #5 这个确实很有道理.
    rwecho
        11
    rwecho  
    OP
       2023-12-12 11:16:54 +08:00
    @ashuai #8 不行, 不过可以考虑 avalonia blazor
    Al0rid4l
        12
    Al0rid4l  
       2023-12-12 13:04:58 +08:00
    之前了解到 MAUI 人手就比较少, 而本身这个东西铺子摊得又很大, 几乎要跨全平台, 就感觉不太现实

    个人觉得跨平台吧, 要么跨 PC 三端, 要么跨移动两端, 就差不多了, 即便是 Flutter, 主要也是在移动端, 而且 Flutter 那么大的团队, issue 也是堆满了... 真要全端跨平台, 那目前大概只有 Web 表现比较一致 Bug 较少了. 其他铺子摊太大的, 不是我不信, 就是想开开眼..
    forgottencoast
        13
    forgottencoast  
       2023-12-12 14:22:37 +08:00
    看起来不错呀。
    rwecho
        14
    rwecho  
    OP
       2023-12-12 14:56:51 +08:00
    @forgottencoast #13 接收你们建议了呗, 一个坑接一个坑,最后跳出来, 转 blazor 了
    rwecho
        15
    rwecho  
    OP
       2023-12-12 15:07:16 +08:00   ❤️ 2
    @Al0rid4l #12 可不是, 我钉的几个 issues, 一直没有处理, 到最后正式版发布了也就那样了

    后来想想 blazor 可能真是一个跨平台的方案, 如果以后 webassembly 性能有提升的话,那真的有无限遐想.

    现在通过 maui +hybrid 的方式, 设计还是非常好的:


    1. Blazor 调用 native 方法, 例如 Toast, Preference 还有相机等其他本地模块都很简单, 代码分离也清晰. 甚至可以魔改 webview, label 这些本地组件
    2. Blazor 调用 javascript interop, 理解 Blazor 的生命周期, C# 调用 js 非常直观
    3. Javascript 调用 C# , 直接生命一个 JsInvokeable 方法就好

    但是我并没有测试过 相互调用的额外开销.


    所有链路都是通的, 最后 native 虽然没有办法调用 c# 但是可以传参 给 RootComponent.


    native -> RootComponent -> C# <-> javascript
    yb2313
        16
    yb2313  
       120 天前
    @hez2010 微软: 知道我最喜欢做什么吗, 砍项目
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2729 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:06 · PVG 22:06 · LAX 06:06 · JFK 09:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.