jianfengqu
2009-03-11 11:13
浏览 566
已采纳

桌面开发,java vs delphi,谁胜一筹?

我是开发大型监控软件的,团队有十几个人。开发模式是c/s结构:数据库+几个客户端。每个客户端完成不同的监控功能。开发工具用的是delphi。其实以前我做了两年j2ee应用,给河南国家税务局做税务软件。 在做监控软件时,我对java开发桌面的成熟度心里没有谱,所以选择了delhi。到现在,我们的系统已经基本成型,程序很庞大。在做的过程中呢,我发现delphi在做小的东西还挺快,而在做大的东西时,不是我期望的效率。我会下意识地把它和java比较,总感觉到java更合理:

delphi类的管理、加载方式不如java好:一个单元里面可以塞很多类,这样多个人在修改一个单元时会有一些麻烦。且没有包的概念,我试着按文件夹把不同的单元分开,可是,发现其他人总是忘了在工程中加入一个单元,而引起错误。这和delphi的类加载机制有关系。我感觉还是java的方便。

delphi资料太少:这是我最痛苦的一点,遇到一个问题,从网上搜个资料很是不容易,我的问题基本上都是在国外的网站上搜到的。到如今,我需要一个连接池,很不容易地搜了一些资料,且发现都不是我想要的。

……

现在,想请问高手,到目前为止,java在桌面开发方面发展成熟了没有,是否可以用来开发一个大的系统,如整个省的高速公路监控系统,系统大概结构:全省有很多监控中心,每个监控中心有若干个监控软件,它们是独立的桌面程序,互相也会有一些交互。用户要求界面美观、大方、操作方面。 请问java现在能实现不?和delphi比怎么样?

多谢各位解答,跪谢!!!!
[b]问题补充:[/b]
说实话,我想用java,而.net我是绝对不会选的。我不想对windows有太强的依赖。但是就是对java做大型、复杂的桌面程序到底性能了、效率了之类的因素心里没谱。
[b]问题补充:[/b]
to:FengShen_Xia

这绝对不是喜欢哪个就用哪个的问题,一个好的架构师,应该对未来行业的发展有所预测,在选择开发工具时,要根据自己的实际情况的需要,从各个方面对开发工具的一些因素进行评估比较,最后选择一个合适的。

加入我喜欢c语言的话,我难道用c语言去做一个监控系统,那不把所以的开发人员累坏了。领导肯定也不愿意,他难道会让我们用做一个操作系统的时间去做一个监控软件,他岂不疯掉???
[b]问题补充:[/b]
我已经说了我的应用背景,是做一个监控软件(这个软件还比较复杂),不是做一个操作系统,或自己在家里玩着做一个程序。所以,请各位大侠根据我的应用背景去讨论。
[b]问题补充:[/b]
to:FengShen_Xia

"但是如果要大规模的用于桌面应用开发,那么速度上就不能得到保证。"为什么你会这么说,我想知道他速度慢的原因。请给小弟解释一下,谢谢!

[b]问题补充:[/b]
to:FengShen_Xia,Devin.Chenzx两位大侠,目前用java开发的桌面应用有没有典型的、复杂一点的例子让我看一下,不用让我看eclipse,这个我当然见过,还有哪个免费的日程计划工具我也看了,那个不是很复杂,估计体现不了java的优点。 请举一两个经典、复杂一点应用软件。
[b]问题补充:[/b]
to:night_stalker.GUI开发的效率、效果是我选开发工具的一个方面,还有其他很多方面。请大师们帮小弟综合分析一下,注意:一定要综合。
[b]问题补充:[/b]
to:RednaxelaFX这个大侠,感谢你的参与。我看了里面的几幅图,效果不错。
[b]问题补充:[/b]
to:night_stalker,非常感谢你的参与。除了GUI的效果及其效率,还有是否跨平台外,我其实最关注的是[b]整个软件的开发效率与运行效果的整体权衡[/b]。所以,才有了咱们这个讨论的话题。
[b]问题补充:[/b]
非常感谢前面多位热心人的讨论。但是,到目前为止,我还是没有得到两者的详细分析比较的结果。[size=medium][b]期待高手做详细的分析。。。。。。[/b][/size]
[b]问题补充:[/b]
to:liujunsong.如果我给领导说要做一个界面解释器的话,他肯定会问:“得多长时间,能带来什么好处,难道一定要做吗,这不是浪费工期吗,算了算了,直接用delphi不就得了,你们这个搞技术的,成天爱捉弄一些没用的。要知道,快速实现需求才是最重要的。唉……”
[b]问题补充:[/b]
to:liujunsong.我相信你的编程能力一定很强!
[b]问题补充:[/b]
问题讨论结束。通过上面的讨论,我决定选用java.

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

