Java之旅

决定开始真正使用Java开发实际的产品和应用,我不知道为什么会抛弃已经基本熟悉的.Net,也许很重要的原因是.Net的服务器端系统软件没有开源和免费的午餐可选,在微软的工作流组件出来前,我找不到合适的工作流引擎可以用于开发流程能够灵活设置的信息系统,那是一种痛苦。在作了近三年的C/C++后,发现自己更加不喜欢庞大的东西了,据说Java6又小了快了,而VsualStudio8在我的Dell手提电脑上这三年的爬行,我真是受够了,后悔当初太快使用最新的工具和软件了。试用了下Eclipse3.2.1,诸多特性立即让我喜欢上了,也试了下NetBeans,刚启动后,第一眼就有点不喜欢,想试一下Web开发(听那些Sun Guys说不用象Eclipse要下载很多插件,而且可以象VS那样可视化开发JSF应用),可是由于没发现可以配置服务器为Tomcat的地方(没仔细找),所以放弃了它,总的感觉Eclipse的界面反应速度要好于NetBeans。
  
  确定了底层框架使用Spring+Hibernate,虽然看了很牛的AppFuse,觉的挺好,但是还没跟上Java5的脚步,我总是喜欢新的东西,也许我又要付出代价,但我依然选择前行,因为花了几天时间看了Java5/6的新特性,发现有新特性在.Net里面也有,熟悉的东西总是令人幸福,就像你见了老情人(如果有的话)时唏嘘不已。然而我没有想要使用EJB3.0的打算,因为我这么多年没有真正使用Java就是因为当初看了点EJB的资料,觉的写这样的程序太累人了,虽然EJB3简化到只需一个@EJB的Anotation,但我有点怀疑底层的机制还是老的,有待验证一下,等待先吃螃蟹的人出现了。还有一个原因是,ApplicationServer都太吃钱了,那玩意对于贫穷的我,买不起啊,也不知道客户愿不愿意买啊,JBOSS虽然不用钱,可是文档卖钱,没详细文档怎么开发,岂不苦死?就像我这三年弄OpenCasCade5.2一样,没日没夜的钻到代码中,就象只老鼠。怕了它了,所以开源的东西并非免费,使用的时候慎重为是。

  比较了展示层框架Structs,Tabestry,JSF,Structs规定了你必须在ActionForm和ActionBean之间徘徊,对于喜欢自由生活的我无法忍受,Tabestry号称纯HTML的模板,可是你还是必须在其中嵌入一些符号来替换动态的内容,如果这样的化我用自定义的Tag又有什么不好呢?最后决定还是选择JSF,又先吃螃蟹?因为它跟Asp.Net较接近啊,容易上手,不管了,发现现在学习的目的不是为了掌握更多的知识了,什么最有利就用什么,考虑的是商业利益了,知道使用对于自己成本最小的解决方案了。因为曾经是VB程序员,富客户端和RIA一直是我追求的,常年一线接触挑剔的客户,知道如果你的输入界面全是文本框,客户会踢死你。所以一直对ASP作引用不是很感冒,但是我却看到了成功的案例很多,例如TurboCRM,多年前我看到演示的时候觉的那没什么。后来曾经在Asp.Net1.1的时候作了些有客户端行为的输入控件,但表格控件始终没有实现,原因是实现这种复杂的控件需要大量时间,难度也很大,还不如买一个算了,记得有个WebGrid.Net就很不错,这样你就不用让客户在一个新页面上用文本框输入表格的内容了,象Excel一样,多棒啊。也考量了一下Ajax框架,发现Ajax4jsf好像挺不错,决定试试,但我并不推崇过渡使用XMLHTTP,我始终认为,能不用就不用,原则是尽量减少与服务器端的交互,否则你的应用经不起折腾,用户数一多,就会象蜗牛一样。Google出了个GWT,可将java翻译成javascript,天才们的想法,可是我觉的没前途,最近上gmail就发现首页出来慢的让人直骂娘,也许因为最近海底电缆断了?可是这时候就喜欢Hotmail了,反正客户是绝对不会喜欢等待的。

  研究了下Eclipse的RCP开发过程,觉的很棒,虽然界面不能Skinnable但已经挺漂亮了,如果Web无法处理的大量表格输入的场合,决定用它来实现了,可以自动升级,不用你去每台安装,那不就是Web应用追求的目标吗?

  最后,给出我的Java组合:Spring2+Hibernate3+JSF1.2+Eclipse3.2.1+Lomboz+Tomcat5.5+MySQL5

  Java对于我,既熟悉又陌生,熟悉它的语法,看了很多书和Demo,但真的没有实作过哪怕一个小的应用,我把自己定位在初学者的身份,写这篇文章以资鼓励自己和那些正在学习中的同仁们,顺便留个纪念,如果将来我成为一个Java高手,就可以看到现在是多么幼稚的自己,哈哈!

     一篇JSF的好文章 http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=2630

你可能感兴趣的:(Java,java,eclipse,netbeans,jsf,hibernate,ejb)