`
neora
  • 浏览: 183856 次
  • 性别: Icon_minigender_1
  • 来自: 墨尔本
文章分类
社区版块
存档分类
最新评论

咨询客户端软件开发语言

阅读更多

最近需要做个客户端软件,有以下特征要求:

  1. 有非常多的Socket通信,UDP和TCP都有。但业务逻辑不复杂。
  2. 客户端总体安装大小(包括虚拟机)不能超过12M。
  3. 界面要求比较漂亮,随不要求跟游戏一样华丽,但不能像原生控件一样死板。
  4. 没有数据库操作。
  5. 界面部分区域需嵌入浏览器。
  6. 支持Windows XP和Vista。
  7. 开发团队没有Delphi、VB和VC程序员。有Java和C#的。
  8. 部分功能必须调用已经开发好的Windows dll实现,但这部分非常少。
  9. 对执行效率的要求不高。
  10. 发布包能够尽量抵抗反编译。
  11. 目前处在开发前的准备阶段,还没有最终确定开发语言。
  12. 进度要求3个月内release。
  13. 开发预算相对充裕。


目前的提出的方案有这样几种:

  • 方案一、Java+SWT
  • 用Java开发。配合少量Jni。(dll支持)
  • GUI方案选择SWT。(因为Swing的在Jre中依赖太多,难以精简jre)
  • 精简JRE。(目前已经初步精简到16M了。肯定还可以继续精简)。
  • 几乎不引入任何第三方jar工具包(目的是减少字节量)。
  • 自定义ClassLoader,通过DES加密jar/class。以达到抗反编译目的。
  • 方案二、C# + .net
  • 最大的问题是C#依赖.netframework。.netframework太大了。客户的机器大都没有预装。
  • 方案三、新招聘VC++开发人员组成新的开发团队
  • 方案四、直接外包给别的其他公司的VC团队开发。
  • 重来没试过这种方式啊。


方案最终需要我来决定,我目前比较倾向方案一,但还没有最终决定。

 

很急很犹豫!


大家能帮我分析分析吗,给我点儿建议?或者有什么更好的方案?这里先谢过大家。

 

 

 

 

 

 

 

------------------------------------------------------------------------------------------------------------

KO对战游戏平台 www.ko10000.com 打游戏,交朋友。

分享到:
评论
28 楼 kelaocai 2008-03-02  
Flex !!
27 楼 radar 2008-03-02  
无明 写道
企业内部用软件-->C#,要求装.net framework没什么大不了的,你用java的话,在客户端装jre还不是一个性质?
互连网软件-->java


观点相同!
26 楼 cjmcn-sh 2008-03-02  
Delphi
25 楼 yeganger 2008-03-02  
前端:C#(.net)+Flex
后端:Java(J2EE)

1.有非常多的Socket通信,UDP和TCP都有。但业务逻辑不复杂。
   C#(.net)解决(当然flex也支持Socket)。

2.客户端总体安装大小(包括虚拟机)不能超过12M。
   如果客户端已经安装好.net环境,总安装大小还得看你的dll大约占多大,flex编译后的swf体积很小,也就1M左右吧。

3.界面要求比较漂亮,随不要求跟游戏一样华丽,但不能像原生控件一样死板。
   Flex干这活太合适了,不但界面可以很漂亮,而且可以轻松的增加很多动态效果。

4.没有数据库操作。
   Flex可以通过HTTPService或WebService与Java服务器端交互。

5.界面部分区域需嵌入浏览器。
   C#中可以嵌浏览器,或者通过Flex直接打开一个浏览器页面。

6.支持Windows XP和Vista。
   前端C#就不用说了。

7.开发团队没有Delphi、VB和VC程序员。有Java和C#的。
   服务器端的Java部分没有问题,前端的C#部分没有问题,Java和C#的程序员学习Flex会非常的容易。

8.部分功能必须调用已经开发好的Windows dll实现,但这部分非常少。
   这部分的工作由C#来干。

9.对执行效率的要求不高。
   这样的前端对执行效率的要求高一点也没有问题。

10.发布包能够尽量抵抗反编译。
   比纯Java的前端抗反编译要强。

目前处在开发前的准备阶段,还没有最终确定开发语言。
进度要求3个月内release。
开发预算相对充裕。
   Flex的前端比Java+Ajax的前端开发对一般的Java程序员来说总体应该要快很多。
24 楼 jjx 2008-03-02  
不得不提下visual j++ 6.0,那个速度。 如果当时visual j++能进入下个版本,那绝对是windows gui上的又一开发利器,可惜了wfc整一个windows forms preview版本
23 楼 sofar1218 2008-03-02  
我的java方案:

用excelsior 把java app编译成exe发布
http://www.excelsior-usa.com/java-download-size.html

2 客户端总体安装大小(包括虚拟机)不能超过12M
10 发布包能够尽量抵抗反编译。
这两条完美解决

8 部分功能必须调用已经开发好的Windows dll实现,但这部分非常少。
5 界面部分区域需嵌入浏览器。

这家公司还有个产品xFunction 正是解决这类问题的,不过开源方案或其他也可以
浏览器:是include? 还是引用

我前年用这个编译过Batik,效果还可以

flex的方案在UI上是她的强项,flash渐渐的演变成VM, 但是在底层通讯上跟JVM不能比(或者我的认识有误?)

一句话: java 方案是可以的, .net也可以, 我跟了java, 我推荐以上的java方案
22 楼 mreay 2008-03-02  
AIR安装文件也有十来MB,flex是条捷径。
21 楼 timerri 2008-03-01  
我的开发习惯,一般服务端用java,调试配置灵活。
客户端只用常用控件的用c#,有控件有特殊要求的考虑bcb或delphi.
vc很少用,一般只有写算法或者底层函数的时候用,直接写dll,不写exe.
java不考虑,做ui没有任何优势。
嵌入webbrowser或者嵌入flash或者flex可以应对一些操作界面变化复杂的应用。特别是嵌入webbrowser的,兼有bs和cs的优点,值得提倡。
20 楼 dlxiao 2008-03-01  
delphi
19 楼 ray_linn 2008-03-01  
neora 写道
robbin 写道
还是用Delphi吧,应该是最优选择。又或者可以用wxPython,也不错。


完了,没人挺Java了。



在我看来,java根本不适合开发桌面程序. 我看任何java书,都是把桌面那些章节跳过的,无论是awt还是swing.
18 楼 icefire 2008-03-01  
Swing可能真的过气了,虽然现在Netbeans对Swing做了很多支持,拖拉非常方便了。而且事件响应在java6里也加入了新的类简化了代码。不过都太晚了。

大势已去。。。

Delphi和VB都不错吧,开发都很快。长期来看可以考虑.net
17 楼 jjx 2008-03-01  
如果ui不复杂,就swt ,否则,选择windows forms,只需要看看janus,componentone,devexpress,Infragistics,Telerik,Xceed等诸多第三方组件厂商的组件就可以判断,更何况最新的消息说6月份的服务包会使.net client 启动速度提升40%左右
16 楼 neora 2008-02-29  
robbin 写道
还是用Delphi吧,应该是最优选择。又或者可以用wxPython,也不错。


完了,没人挺Java了。
15 楼 robbin 2008-02-28  
还是用Delphi吧,应该是最优选择。又或者可以用wxPython,也不错。
14 楼 flashj 2008-02-28  
如果是我,就用vb,这东西上手快,只要做过windows开发的,很快就能掌握,你的特征要求都可以满足。
13 楼 我想我是海 2008-02-28  
air + ext
基本上不需要新的技术。
但如果非要Socket通讯的话,估计有点难。能用Http就爽了。
12 楼 shikonglaike 2008-02-28  
感觉还是.net做C/S
比较快。
11 楼 ray_linn 2008-02-28  
当然为了骗客户的钱可以用Swing,那种机车的速度可以有大把的理由让客户买了软件的时候同时还得买你们的硬件~

JNI的麻烦也不是盖的了,比起.NET里的IJW 或者PINVOKE,从开发效率到运行效率都差上一大截。
10 楼 抛出异常的爱 2008-02-28  
VBscript可以调
*.dll
9 楼 stworthy 2008-02-28  
考虑大多数机器都装XP,而XP都预装有.NET FRAMEWORK 1.1框架,运行环境已经具备。

相关推荐

    JAVA语言在计算机软件开发中的应用 (3).pdf

    JDBC技术可以将客户端的接口按照相应要求进行合理处理,在处理过程中可以为软件开发人员及时的提供信息更新与信息咨询的服务。Java Annotation技术可以高效连接编程中的变量,并且实现编程中的各项机制的整合,不仅...

    SVN+中文语言包 - 让您的Subversion客户端“说”中文

    项目管理者:需要监控和管理软件开发过程的项目负责人。 学习者:学习SVN版本控制系统的初学者和学生。 在使用本中文包前,请确保您了解对SVN客户端所做的修改。本中文语言包仅供学习和非商业用途,使用过程中遇到的...

    易语言客户端源码,易语言更新客户端源码,易语言服务控制端源码,

    易语言是一种专为中国人设计的编程语言,它以简体中文作为编程语句,降低了编程的门槛,使得更多非计算机专业的人也能参与到程序开发中来。本资源包含的是易语言客户端和服务控制端的源码,主要用于实现在线客服系统...

    基于人工智能技术与大数据的社区高效管理软件开发与应用.pdf

    人工智能技术与大数据的应用在社区高效管理软件开发中扮演着关键角色。这些技术的结合,不仅能够显著提升管理效率,还能够增强对居民需求的响应和服务的精准度,使得社区管理在特殊时期能够更有效地运行。 在当前...

    TallerImplementa:带有软件库的基本功能(咨询客户端)的实现研讨会,在软件工程课上

    总结来说,这个工作坊提供了从需求分析、设计、编码到测试的完整软件开发实践,涵盖了Java编程的基础和高级特性,对于提升软件工程学生的技能和实践经验大有裨益。参与者不仅可以深化对Java语言的理解,还能学习到...

    MSN手机客户端1.1.6

    国际化支持(当前支持的语言有简体中文、繁体中文和英文) <br>注意: <br>由于使用了socket连接,对于中国移动的用户,本软件只支持'cmnet'连接方式,因此当系统询问连接方式的时候,请用户务必使用访问点为...

    安心酒店订房系统 包含了服务器和客户端

    安心酒店订房系统是一款集成了服务器和客户端的综合性软件,主要功能包括用户登陆注册、在线浏览房间信息以及与客服进行咨询。在这个系统中,我们将会深入探讨与“qt”标签相关的技术应用,以及如何构建这样的系统。...

    PLSQL集成ORACLE客户端精简版

    总之,"PLSQL集成ORACLE客户端精简版"是一个方便的工具,特别适合那些只需要进行基本的PL/SQL开发和数据库管理,而不想安装完整Oracle客户端的用户。只要遵循正确的安装步骤和注意事项,它能极大地提升你的工作效率...

    毕业设计,基于安卓AndroidStudio开发的校园求职招聘App,包括安卓服务器端和安卓客户端,内含完整源码、数据库脚本

    毕业设计,基于安卓AndroidStudio开发的校园求职招聘App,包括安卓服务器端和安卓客户端,内含完整源码、数据库脚本 基于安卓AndroidStudio校园求职招聘app设计毕业源码案例设计 开发软件:Eclipse/Idea + Android...

    基于springboot心理治愈网站论文.docx

    本论文主要论述了如何使用 JAVA 语言开发一个心灵治愈交流平台,该系统将严格按照软件开发流程进行各个阶段的工作,采用 B/S 架构,面向对象编程思想进行项目开发。 知识点一:JAVA 语言 JAVA 语言是一种面向对象...

    安卓应用-健康医疗-317护客户端 V2.7.4 安卓版.zip

    1. **应用程序结构**:317护客户端的文件层级结构反映了其内部模块化的组织方式,将安卓应用、健康医疗和317护客户端等信息分门别类,这有利于软件的开发和维护,同时也方便用户理解和使用。 2. **安卓平台兼容性**...

    安卓应用-健康医疗-泓华医生手机客户端 v3.5.6.zip

    安卓应用主要基于Java或Kotlin语言开发,采用Android SDK(软件开发工具包)进行编程,利用Android Studio集成开发环境进行编译和调试。泓华医生手机客户端也不例外,它的核心功能模块很可能由这些技术构建而成。 ...

    安卓应用-健康医疗-百度医生医生客户端 v2.8.1.zip

    1. **安卓应用开发**:安卓应用是基于Android操作系统开发的软件,使用Java或Kotlin等语言编写,遵循安卓应用的生命周期管理和组件模型。开发者需要了解Android SDK、Android Studio等工具,以及XML布局文件的编写。...

    安卓应用-健康医疗-途欢健康手机客户端 v3.2.3.zip

    1. **安卓应用开发**:Android是一个开源的操作系统,开发者可以使用Java或Kotlin等语言开发应用。途欢健康手机客户端遵循Android的开发规范,可能使用了Android Studio作为集成开发环境。 2. **健康医疗应用**:...

    安卓应用-健康医疗-妇幼医生助手客户端 v1.2.zip

    开发者通常使用Java或Kotlin语言编写Android应用,并通过Android Studio集成开发环境进行编译和调试。 2. **健康医疗应用**:这类应用通常包含各种功能,如个人健康记录管理、疾病查询、在线咨询、医疗资讯推送、...

    基于php的大学生心理健康咨询网站(源码+开发文档+演示视频)

    3. **Apache**:是世界上最流行的Web服务器软件,能够处理HTTP协议,将PHP脚本解析并返回给客户端。 4. **MySQL 5.7**:作为关系型数据库管理系统,MySQL是许多Web应用的数据存储解决方案。5.7版本提供了更多性能...

    客服在线管理,仿QQ即时通讯,适合开发捆绑在自己的程序中便于客户管理咨询

    7. **易语言源码应用**:易语言是一种易学易用的编程语言,适用于快速开发。此项目的源码使用易语言编写,为开发者提供了直观的学习和二次开发基础。 在实际开发过程中,开发者可以参考以下步骤: 1. **环境搭建**...

    计算机专业毕业实习报告 .doc

    10. 计算机专业软件开发流程:计算机专业软件开发流程包括需求分析、设计、实现、测试、维护等阶段。在实习过程中,学习到了计算机专业软件开发的具体流程,提高了自己的实习工作能力,适应社会能力和自我管理的能力...

Global site tag (gtag.js) - Google Analytics