18条回答 默认 最新

  • ChocooM 2009-03-11 14:30
    已采纳

    其实很多人说java桌面开发速度慢,是对用Swing开发来说的(开发效率和执行效率),但是这些问题现在已经不是最主要的了,可以通过高配置来解决。再说用Swing开发,她的灵活性足够好,只要你水平够,什么样的效果都是可以弄出来的。

    后来又了SWT以后,觉得SWT比Swing方便些,所以很多人选择SWT。

    而JavaFX出来后很大程度上简化了Java GUI 的开发,如果Java对多媒体支持好一点,启动速度快一些。如:Swing没有坐标的概念,做动画就非常困难,用JavaFX就很简单了。

    现在Flex比较受欢迎,在UI方面与用户视觉感受方面那是没得说的。至于它的运行效率感觉还可以。

    打赏 评论
  • Download_Man 2009-03-11 11:40

    去delphi吧 竞争对手少一个

    打赏 评论
  • qiao88 2009-03-11 13:38

    java的桌面做的越来越好了(性能)。你应该选择java。

    打赏 评论
  • iteye_4277 2009-03-11 13:45

    最好用.net的 forms

    打赏 评论
  • ChocooM 2009-03-11 13:47

    喜欢那个就用哪一个
    每一个都有自己的长处,用好了都是好东西

    打赏 评论
  • ChocooM 2009-03-11 14:11

    java在桌面开发方面发展还是相当不错的。有三个主要的图形界面工具:AWT,Swing和SWT。Swing 是构建java图形界面标准的API(应用程序接口),一些AWT类由Swing基础而来。SWT是一个非常有前途的新的窗体工具,由IBM资助。但是事实上,这三者相互补充,他们满足不同的需求。

    Java更适合做企业应用(企业服务器应用),当然也可以用来做桌面应用,但是如果要大规模的用于桌面应用开发,那么速度上就不能得到保证。

    打赏 评论
  • iteye_4277 2009-03-11 14:18

    java做桌面程序就没有几个好的案例

    当然这是好几年前的说法

    最近怎么样,你可以关注一下 java FX

    但我还是认为最好的选择是.net

    特别是针对国有企业这样爱好windows的用户!

    打赏 评论
  • iteye_4277 2009-03-11 18:16

    有也不可能给你的,都是商用软件
    控制的很严的

    华为的网管平台软件是用java swing做的

    不过界面实在不好看

    当然人家必须要运行在各种操作系统上

    所以也就忍了

    打赏 评论
  • rednaxelafx 2009-03-11 19:55

    楼主有没有兴趣看看这组截图,[url]http://blog.palantirtech.com/2008/07/04/palantir-screenshots-round-two/[/url],也是Java Swing做的界面。界面上看是够复杂了 =v=

    打赏 评论
  • xenocide 2009-03-11 21:02

    其实.NET做图形界面挺好的,比Java GUI成熟,速度和美观都很好。
    Swing能弄得很漂亮,不代表你能弄得很漂亮。
    Swing能跑得快,不代表你的程序跑得快。

    一开始就想跨平台没意义,你想想,你的客户端给谁用的?程序员还是一般用户?
    而且很多linux和mac用户都有个windows虚拟机或者双系统的。
    而且.NET将来也能在linux下面跑。(如果你还考虑手机用户等就另当别论了)

    我觉得,做GUI,真正应该多考虑的是色弱人群和残疾人的可用性而不是跨平台。

    打赏 评论
  • mjcmjc88 2009-03-12 11:40

    java 现在已经很不错了

    打赏 评论
  • ddppfamily 2009-03-12 17:04

    强烈支持java
    我就用java自己做过桌面程序

    打赏 评论
  • manboo 2009-03-12 18:06

    两者都可以的!各有优势了!如果不考虑跨平台,且业务复杂度不高的化可以选delphi,java在UI开发上不是很理想

    打赏 评论
  • xiyeqing 2009-03-12 19:05

    各有千秋!如果不考虑跨平台的话可以选delphi,java在UI开发上不是很理想,swing,awt都很难用,而且速度慢

    打赏 评论
  • liu13522913940 2009-03-12 22:24

    我要给个不同的建议:最近我正酝酿写一篇这方面的文章.
    如果这个系统对你们非常重要的话,
    我建议你们自己写一个界面的解释器,自己定义一个界面描述语言.
    至于解释器本身,既可以用delphi写,也可以用java写
    我现在在写的一个东西,就是采用这种思路来做的.
    这样才能彻底摆脱对语言的依赖和升级过程.

    打赏 评论
  • baidu_26022431 2009-03-13 11:35

    建议考虑python

    打赏 评论
  • liu13522913940 2009-03-13 20:05

    界面的开发周期问题是这样的.
    其实从我最近写界面解析器的经验来看,实际上难度真的没有那么大,
    做一个简单的界面解析原型,有1个月就够了,
    要是不信,改天我把我做的界面解析原型发上来看看.
    而且界面解析弄完以后,可以移植到不同的语言环境上实现
    这样才能真正保证应用系统的稳定性,
    改变原来那种一升级底层语言或者平台,一切推倒重来的做法.
    有兴趣加我msn交流交流.webdw2009@hotmail.com
    找我当顾问,我来给你们设计设计,保证没问题.

    打赏 评论
  • clever101 2021-04-16 12:13

    推荐java的纯扯淡,先不说做得界面是否能做得漂亮和快慢,请问你开发的软件后续不需要维护吗?开发人员离职后怎么维护?你到招聘网站上去找找有几个做AWT,Swing和SWT开发的?delphi我都不推荐,因为delphi的开发人员也是越来越少。桌面开发如果是只是运行在windows上就是.net,如果跨平台的就是qt和pyqt。

    打赏 评论

相关推荐 更多相似问题