`
huanghuaibin
  • 浏览: 68288 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

ExtJS开发指南

阅读更多

ExtJS是一个很偶然的情况下让我碰到的,没想到这个东东居然成了我程序员生涯的开始。

到目前为止,我做ExtJS实际开发已经一年半了,加上学习的时间,也差不多快两年了。对ExtJS没有做过什么突出的贡献,大约半年前更新了ExtJS在SVN上的简体中文资源包。也算是尽了一点绵薄之力。

ExtJS的定位:

是基于JavaScript的RIA解决方案(注:官方宣称其为RIA解决方案而非AJAX解决方案)。

ExtJS适用场景:

ExtJS胜任所有工作(普通web站点可以使用Ext-core核心包,体积27KB++)。

ExtJS的授权:

需要授权,但是不是强制性的。授权费大约在一千至两千RMB左右。

ExtJS的开发难度:

中等偏上,但如果你已经实际开发过两三个大型项目,ExtJS的开发效率还算比较快的。

ExtJS的维护成本:

如果你没有真正的参与过一套完整的ExtJS项目开发,那么维护起来会比较困难。

ExtJS的版本情况:

国内使用ExtJS2.0、ExtJS2.2开发的居多,那么最新版的目前是3.2.1(2010年5月8日9:49:19)。

ExtJS各个版本的区别:

面试的时候会经常被问到(因为那些面你的人可能并不了解ExtJS)。

大致上只要回答如下即可(个人认为):

1.ExtJS随着版本的不断提升,性能上有了大幅度的提高,特别是在2.x升级到3.x以后,效果较为明显(其实也无法去验证)。

2.ExtJS2.x各版本之间的差别不是很大(其实2.x正式的也就2.0、2.0.1、2.2.0、2.2.1*)。但是升级到3.x后,不仅界面风格上更加美观大方,而且还新增了很多组件。

3.ExtJS 3.x成熟吗?你就回答成熟吧,即使有不成熟的地方,我想你也很少用到(比如它的FlashComponent在IE下的表现)。

 

至于ExtJS的优缺点,自己去衡量。每个人心中都有一把尺,自己亲自尝试过才有发言权。

 

 

 

 

 

在了解了上面几个问题之后,我想你现在心中应该对ExtJS有了一个大概的认识。那么我在这里简单介绍一下ExtJS的学习步骤和开发步骤

 

    在学习阶段中,应当首先去ExtJS的官方下载它的源码包(不是废话,很多人不知道源码包中包含有API文档)。下载好后,将所有文件夹放入到php环境中,启动Apache就可以访问里面的例子、API文档了。

    首先要做的是查看它自带的例子,一定要逐个逐个的看,这些东西都是你最常用的。看完之后,你就可以自己动手写代码了。by the way,ExtJS代码风格和以往其他的AJAX库不太一样,不要生搬硬套的使用其他AJAX库的代码风格去编写ExtJS,这样你会很郁闷。

    那么,接下来就是参照它的例子进行一些小规模的开发,在开发的过程中不断熟悉它的语法风格和API文档。注意:一定要熟悉他的API文档,这样你就可以少走很多弯路。因为它自带了很多实用的工具类,也许你写了半天的代码最后发现他API中自带了类似功能的工具类。

    在大约一两个月后,你就可以说你会使用ExtJS了。但是这还远远不够,你不一定能够驾驭它来做实际开发。这时候你可以去下载一些其他人写的代码,加以参考并形成自己的开发风格(注意:目前开发源代码的项目,风格各异,有好有坏,虽然在界面层上感觉都差不多,但是打开代码后你会发现问题。)。如果对代码编写和组织形式上还有疑惑,可以留言给我,但我不保证我能及时回复(修改样式之类的,比如非要把window里的Button放在window的上方就不必了,这些是一个摸索的过程。自己去研究会比较好。)。

    那么,与后台的交互,其实最常用的就是一个JsonStore,其他的Store用的真是少之又少(除非你后台非要传给前台XML或者Array,关于XML和JSON的对比,自己在项目中衡量)。

    在学习过程中,一定要注意以下几个方面的学习:

    1.ExtJS的事件机制(重中之重)

    2.ExtJS的DataView的使用

    3.ExtJS对JavaScript原生对象的扩展

    4.ExtJS操作Dom节点的方式方法(如果你不是纯JS实现界面)

    上面说了这么多,并不是很全面,但是希望对你有帮助。其他方面的,陈哥的教学视频做的不错,有兴趣的可以去找找。17ext的论坛也不错。另外,我也写过一篇不成气候的文章,这里没有上传附件的功能,没办法。

    至于ExtJS的开发工具,Spket、Firebug是必不可少的。

下面是我老早以前做的一些东西,不过源码都不全了,目的只有一个,让你知道,ExtJS能实现你的想法:

图片

使用技术:

XSocket(Java的一个第三方对Socket通信封装了的一个工具)。

FMS、Flash

==================================================

图片

使用技术:

AIR、ExtJS、SQLite

=====================================================

图片

自己用DataView写的

 

图片

还是DataView

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics