最近需要做个客户端软件,有以下特征要求:
- 有非常多的Socket通信,UDP和TCP都有。但业务逻辑不复杂。
- 客户端总体安装大小(包括虚拟机)不能超过12M。
- 界面要求比较漂亮,随不要求跟游戏一样华丽,但不能像原生控件一样死板。
- 没有数据库操作。
- 界面部分区域需嵌入浏览器。
- 支持Windows XP和Vista。
- 开发团队没有Delphi、VB和VC程序员。有Java和C#的。
- 部分功能必须调用已经开发好的Windows dll实现,但这部分非常少。
- 对执行效率的要求不高。
- 发布包能够尽量抵抗反编译。
- 目前处在开发前的准备阶段,还没有最终确定开发语言。
- 进度要求3个月内release。
- 开发预算相对充裕。
目前的提出的方案有这样几种:
- 方案一、Java+SWT
- 用Java开发。配合少量Jni。(dll支持)
- GUI方案选择SWT。(因为Swing的在Jre中依赖太多,难以精简jre)
- 精简JRE。(目前已经初步精简到16M了。肯定还可以继续精简)。
- 几乎不引入任何第三方jar工具包(目的是减少字节量)。
- 自定义ClassLoader,通过DES加密jar/class。以达到抗反编译目的。
- 方案二、C# + .net
- 最大的问题是C#依赖.netframework。.netframework太大了。客户的机器大都没有预装。
- 方案三、新招聘VC++开发人员组成新的开发团队
- 方案四、直接外包给别的其他公司的VC团队开发。
- 重来没试过这种方式啊。
方案最终需要我来决定,我目前比较倾向方案一,但还没有最终决定。
很急很犹豫!
大家能帮我分析分析吗,给我点儿建议?或者有什么更好的方案?这里先谢过大家。
------------------------------------------------------------------------------------------------------------