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

本文分析了2007年的IT行业趋势,重点关注Web开发领域,并探讨了前端和后端技术的发展方向,包括AJAX、JavaFX、SOA、Rails及各种框架的应用现状与未来预测。
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框架
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值