最近还是觉得javaEye的能人多,我有一个问题希望与诸位探讨。

可能大多数科班出身的程序员最开始在大学里面都是学的C 或者 CPP,学的多一点的会做点mfc来玩,后来学java,要么是自学,要么是大势所趋,要么是迫不得已,总之java很牛,用的人很多,jvm很健壮很靠谱,java能让我们吃上饭,养家糊口。可是作为一个有desktop App情结的程序猿,我总觉得不能写桌面程序,生活总是不完美的,甚至不能算一个真正的程序猿。而这,往往是java不能言说的痛。各位应该注意到,火了几年的html5和css3 现在已经真正的如日中天了,移动终端上webkit的天下无敌,更是让html5炙手可热,于是,在我的桌面程序情结驱动下,我就想搞个cs+bs的复合体,既可以用html来快速而高效的渲染UI,又可以利用cs的及时性以及本地权限,而且bs的更新便利,开发代价小等等优势都可以体现出来,如果使用html5+css3来做的话,界面就会更好,甚至跨平台不用改UI的代码的。

在这方面,我也做过研究,国内至少有两家在做这种东西(已经对外公布出来的),一家是豆瓣,一家是豌豆荚,他们都是用的python开发,使用webkit引擎,豆瓣的说的不了了之了,豌豆荚的说的是要开源,现在也没有消息(大家可以下载豌豆荚2.0玩玩,界面真的很好)。国外的就多了,sencha已经推出了企业版的sencha  desktop  architecture(这玩意儿收费老贵了,自带extjs4.0),google也有类似的东西,还有基于nodejs的,这些东西的原理都是一个,使用webkit来渲染界面,本地程序充当一个浏览器,两者使用js来通信。但他们都不是用我最熟悉的java,据我了解,swt算是java desktop App里面本地化和样式做的最好的了,而且swt 也能实现js和开发语言通信的功能,于是我做了一些尝试,甚至在项目使用了这些。可是,如果我使用用户自己电脑的ie内核(只考虑用户使用windows),那么ie6-8的问题我就不想再提了,相信是每个人心中的痛,恨不得食其骨饮其血,我精心收集的很炫的html5和css3都用不上了。后来想用webkit的内核,却找不到方法,只好退而求其次,用firefox的内核引擎xulrunner,xulrunner更新很频繁,几乎一周一个版本,html5评测分数也相当高,都快接近400了,但这些还要受制于IBM的swt啊,这个更新就太慢了,因为swt要适应xulrunner的接口,要调整参数等等,而且在实际项目中发现,这个东西确实不是很稳定,甚至远不如ie内核稳定,出现了问题也很难下手去改(我改了不xulrunner的源代码),现在就纠结了,看起来很美好的东西成为了食之无味弃之可惜的鸡肋,或者是裹了人参的鱼骨,美味,但真怕吞下去的时候卡住了,各位有没有这方便的经验,这种模式做的东西真的是高效、美观、强大、易用,做个OA或者内网的什么系统真是妙不可言,苦于在做基本框架的时候定不下来,如果有人能把webkit直接封装到这个里面就好了。

用这种方法开发的安装程序,包含了精简过的jre,xulrunner引擎,和所有要用到的jre包,如果使用ie内核,不带xulrunner,安装文件也才10M左右,加上xulrunner,就有30M了,也算可以接受,毕竟,面向的客户都是内网使用的,而且安装一次,以后的升级都在服务器。

大家给提提意见。