首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

写 windwos 应用程序,选择方向?

  •  
  •   octalempyrean · 20 天前 · 3645 次点击

    想学习写下 Windows C# 桌面应用程序,大佬帮忙指引条路。

    1. C# + winform
    2. C# + WPF
    3. 如果选择 1 或 2,那么界面是自己写还是类似 DotNetBar or DevExpress?
    4. 还是什么?
    60 回复  |  直到 2019-10-24 08:38:38 +08:00
        1
    libasten   20 天前
    界面这个看你或者甲方的需求啊。
    没有购买 dev 这些组件授权,建议还是自带的吧,字体和对齐都弄好了,也蛮好看的。
        2
    memedahui   20 天前
    目测楼下有说 electron 的.
        3
    Jirajine   20 天前 via Android
    electron 或 qt
        4
    yanzidao   20 天前
    Qt 支持一下
        5
    MonoLogueChi   20 天前
    WPF 是未来,也是现在微软主推的桌面程序设计方式。而且 wpf 的组件样式现在也越来越多,开发难度也越来越低了
        6
    hkitdog   20 天前 via iPhone
    易语言,做出来的界面比 UWP, WPF 还好看
        7
    zgcwkj   20 天前
    C# + ( winform,wpf )
    好看的界面 > miniblink(小,难,有第三方库)
    好看的界面 > NanUI(大,简单,C#winform)
        8
    Foreverdxa   20 天前
    现在正在写 qt 仔,接触加写软件,两年半到三年时间,薪资没有端盘子的高。。。
    还是推荐 qt,很方便,也很简单,而且是 c++,自由度也比较高
        9
    thfurior   20 天前
    c# wpf 最简单
        10
    macha   20 天前
    没有 win32 的开发经验就 electron 吧,C#的根子还是 win32。electron 完全就是写前端,而且不用装 C#的 framework。
        11
    anakinsky   20 天前
    推荐 Qt or Duilib
        12
    amazingrise   20 天前 via Android
    wpf 其实特简单。性能也比 electron 要强。
        13
    beginor   20 天前 via Android
    C#+Cef.net , 界面用浏览器实现,C# 专门调用 Windows API 方便
        14
    Caballarii   20 天前
    electron 可以跨平台
        15
    wangyzj   20 天前
    WPF
        16
    Counter   20 天前 via Android
    @MonoLogueChi
    @thfurior
    @amazingrise
    @wangyzj
    请问 VS 新建一个新的 WPF 解决方案,什么也不做,内存占用就 20MB,是为啥?
        17
    Counter   20 天前 via Android
    @MonoLogueChi
    @thfurior
    @amazingrise
    @wangyzj
    是编译运行的程序内存占用 20MB
        18
    octalempyrean   20 天前 via Android
    .net core 怎么没说的呢?
        19
    tusdasa   20 天前 via Android
    Qt 啊 还跨平台
        20
    ddup   20 天前 via Android
    WPF,会前端技术栈的话就 electron 可以跨平台。
        21
    secondwtq   20 天前
    @octalempyrean .Net Core 本身和 GUI 无关吧,GitHub 上倒是有个跨平台的 GUI 框架 Avalonia (名字挺有意思,Avalon 是 WPF 原来的 codename),不过这个是伪经,不属于微软教认可的经典,所以不建议接触
    微软现在主推的应该是 UWP/WinUI 吧,UWP 相对于 WPF 应该算是有继承,但并不是一个东西
    当然要是指 Win32 的话那最新的应该还是 WPF

    哦对,说起 Express,理论上现在 .Net Core 和 WPF 开源之后,商业公司不需要购买 VS Professional License 也可以开发 WPF 程序了,不知道可不可行( IDE 就别想用了)。不过 anyway,Community 版本是允许 Individual Developer 商用的
        22
    azhw   20 天前
    @octalempyrean dotnet core 刚出的 3.0 也是 wpf winform
    再说,5 之后大一统了,只有 dotnet5 没有 core 了
        23
    huruwo   20 天前
    electron 是什么鬼 ,市面上有多少 electron 开发的软件?
        24
    suit   20 天前 via iPhone
    对性能要求比较高的话,用 winform 好把控一点
        25
    Revenant   20 天前
    @macha #10
    1. Electron 打包生成的程序目录太大了
    2. 如果不考虑 XP 的话,win7 系统自带.net 3.5, win8 以上自带.net 4.0 以上的版本,并不需要刻意安装 runtime
        26
    nvioue   20 天前 via Android
    为什么要搞这个???不怕失业?
        27
    amazingrise   20 天前 via Android
    @Counter 其实现在时代不一样了,内存充足的情况下是允许这种适度使用的。原理层面的话,不太清楚。猜测是因为 CLR。(非严格意义上可以理解是.net 世界的 jvm )
        28
    MaiKuraki   20 天前
    windwos 拼写错了
        29
    MaiKuraki   20 天前
    aardio ?
    就是有一个用户整天在 V 站上推广的那个?
        31
    felixin   20 天前 via Android
    electron 应该是趋势了,连微软自己都用 VS code,microsoft teams,跨平台的优势是巨大的,以后转成在线服务也非常方便,微软也已经这么干了

    对于 UWP,可以看看 platform.uno ,不过个人感觉没有 react 系列有优势
        32
    MaiKuraki   20 天前
    前两天下载了一个 VPN 客户端好像是.net core 做的
        33
    Kylin30   20 天前
    delphi
        34
    sker101   20 天前 via iPhone   ♥ 1
    electron 虽然对于前端简单 但是想写 windows 程序除非完全不需要用到 windows 底层 api 不然没有 c++基础基本写不来 很多包 nodejs 都没有 得自己写然后转换
        35
    trait   20 天前 via iPhone   ♥ 5
    别用 electron,真的是垃圾,那启动速度,过场切换,让人想不到 2019 年了,这么高的个人 pc 配置应用程序反而倒退这么多,什么时候这种新 flash 能死掉
    鲍尔默这个废物,dotnet 本就是为跨平台而生,没这脑残,早就一统江湖了,还轮得到如今这些臭鱼烂虾,一己之力毁了 C# dotnet
    https://i.loli.net/2019/10/23/xGI1tcm9VYSsqEg.jpg
        36
    octalempyrean   20 天前 via Android
    @MaiKuraki 哎呀
        37
    murmur   20 天前   ♥ 1
    那么多应用程序只是 chrome 的扩展而已,那些吹 electron 的,你们只认识浏览器的壳子,去别人目录里数数别人带了多少 native 程序和 dll,人家的 electron 或者 chrome 扩展就是显示点业务数据,核心还是落在 c 上
        38
    murmur   20 天前
    更别说腾讯家的奇葩架构除了 chrome 扩展还有 qq 浏览器,这什么恶心架构。。
        39
    mcdull619   20 天前
        40
    macha   20 天前
    @murmur @Revenant
    如果自己写着玩用 electron 也还好,打包出来大概 50M 差不多,关键是不用去学 Windows 的一堆 API 和编程讨论。
    如果是公司级别的产品不推荐 electron。因为访问 native 的话很多时候还是要自己去写 C++插件。都开始写 C++了,还不如直接上 duilib。找个懂 win32 的人把 duilib+libcef+libcurl+openssl+log+image 库+zlib+等等库的框架搭好,前端还是负责 UI,c++负责提供 native API、异形窗口、service、进程间通信等等。
        41
    dinjufen   20 天前
    感觉 PC 桌面市场越来越小了。。
        42
    cmdOptionKana   20 天前
    @trait 你说的是假如 C# 早就正确发展的情况,但现实是 C# 还不能做跨平台 GUI。

    现在 electron 主要解决三个问题:界面美观现代化,轻松跨平台,简单易学。electron 的缺点谁都知道,但能同时做到这三点的却只有这一个选择。
        43
    loginv2   20 天前
    Qt
    Delphi
    Lazarus
        45
    LokiSharp   19 天前   ♥ 3
    坚决抵制 Electron 我可不想在我的电脑上装 几十个 Chromium
        46
    yanzidao   19 天前
    搭车问一下,现在.NET 是否还是相对容易被逆向工程,也就是说反编译?
        47
    Chenamy2017   19 天前
    以前主做 QT 的,优势简单、跨平台,C++接口。
    现在转 Electron 了,微软的 VSCode 正是用此开发,貌似用户量很大了,我也在用。
    Electron 的定位主要还是前端界面,要处理什么的还是上 C++之类的。
        48
    qile1   19 天前 via Android
    go 不是也可以开发 gui,谁弄过这个,不行就起 web 服务
        49
    hnbcinfo   19 天前
    windows 应用程序肯定还是微软亲生的更好,那就 WPF 吧,简单漂亮,而且 MVVM 模式开发起来也相当舒服。
        50
    zhaozhentou   19 天前
    duilib
        51
    nirvanacqw   19 天前
    为什么没人说 uwp 呢
        52
    hkitdog   19 天前 via iPhone
    @yanzidao 可以狗殼
        53
    jsq2627   19 天前
    从 Win8 就开始推的 WinRT/UWP,至今不温不火。WPF 坐拥企业市场生态,过去几年缺几乎停滞更新迭代。现在又搞什么 XAML Islands 重新给 WPF 续命。
    Xamarin Forms 野心很大,底层搞的也很好,就是很难用。

    微软难道不知道开发者想要什么吗?一个看起来不错的 UI 库,不太差的开发体验,尽可能跨平台。WPF/UWP/Xamarin 总是在某个方面缺根弦。。要不桌面市场也没 electron 什么事了
        54
    jsq2627   19 天前
    @LokiSharp #45 .Net Core 3 来了,未来可能要变成装几十个 .Net Core Runtime :doge:
        55
    andyholo   19 天前
    javafx 试试?跨平台,能和 webview 交互,能用 css 定制组件样式,还有 java 生态的无数包可以用
        56
    FantasyPupil   19 天前
    推荐 2,1 做界面确实难。
        57
    yanzidao   19 天前
    @hkitdog 混淆?
        58
    Linko   19 天前
    学习.net core + WPF
        59
    dosmlp   19 天前
    问就是 Qt
        60
    darknoll   19 天前
    一边日常抵制 Electron
    一边又用着 vscode
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4302 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 32ms · UTC 03:03 · PVG 11:03 · LAX 19:03 · JFK 22:03
    ♥ Do have faith in what you're doing.