• 请不要在回答技术问题时复制粘贴 AI 生成的内容
albertofwb
V2EX  ›  程序员

客户端开发用 Java 还是 C#

  •  
  •   albertofwb ·
    albertofwb · Sep 7, 2017 · 10874 views
    This topic created in 3354 days ago, the information mentioned may be changed or developed.
    如果平台仅限于 windows 的话一般是 C#

    如果希望客户端同时还能运行在 linux mac 上,也是 java

    我发现有的跨平台软件,在 linux mac 上的主要部分共用 java 代码,而在 windows 却单独用 C#

    想知道这是为什么?
    65 replies  •  2019-12-17 15:21:31 +08:00
    cccRaim
    cccRaim
    Sep 7, 2017 via iPhone
    1
    js 啊(滑稽
    JohnLou
    JohnLou
    Sep 7, 2017
    2
    让 linux 的用户都来 windows,linux 敲敲命令行得了。
    limhiaoing
    limhiaoing
    Sep 7, 2017 via iPhone
    3
    之前 C#官方不支持这 2 平台呗,现在.NET Core 虽然支持,但并不包含 GUI。
    WordTian
    WordTian
    Sep 7, 2017 via Android
    4
    java 程序的界面,写的真他喵费劲啊
    albertofwb
    albertofwb
    OP
    Sep 7, 2017 via Android
    5
    @cccRaim 这个的确是目前比较时髦的技术。平台通吃呀。
    mosliu
    mosliu
    Sep 7, 2017❤️2
    6
    electron..
    wolong
    wolong
    Sep 7, 2017
    7
    发现有的跨平台软件,在 linux mac 上的主要部分共用 java 代码,而在 windows 却单独用 C# 。

    windows 平台 C# 应该是不二之选了,自然用这个是最方便的。(也有认为用 QT 之类的更好,这个就是每个人的观点不同造成的了,反正我是喜欢 C#)

    Java 跨平台,可能在 gui 方面在各平台上有点差异,所以 linux、mac 上核心逻辑代码上共用一段 java,具体 gui 上再用相应的库。

    我想问的是,你的目标客户真的是三个平台上的用户比例都是相当的吗?有必要去折腾 java 的 gui 吗?
    gowk
    gowk
    Sep 7, 2017 via Android
    8
    electron+1
    oyjc
    oyjc
    Sep 7, 2017
    9
    Windows: C# .NET Framework
    MacOS/Linux/Android/iOS: C# Xamarin
    Web Browser: C# MONO-WebAssembly

    Server: .NET Core (linux or win server)
    albertofwb
    albertofwb
    OP
    Sep 7, 2017 via Android
    10
    @wolong 当然,大部分还是 windows 用户,只是好奇为何不在 windows 上沿用大部分公共 java 代码
    janxin
    janxin
    Sep 7, 2017 via iPhone
    11
    你要跨平台不好选啊,Windows 上我只用 C#
    wolong
    wolong
    Sep 7, 2017
    12
    @albertofwb 估计是 C#和 java 混着用不太方便?也可能 windows 是一组人在做,这个是主力方向,mac/Linux 是一组人做,这个是次要方向,相当于做着玩。具体不懂了。
    albertofwb
    albertofwb
    OP
    Sep 7, 2017 via Android
    13
    ^_^,谢谢了
    evolify
    evolify
    Sep 7, 2017 via iPhone
    14
    JavaFx 也还不错
    diyisoft
    diyisoft
    Sep 7, 2017 via iPhone❤️2
    15
    现在 Delphi 10.2 全平台通吃
    WispZhan
    WispZhan
    Sep 7, 2017
    16
    @evolify +1

    ---

    Java FX 比 Swing / AWT / SWT 界面更炫。而且类 XML 的 UI 布局更贴近于前端的一些开发,甚至支持 CSS。

    这个例子貌似不错。
    https://github.com/asciidocfx/AsciidocFX
    leeg810312
    leeg810312
    Sep 8, 2017 via Android
    17
    java 的 gui 没有好用的 IDE 开发,vs 做 winform 开发太方便了
    wdlth
    wdlth
    Sep 8, 2017
    18
    上 nw.js
    quanwei9958
    quanwei9958
    Sep 8, 2017 via iPhone
    19
    electron +1
    dsg002
    dsg002
    Sep 8, 2017❤️1
    20
    正在用 C#开发客户端的怒答一发,C#开发开发客户端方便的不是一点半点,多线程操作窗口组件几乎没有额外的知识负担。
    msg7086
    msg7086
    Sep 8, 2017❤️1
    21
    Java 做图形界面就是_____________。

    当然努力一下也是可以做得好的,但是前提是你真的得努力一下。
    precisi0nux
    precisi0nux
    Sep 8, 2017❤️2
    22
    说 electron 的真的不嫌体积大吗?
    Cbdy
    Cbdy
    Sep 8, 2017 via Android
    23
    jb 全家桶是 java 做的,感觉挺好的
    ucanuup
    ucanuup
    Sep 8, 2017
    24
    就没有人推荐 QT 吗? QT 专业做跨平台客户端。
    atcdef
    atcdef
    Sep 8, 2017
    25
    lazarus freepascal 的 ide,跨平台不错。用这个写过几个小工具。没试过大项目
    yulitian888
    yulitian888
    Sep 8, 2017
    26
    @limhiaoing mono GtkSharp
    yuyuyu
    yuyuyu
    Sep 8, 2017 via iPhone
    27
    你不知道 mono 吗? c#这三个平台通吃
    Akkuman
    Akkuman
    Sep 8, 2017
    28
    qt
    delphi
    lazarus
    都是全平台 gui
    yidinghe
    yidinghe
    PRO
    Sep 8, 2017 via Android❤️1
    29
    如果楼主已经熟悉 Java,那么可以考虑 javafx。如果不知道怎么入门,可以看看这里 https://www.beibq.cn/book/2ajm633/intro
    xomix
    xomix
    Sep 8, 2017
    30
    港真做 java 的 gui 还不如做成服务器端用 nwjs 之流做客户端呢
    lrh3321
    lrh3321
    Sep 8, 2017
    31
    ts 或者 js 吧,vscode 就是基于 electron 来的
    plqws
    plqws
    Sep 8, 2017
    32
    JavaFX 和 Electron 二选一,选自己会的。
    torment5524
    torment5524
    Sep 8, 2017
    33
    刚工作的时候做了几年 eclipse 插件开发,习惯之下,用 swt 做过一些客户端,体验也还不错,用 java 做客户端其实也不是不行,看熟不熟悉了,java 的界面布局刚接触很容易头大。不过现在 eclipse 也提供 swt 的拖放界面,应该方便不少,就是在不同的环境下运行需要准备不同的 swt 包。
    java8 的话可以直接用 javafx,感觉应该方便不少,一直在低版本下开发,没用过这个,只是觉得 jre 自带的话应该在跨平台的时候方便不少。
    c#界面拖拖放放就出来,效率的确是高。
    yalanaika
    yalanaika
    Sep 8, 2017
    34
    delphi +1
    Tuisku
    Tuisku
    Sep 8, 2017
    35
    nw.js
    kenshinji
    kenshinji
    Sep 8, 2017
    36
    Electron
    justicelove
    justicelove
    Sep 8, 2017
    37
    chocotan
    chocotan
    Sep 8, 2017
    38
    jxbrowser 很不错,但是是要购买授权的
    kevinzhwl
    kevinzhwl
    Sep 8, 2017 via iPhone
    39
    @cljnnn671 显然可以推荐,个人认为是中上之选。但入门难度有提高,楼主未必能接受。
    imherer
    imherer
    Sep 8, 2017
    40
    electron +1
    albertofwb
    albertofwb
    OP
    Sep 8, 2017 via Android
    41
    感谢各位的认真回复 @everybody
    daimazha
    daimazha
    Sep 8, 2017
    42
    electron 吧,现在用的比较多。
    rwecho
    rwecho
    Sep 8, 2017
    43
    @albertofwb

    你是要感谢各位呢还是 everybody 呢?
    ByteRan
    ByteRan
    Sep 8, 2017
    44
    electron
    jjx
    jjx
    Sep 8, 2017
    45
    @diyisoft

    delphi 有 gc 了吗

    没有 gc 的语言写应用真心累
    voocel
    voocel
    Sep 8, 2017
    46
    @everybody 就可以 @到所有的人吗? v 站还有这隐藏技能?
    xomix
    xomix
    Sep 8, 2017
    47
    @voocel 并不能
    leavic
    leavic
    Sep 8, 2017
    48
    python 大法好!
    yzhen123
    yzhen123
    Sep 8, 2017
    49
    c# + gtk#
    janxin
    janxin
    Sep 8, 2017
    50
    =,=你们推荐 nw.js 或者 electron 的话,本地功能还是需要 C++,只是远端功能的话 B/S 也能解决吧
    jason19659
    jason19659
    Sep 8, 2017
    51
    我会 java 嵌入个网页
    runningman
    runningman
    Sep 8, 2017
    52
    qt
    owenliang
    owenliang
    Sep 8, 2017
    53
    QT。

    或者

    Delphi 10.2
    a7063888
    a7063888
    Sep 8, 2017 via iPhone
    54
    Delphi …
    shuimuyian
    shuimuyian
    Sep 8, 2017
    55
    electron 或者 nw.js
    gnaggnoyil
    gnaggnoyil
    Sep 9, 2017
    56
    既然.Net Core 没有 GUI 组件的话那最不烂的选择只有 Qt 了……

    顺便你们这些推荐 electron 的是认真的吗?至少为客户的机子着想吧……
    wedaren
    wedaren
    Sep 9, 2017
    57
    electron+1
    limhiaoing
    limhiaoing
    Sep 9, 2017
    58
    @yulitian888
    注意我的原话是
    “之前 C#官方不支持这 2 平台呗,现在.NET Core 虽然支持,但并不包含 GUI。”
    你说的 mono 并不是官方的。
    至于你说的 GtkSharp,我说的不包含 GUI 是说.NET Core 不包含 GUI。
    zjsxwc
    zjsxwc
    Sep 9, 2017 via Android
    59
    果然很 winV2EX
    yulitian888
    yulitian888
    Sep 9, 2017 via iPad
    60
    @limhiaoing 严格来说,你是对的。就回答楼主的问题而言,你的回答看似有歧义,会让不知情的人觉得目前并没有 gui (而不是没有官方 gui )

    然后,补充个事,mono 的版权方,Xamarin 公司,被微软收购了。所以,mono 就算不是亲儿子,也算是收养了,姑且算半官方吧。
    yulitian888
    yulitian888
    Sep 9, 2017 via iPad
    61
    @limhiaoing 再补充一句,gtk#是随 mono 一起的,装了 mono 就有了,而不是你解读的两个东西。
    limhiaoing
    limhiaoing
    Sep 9, 2017
    62
    @yulitian888
    注意我的原话是
    “之前 C#官方不支持这 2 平台呗,现在.NET Core 虽然支持,但并不包含 GUI。”
    这里的“之前”是微软宣布.NET Core(2014)之前,微软收购 xarmarin 是在去年(2016)。另外我没说 gtk#不属于 mono,我只是说对于你举出的 gtk#,我的原意是.NET Core 不包含 GUI。
    beginor
    beginor
    Sep 10, 2017 via Android
    63
    mono + gtk# 跨平台, 可以自带 runtime, 还可以用 mkbundle 打包(加壳)成一个独立的可执行文件, 参考 U3D 桌面版客户端, 可以说是 mono 的一站式解决方案。
    skadi
    skadi
    Sep 10, 2017
    64
    拒绝 electron ,真心是新一代 flash.内存占用简直爆炸.
    better2man
    better2man
    Dec 17, 2019
    65
    您好,我这边想咨询一下您是否有撰写 aelf 技术解读资讯或文章(技术优势对比、经济系统解读、分析 aelf 经济系统设计思路)并进行发布的意愿,aelf 也会对您写出的文章做曝光推荐(含 aelf 自媒体频道、aelf 合作媒体渠道)及后续的开发者社区相关福利活动也会优先对您进行安排。

    AELF 是一个去中心化的云计算平台,旨在帮助企业 /个人高效便捷地使用基础区块链技术构建去分布式应用( DAPP )。在中心化领域中,我们使用亚马逊 AWS 部署服务,在区块链领域中,可以将服务托管在 AELF 去中心化云计算区块链网络上。

    如有意向请添加微信:a439714,请您备注(aelf 文章)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1341 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 111ms · UTC 17:26 · PVG 01:26 · LAX 09:26 · JFK 12:26
    ♥ Do have faith in what you're doing.