V2ex.MAUI, 一个 C#的 MAUI 客户端,需要你的帮助

2023-07-20 19:34:46 +08:00
 rwecho

开始

相信这本是一个不应该存在的项目,因为已经有很多优秀的 app 在之前已经被大家所熟知, 不过由于 dotnet core 8.0 即将发布, dotnet 社区也越来越获取, 借着这股东风, 我希望能把这个项目建立起来. 目前它还是一个粗糙的半成品, 虽然有了几个基本功能但是离能用和好用,还有不少距离. 但是相信随着对 app 知识的了解, 将会把这个 app 打造成一个多平台,好用,易用,v2ex 的 app

介绍

这是一个 C# MAUI 项目,里面已经完成的模块有主页,话题列表,节点等基础浏览功能,每个功能都需要认真打磨,但是我想在这个阶段把这个项目和大家分享下,也希望得到你们的帮助。 之前一直想用 c# 开发 app ,尝试过 Xamarin, Flutter ,MAUI 6.0 ,最后都已 react 和小程序来解决了。但是最近 dotnet 8.0 preview 已经发布,里面有很多特性可圈可点,Visual Studio 对 MAUI 的支持也越来越好( BUG 更少了)。所以,在这个节点邀请各位,希望能参与进来,大家一起来给 dotnet core 圈增加一点点热度。

邀请

这个项目中,用到了一些优秀的框架,它可以帮助我们把代码写的更简单:

这里面很多功能很有趣,里面有很多问题需要我们解决和讨论,有些可能需要扒源码,有些需要去问,整个 MAUI 还是比较有吸引力的。目前这个项目还有很多功能需要完成:

最后

写到这,我还在想要不要发布,因为已经有非常多优秀的 V2EX app 在论坛里面,实在不不到一个很好的理由让别人来使用这么一个粗糙的软件,当然它还没有发布你们也用不了。但是最近我看到论坛里面最近多了很多关于 C#的关键字,看来有不少小伙伴喜欢这门语言,那我们就一起搞个事情呗。

当然不仅仅是 C# 的伙伴们,如果你是 Java 开发,你可以给我们指点一下, 如果你是前端开发,你可以告诉我们怎么搞好界面。如果编程不是你吃饭的家伙,你可以用你专业的眼光告诉我们软件应该怎么开发。当然如果你讨厌 C# 也可以看看这个语言还行不行了

3892 次点击
所在节点    程序员
33 条回复
cnbatch
2023-07-20 19:43:22 +08:00
看完介绍,我只有一个疑问:为什么不直接用网页版?
YsHaNg
2023-07-20 19:58:01 +08:00
网页好好的为啥你们都拼了命的开发 app
Jirajine
2023-07-20 20:02:46 +08:00
别吹 MAUI 了,一个不支持 Linux 但宣传跨平台的谎言产品,比 flutter 差得远,甚至不如 electron 。
molvqingtai
2023-07-20 20:10:31 +08:00
@cnbatch 楼主的意思就是用 C# 生态开发一个练手的客户端应用
forgottencoast
2023-07-20 22:13:27 +08:00
把 Abp 一个 Web 服务端的框架集成进客户端的项目里就觉得怪怪的。
而且一个客户端程序,基本上它的逻辑处理都交给了服务端处理,用 Abp 整个就是除了增加项目的复杂度没看出来能带来什么益处。
rwecho
2023-07-20 22:16:50 +08:00
@forgottencoast
也可能会有性能上面的损失, Abp 主要用到的是 Autofac 和 Localization.
forgottencoast
2023-07-20 22:22:28 +08:00
@rwecho
你用的是.Net 8 ,自带的 IOC 容器应付这个级别的项目绰绰有余(甚至我觉得绝大部分项目),根本不需要再引入第三方的了。
这个项目用 Localization 纯粹就是没事找事干吧[手动狗头]。
Al0rid4l
2023-07-21 00:05:51 +08:00
看社区的反映 MAUI 坑有点多啊, LZ 开发过程中有没有遇到什么坑呢?

而且似乎 MS 对 MAUI 的支持也不太行, PC 端社区氛围感觉更看好 Avalonia 一些
roundgis
2023-07-21 01:06:01 +08:00
abp 這種框架在此處有什麼用途麼
angrylid
2023-07-21 01:07:43 +08:00
这是学习前端开发御三家:TODO list ,背单词,v2ex
rwecho
2023-07-21 07:06:48 +08:00
@forgottencoast 确实有道理
主要是我非常喜欢 abp 的项目结构. 另外对一些扩展性有很灵活的支持, 例如能很轻易加入 Blob 模块
看来你也用 Abp 框架, 自带的 IOC 需要在一个地方集中注入, 使用 ITransientDependency 的话, 就可以更灵活. 另外引入了 Autofac 之后, 就可以使用 ILifetime 这个接口, 如果要进行参数实例化,会非常有用.

当然话说回来, 还真是没事找事
rwecho
2023-07-21 07:07:50 +08:00
@angrylid
是的, 可能这是我们经常用到的 app
rwecho
2023-07-21 07:20:50 +08:00
@Al0rid4l 确实坑不少啊, 之前想用 MVU 模式开发, 结果看到社区非常不活跃, 里面的 issue 也很多没有处理. 就没有再坚持了.
现在列表会跳, 还没找到什么原因, 某种情况下会出现不显示 child 组件.
还有像这个库 html-agility-pack, 之前一直用, 但是在开发过程中发现一些问题.


还有这个问题, RefreshView 显示不正常. 现在来看应该是 maui 的问题.


CollectionView,加载下一页的时候不工作
rwecho
2023-07-21 07:25:38 +08:00
@roundgis abp 还是有不少用途的, 我现在写 console 项目也喜欢用它来创建, 你们现在用不用 abp?
rwecho
2023-07-21 07:31:12 +08:00
@Al0rid4l 之前我也看好 Avalonia , 那时候还是和 Xamarin 对比, 现在来看 MAUI 进步还是很大的. dotnet 8 对 MAUI 的支持还是不少的. 估计会在 11 月份发布正式版.
rwecho
2023-07-21 07:32:43 +08:00
@cnbatch @YsHaNg 哈哈哈

还有 v2er, 用了好多年了.
rwecho
2023-07-21 07:34:41 +08:00
@Jirajine 是的, 我之前也这么认为, 甚至我觉得 MAUI 的天花板就是 Flutter 了, 话说回来, 多条路去罗马不也是个好事嘛
agdhole
2023-07-21 08:25:43 +08:00
@forgottencoast #7 .net 8 有什么巨大更新么,为什么不推荐 autofac 了
a33291
2023-07-21 08:28:43 +08:00
个人感觉支不支持 linux 无所谓,主要是能够良好支持 ios 和 android,win 就好,因为 pc 端至少用个 electron 还可以,但是移动端原生开发又不会,用 cordova 之类(类似 electron)又不够效率.

不过 maui 的话感觉还需要在发展发展,貌似调用原生组件(比如高德地图的 sdk)还挺麻烦
a33291
2023-07-21 08:30:39 +08:00
@agdhole #18 autofac 是在 bcl 没有自带之前出现的,现在已经自带了一个 ioc(ServiceCollection),基本上已经能够替换或者和 autofac 整合

另外由于 aot 的引入,所以 bcl 相关的库对 aot 更为友好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/958400

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX