相信这本是一个不应该存在的项目,因为已经有很多优秀的 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# 也可以看看这个语言还行不行了
1
cnbatch 2023-07-20 19:43:22 +08:00 1
看完介绍,我只有一个疑问:为什么不直接用网页版?
|
2
YsHaNg 2023-07-20 19:58:01 +08:00
网页好好的为啥你们都拼了命的开发 app
|
3
Jirajine 2023-07-20 20:02:46 +08:00 1
别吹 MAUI 了,一个不支持 Linux 但宣传跨平台的谎言产品,比 flutter 差得远,甚至不如 electron 。
|
4
molvqingtai 2023-07-20 20:10:31 +08:00
@cnbatch 楼主的意思就是用 C# 生态开发一个练手的客户端应用
|
5
forgottencoast 2023-07-20 22:13:27 +08:00
把 Abp 一个 Web 服务端的框架集成进客户端的项目里就觉得怪怪的。
而且一个客户端程序,基本上它的逻辑处理都交给了服务端处理,用 Abp 整个就是除了增加项目的复杂度没看出来能带来什么益处。 |
6
rwecho OP @forgottencoast
也可能会有性能上面的损失, Abp 主要用到的是 Autofac 和 Localization. |
7
forgottencoast 2023-07-20 22:22:28 +08:00
|
8
Al0rid4l 2023-07-21 00:05:51 +08:00
看社区的反映 MAUI 坑有点多啊, LZ 开发过程中有没有遇到什么坑呢?
而且似乎 MS 对 MAUI 的支持也不太行, PC 端社区氛围感觉更看好 Avalonia 一些 |
9
roundgis 2023-07-21 01:06:01 +08:00 via Android
abp 這種框架在此處有什麼用途麼
|
10
angrylid 2023-07-21 01:07:43 +08:00 1
这是学习前端开发御三家:TODO list ,背单词,v2ex
|
11
rwecho OP @forgottencoast 确实有道理
主要是我非常喜欢 abp 的项目结构. 另外对一些扩展性有很灵活的支持, 例如能很轻易加入 Blob 模块 看来你也用 Abp 框架, 自带的 IOC 需要在一个地方集中注入, 使用 ITransientDependency 的话, 就可以更灵活. 另外引入了 Autofac 之后, 就可以使用 ILifetime 这个接口, 如果要进行参数实例化,会非常有用. 当然话说回来, 还真是没事找事 |
13
rwecho OP @Al0rid4l 确实坑不少啊, 之前想用 MVU 模式开发, 结果看到社区非常不活跃, 里面的 issue 也很多没有处理. 就没有再坚持了.
现在列表会跳, 还没找到什么原因, 某种情况下会出现不显示 child 组件. 还有像这个库 html-agility-pack, 之前一直用, 但是在开发过程中发现一些问题. 还有这个问题, RefreshView 显示不正常. 现在来看应该是 maui 的问题. CollectionView,加载下一页的时候不工作 |
14
rwecho OP @roundgis abp 还是有不少用途的, 我现在写 console 项目也喜欢用它来创建, 你们现在用不用 abp?
|
15
rwecho OP @Al0rid4l 之前我也看好 Avalonia , 那时候还是和 Xamarin 对比, 现在来看 MAUI 进步还是很大的. dotnet 8 对 MAUI 的支持还是不少的. 估计会在 11 月份发布正式版.
|
17
rwecho OP @Jirajine 是的, 我之前也这么认为, 甚至我觉得 MAUI 的天花板就是 Flutter 了, 话说回来, 多条路去罗马不也是个好事嘛
|
18
agdhole 2023-07-21 08:25:43 +08:00
@forgottencoast #7 .net 8 有什么巨大更新么,为什么不推荐 autofac 了
|
19
a33291 2023-07-21 08:28:43 +08:00 1
个人感觉支不支持 linux 无所谓,主要是能够良好支持 ios 和 android,win 就好,因为 pc 端至少用个 electron 还可以,但是移动端原生开发又不会,用 cordova 之类(类似 electron)又不够效率.
不过 maui 的话感觉还需要在发展发展,貌似调用原生组件(比如高德地图的 sdk)还挺麻烦 |
20
a33291 2023-07-21 08:30:39 +08:00
@agdhole #18 autofac 是在 bcl 没有自带之前出现的,现在已经自带了一个 ioc(ServiceCollection),基本上已经能够替换或者和 autofac 整合
另外由于 aot 的引入,所以 bcl 相关的库对 aot 更为友好 |
21
rocky2024 2023-07-21 08:41:04 +08:00
本科毕业设计就是拿 .NET MAUI 框架来开发安卓软件的,我蛮有兴趣的
|
23
forgottencoast 2023-07-21 09:18:36 +08:00
|
24
tsanie 2023-07-21 09:30:37 +08:00 1
Localization 我觉得可以用 Microsoft.Extensions.Localization 来做
|
25
tsanie 2023-07-21 09:32:26 +08:00
maui 和 avalonia 走的不是一个路子,avalonia 本质上和 flutter 类似,maui 本质上还是渲染成原生组件。
|
26
nikenidage1 2023-07-21 09:43:30 +08:00
支持 OP ,MAUI 还没试过,我前两天刚用 avalonia 并且 aot 写了一个跨平台的 UI ,这两天准备试试他的 ios 和 android 编译
https://www.v2ex.com/t/952603 用 .Net 写了一个跨平台的桌面端软件,且原生编译,无需运行时,启动快内存少体积小 |
28
chrawsl 2023-07-21 10:36:58 +08:00
学习一下,正好这两天也在写 MAUI 的 APP
|
29
Radiation 2023-07-21 10:44:58 +08:00
尝试着用 maui 写 app ,感觉里面的问题还是挺多的,.net7 用的
|
31
roundgis 2023-07-21 11:44:48 +08:00
@rwecho maui 是 xamarin forms 2.0 ,和 flutter 不大一樣. flutter 和 avaloniaui 倒是比較類似
|
32
keymao 2023-07-21 11:51:45 +08:00
怎么说呢,现在靠 C#吃饭的,要么做游戏开发,要么就是工业软件开发,工业软件开发现在明显更青睐 Winform 啊,再差也是 WPF 。MAUI 这种东西,跨平台不跨平台,要性能也没性能。。 很尴尬的。 这是入行的方向来说。
至于实用性... 在有 electron flutter 这种已经非常成熟的客户端软件开发路线的现在... 没太大意义。再不济,Qt 也是可以搞上去的,甚至 Python 都行 抱歉,泼了盆凉水。 |
33
kqz901002 2023-07-21 13:46:57 +08:00
可以尝试 blazor 跨平台?用 bootstrap 控件+analoniaUI/MAUI 启动
|