`
boby2046
  • 浏览: 67155 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

前台与后台并举,最近一年将要研究的技术

阅读更多
2007年是IT界不寻常的一年,网络的泡沫视乎又长起来了,在JDON里潜水日久,也大概偷窥出一些天下大势走向,现在在此下定决心:
首先先分析现在的形势,软件界主流是web开发,这web的地位大概可以保持十年甚至更久,由此可见web的技术是十分有必要的学习的。我们可以走两条路线:一,外功派;二内力派。外功派以研究别人源码,必修课如JPetStore和Jive,通过短期读书自己写些项目学习框架等知识硬啃下来,核心是TDD,修为时间相较短,外功也分多层,从第一层语法,第二层代码结构,第三层系统架构,一直深入都最深层,就是相互整合,宏观比较,这一路走来还真是不容易;相较外功,内力的修炼就更难了,主要是提高自己的OO设计水平,走国际化道路,接触老外一些开源项目,E文提高,核心是DDD,设计模式与层次概念,一般需要5-6个项目后才会提升一个层次。
外功的门派众多,有前台与后台技术之分。前台技术众多,现今的趋势是ajax,但不会持久,最大原因是ajax对搜索引擎不友好,没有商业价值的东西市场很难做大,90%的公司做web化的目的就是为了宣传,ajax方便是方便,是一堆大杂脍,不过代码好丑陋,本身就是ria的过渡应用,JS这种语言也走不远的,虽说现在轻视JS将来找工作会吃尽苦头的,但身为一名java面向对象的程序员,始终觉得Js这种过程式的语言有违面对对象的意愿,DWR或者prototype是必须掌握的,FLEX等是flash应用,不用说,效果是最好的,而flash又局限于浏览器,如果浏览器的性能不改进和网络带宽浏览速度等的问题,flex和微软的Waml是没前途的。XML是下任的显示标准,不过觉得XML做显示不好,这样的话数据就与逻辑,显示混杂起来,本来XML就是数据友好而不是显示友好的,不推荐;其他RIA应用其实不用多说,因为不熟悉,不过Sun One的重点之一JAVA FX(另一个是groovy)可以关注一下,Java Me的替代品,打算毕业的时候就去做一个Java Fx的课题,sun你要在我毕业前把Java Fx弄出来阿!
后台的技术繁杂,武林盟主J2EE称霸多时,以可重用,可伸缩,可维护,可靠安全稳做复杂的企业应用之位,不过框架繁多,不太统一,struts1.x统一日久,web框架需要新的有活力的框架,jsf,tapestry,wicklet,webwork等等,业务层选择就比较少,不过也有spring/ejb/seam/国内的jf,持久层hibernate/jpa/toplink/ibatis,他们都是优秀的框架,但也各有优缺点,将后的框架走势个人认为是官方的jsf+seam+ejb+jpa和开源的tapestry(与ajax融合最好,不过难学,开源的web框架竞争很大)+spring(一直游离标准之外)+hibernate(一直都很好),ssh的经典架构已经日落黄花了;
soa的发展还很幼嫩,web service很有市场,axis是肯定要学的,而且还要去钻研soap,rest其中之一的,现在还是相争对峙的阶段阿。呵呵,只能等真正的标准出来吧。
Rails的出现,的确对java的阵营出现了冲击,冲击对我来说也是很深的,不过它们也有很多致命的弱点,如控制层与业务层的混合,缺乏i18n与l18n的支持,令我很难相信ruby可以追赶java,只不过它的成功思想被很多框架所借鉴,有zope,catalist,php的框架,但它们比ror还不够成熟,而且我们看到的是java是两极发展的,官方受开源组织的影响走向简单化,而在soa方面,java比.net,corba之类的做得还大,我们可以从EBI看到了java重新想称雄的决心。另一方面,PHP这种定位明确的语言,与ROR有着功能上的重定位,其争斗是必然的,感觉PHP还得努力超越ROR,PHP5才刚支持ROR,会不会被新军突起的ROR干掉呢?说不定。。不论如何,它们争的是小中型的开发,复杂的应用使用ROR和PHP是很不明智的,它们只会使你的代码混乱,满布逻辑与控制,最后陷入维护困难的陷阱之中,而且我觉得它们开发效率说比java会2-10倍的说法十分好笑,一个具有熟练经验的SSH程序员开发WEB应用,配合上优秀的项目管理优化工具,开发效率会比ROR之类的应用慢吗?当然,Ruby社区也不缺乏很多Java的高手,也包括了OO大师,说实话,Ruby是比Java更面向对象,掌握ROR也是比较重要的。同时,java内有类rails的gails框架,绝对可以做得比ROR更好,grails也是要努力学习的对象。

都谈完基本的WEB技术了,到一些传统的但又比较实际的技术,如服务器,数据库,tcp/ip programming,shell programming,算法,opensolaris等等,其实ORM已经解决了数据库的问题了,不过一些简单的存储过程还是要会写。要学习shell是为了与xxnix接轨,服务器方面主要是weblogic与tomcat,听闻websphere配置十分繁琐,ibm的东东就算了,不敢去碰,还是weblogic好....算法是面对笔试的,不过本来我的算法不怎么样,其实我对算法很反感的,与OO相比,算法就是一个异类,包装在业务层,一般的应用需要的时候却不是很多。。opensolaris同shell,熟悉unix,而且还想赢一笔sun的奖金。。
总结
前台
ajax(重点了解js与xml)
DWR
Java FX(其实也不算是前台的技术,客户端技术)
后台
seam
ejb3.0
tapestry
rails
grails
其他
数据库使用(主要是mysql与oracle)
opensolaris 10
算法
shell编程
内功
DDD
设计模式
自写MVC框架
分享到:
评论
7 楼 boby2046 2007-08-17  
还请大家指出其他错误之处。
还有如果要看建模的书看什么好呢?有推荐吗?
6 楼 boby2046 2007-08-17  
有些也是道听途说的,不太了解吧。
可能自己水平没够吧,最近想用rails做个项目试试就知道了。
5 楼 yananay 2007-08-16  
别的我就不说了
“Rails的出现,的确对java的阵营出现了冲击,冲击对我来说也是很深的,不过它们也有很多致命的弱点,如控制层与业务层的混合,缺乏i18n与l18n的支持,”

你真的理解rails 吗?
4 楼 boby2046 2007-08-15  
嗯,技术的本质就是不断地孜孜不倦再学习。如果我有理解错的,请各位指导,小生愿洗耳恭听。
3 楼 yananay 2007-08-15  
想了解的东西太多了,以至于很多东西都了解错了
2 楼 boby2046 2007-08-14  
谢谢楼上的支持,由于自己是在校学生,手还比较生缺乏实际经验,也没有办法了,趁着自己年轻,能掌握的都去掌握,不能掌握的至少要了解。找到工作后再去深入了。
1 楼 hallaw 2007-08-14  
呵呵,好多东西要学阿。个人感觉其实没必要学这么多东西,要加深web应用上的很多基本框架的理解,其实有必要先熟悉的是设计模式。学以致用,太杂了以后反而哪块都算不上精通。

相关推荐

Global site tag (gtag.js) - Google Analytics