前端时间为了学习Ext,做了一个简单的后台管理框架(http://simen-net.iteye.com/admin/blogs/553020),并且也在不断的完善过程中。在大家的回复中出现了很多关于技术选型的讨论,考虑后我也提一些自己的看法
1、关于Ext
Ext,是我使用的第一种AJAX,主要的原因不可否认是他类似CS程序的界面。刚好接触了一些网络安全产品,大部分也使用了类似Ext的风格,感觉有必要了解学习一下。使用了一段时间,也接触过一些其他的AJAX,我觉得Ext的优势在于他的“单页面”,同时他的劣势也在于此。我是觉得没有一个技术框架是万能的,只有适合与不适合,所以讨论Ext的好坏、是否落伍等等都是没有意义的,我们更因该讨论的是Ext的适用范围。
第一,Ext是一个非常好的基础框架,我的理解ExtJS=扩展JS,如果要拿他和有些中间件去比较是没有任何可比性的。我在使用Ext的时候基本上都不使用function来构建对象,都使用extend来扩展。并且尽可能的扩展出一些通用的对象,像管理Grid、部门分类Tree等等,这样的好处不言而喻,如果我有了完整的扩展库,我想不会比一些中间件的使用复杂。
第二,Ext是一个学习Ajax的好的框架,Ext代码的规范性、扩展性是显而易见的,我感觉自己的能力还无法对其作出评价
第三,Ext是一个优秀的胖客户端基础框架,胖客户端最大的优势就是可以减少与服务器的交互量。单页面的Ext程序,除了第一次下载js文件需要较大的访问量,大部分的时候只需要json的一些数据
所以我觉得,Ext的适用范围应该是
* 对服务器交互数据量比较敏感的业务,至于ext的库文件太大,其实可以把库做到chm文件或者就放到本地,或者AIR
* 企业内部的管理系统,客户端性能较高且用户对使用习惯要求较高。
* 手机WEB业务,其实这个是我比较看好的一个方面,随着手机性能的提高和浏览器的支持越来越广泛,通过WEB实现拨号也不是没有可能
2、关于SSH2
SSH2+JPA的开发已经使用了很长的时间,做的项目也比较多,只是在刚接触的时候有些难于上手,慢慢的习惯尤其是整合了大部分基础代码之后,开发的工作就顺利了很多。
但这个我觉得还是不够,所以自己用Eclipse写了一个基于SWT使用Freemark模板的的程序,自动生成所有的POJO、Spring配置文件、Action代码等等,基本上只要建好数据表,并设置好各表的关联就能生成完整可运行的代码。以前也用过SSH1和一些其他的框架,其实原理和开发过程大同小异,所以只要在开发的过程中注意代码的积累和管理,任何技术框架都能轻松的实现快速开发。
3、关于新的技术框架
其实我也挺喜欢学习一些新的技术框架,在开源技术如此广泛的现在,我们的选择也应该更趋多样。但无论怎样,没有技术的优劣只有选择的优劣。所以,请不要过多讨论技术的特点,而应该思考应用的范围以及和其他技术框架的整合,正如SSH、LAMP等