`
windfishion
  • 浏览: 4052 次
  • 性别: Icon_minigender_1
  • 来自: 河南
文章分类
社区版块
存档分类
最新评论

Ext学习及应用经验小结

阅读更多

一、理解Html DOM、Ext Element及Component   

        要学习及应用好Ext框架,需要理解Html DOM、Ext Element及Component三者的区别。
  Ext是基于Web的富客户端框架,其完全是基于标准W3C技术构建设的,使用到的都是HTML、CSS、DIV等相关技术。Ext最杰出之处,是开发了一系列非常简单易用的控件及组件,我们只需要使用这些组件就能实现各种丰富多彩的UI的开发。  无论组件有多少配置属性、还是事件、方法等等,其最终都会转化为HTML在浏览器上显示出来,而每一个HTML页面都有一个层次分明的DOM树模型,浏览器中的所有内容都有相应的DOM对象,动态改变页面的内容,正是通过使用脚本语言来操作DOM对象实现。
 仅仅有DOM是不够的,比如要把页面中的某一个节点移到其它位置,要给某一个节点添加阴影效果,要隐藏或显示某一个节点等,我们都需要通过几句 javascript才能完成。因此,Ext在DOM的基础上,创建了Ext Element,可以使用Element来包装任何DOM,Element对象中添加了一系列快捷、简便的实用方法。  对于终端用户来说,仅仅有Element是不够的,比如用户要显示一个表格、要显示一棵树、要显示一个弹出窗口等。因此,除了Element以外,Ext 还建立了一系列的客户端界面组件Component,我们在编程时,只要使用这些组件Componet即可实现相关数据展示及交互等,而 Component是较高层次的抽象,每一个组件在渲染render的时候,都会依次通过Element、DOM来生成最终的页面效果。
  在使用Ext开发的应用程序中,组件Component是最高层次的抽象,是直接给用户使用的,Ext Element是Ext的底层API,主要是由Ext或自定义组件调用的,而DOM是W3C标准定义的原始API,Ext的Element通过操作DOM 来实现页面的效果显示。   在Ext中,组件渲染以后可以通过访问组件的el属性来得到组件对应的Element,通过访问Element的dom属性可以得到其下面的DOM对象。另外,我们可以通过通过Ext类的快捷方法getCmp、get、getDom等方法来得组件Component、Ext元素Element及DOM节点。比如:
  var view=new Ext.Viewport();//创建了一个组件Component
  view.el.setOpacity(.5);//调用Element的setOpacity方法
  view.el.dom.innerHTML="Hello Ext";//通过Element的dom属性操作DOM对象
  再看下面的代码:
  var win=new Ext.Window({id:"win1",title:"我的窗口",width:200,height:200});
  win.show();
  var c=Ext.getCmp("win1");//得到组件win
  var e=Ext.get("win1");//根据id得到组件win相应的Element
var dom=Ext.getDom("win1");//得到id为win1的DOM节点


二、熟悉ext组件体系


Ext2.0对整个框架进行了重构,最为杰出的是推出了一个以Component类为基础的组件体系,在Component类基础上,使用面向对象的方法,设计了一系列的组件及控件。因此,要能游刃有余地使用Ext,熟悉Ext组件体系是最基本的。
  在《ExtJS实用开发指南》中,有如下面一幅组件图:
  通过组件结构图我们可以一目了然的看出整个Ext组件继承及组成体系,当使用一个组件的时间,了解他的继承体系,这样可以便于我们掌握组件的各种特性。  

 

三、掌握核心控件

 

控件其实也是组件,比如用于显示树信息的TreePanel、用于显示表格的GridPanel及EditorGridPanel,还有代表应用程序窗口的Ext.Window等都属于Ext控件。在使用Ext的时候,一定要掌握一些核心控件,特别是处于基类的控件。比如上面提到的几个控件,他们都是继承于面板Panel,所以我们要重点掌握面板这个核心控件的特性。比如面板由以下几个部分组成:一个顶部工具栏(tbar)、一个底部工具栏(bbar)、面板头部(header)、面板尾部(bottom)、面板主区域(body)几个部分组成。面板类中还内置了面板展开、关闭等功能,并提供一系列可重用的工具按钮使得我们可以轻松实现自定义的行为,面板可以放入其它任何容器中,面板本身是一个容器,他里面又可以包含各种其它组件。只要掌握了Panel的应用,那么学习TreePanel、Window等就会变得简单得多。
      同样的道理,对于Ext的表单字段来说,不管是ComboBox,NumberField、还是DateField,他们其它都是 Ext.form.Field类的子类,在他上面定义了表单字段的各种基本操作及特性。在学习使用表单字段组件时,一定要重点研究Field这个类,掌握他的主要方法、事件等,就能有助于更好的学习使用其它的字段。

 

四、学习及研究示例

 

由于javascript语言非常灵活,不像静态强类型语言(比如Java)那样有固定的代码设计模式,而往往是不同的人就有不同的编程风格。在实际应用开发中,只有见多识广,才能在自己的在脑中建立一个开发库。
学习别人的示例对于我们开发帮助会非常大,示例包括基本组件的应用、综合应用等多个方面。在此,简单推荐几个。
1、Ext官方示例,在ext项目下载包的examples目录中,包括各个控件的基本应用演示,同时还有一些比较复杂的组合示例,有简有繁,非常适合初学者认真研究。
2、Vifir推出的示例,Vifir推出的一些示例主要包括两类,一种是开源的示例应用,另外一种是针对VIP用户的实用示例。开源的示例主要是指 wlr单用户blog系统,这个一个集合了前后台技术的ext综合示例,而针对VIP用户的实用示例则是可以作为开发骨架或扩展组件的示例。
3、其它示例,在ext社区中还有很多比较优秀的ext应用示例,有些只是一个应用演示,虽然没有提供源码下载,但我们可以直接下载引用的js文件来得到这些示例的ext应用代码,同样能取起到非常好的学习效果。

 

五、多运用


  Ext看起来是非常简单的东西,稍有点编程知识的人,按照《ExtJS实用开发指南》中的入门指南,半小时就能学会使用Ext。然而,当准备使用Ext开发一个项目时,却不知道从何处入手,或者是在使用Ext的时候,出了一点小问题自己不知道该如何解决。编程是一门实践性的科学,仅仅靠看书、看别人写的代码是远远不够的,因此,必须多做实践才行,只有通过不断的练习,大量的使用,才能对Ext的组件特性、事件、事件处理机制以及与服务器端交互接口等深入的掌握,只有多做运用,深入了解ext的组件的工作原理及机制,才能编写出高级的Ext的应用。


六、熟读Ext项目的源代码


如果要想深入应用Ext,那么阅读Ext项目的源代码这是必不可少的环节,Ext的代码质量非常高,通过阅读他的代码我们可以更加深刻的了解 javascript面向对象编程,Ext代码中包含了很多高级的js技巧以及设计模式。在使用Ext的过程中,我们经常根据项目的需要对Ext组件进行扩展,设计自己的组件或控件,而如何实现一个自定义的Ext组件,我们可以从Ext的各个组件源代码中找到答案。
Ext的源代码在Ext项目的source目录。读Ext源码,并不一定非要从某一个地方开始,而组件核心代码Component.js、容器组件代码 Container.js、面板Panel.js等这些是必看的; core目录中的Element.js、Ext.js等也是必看的。当需要从一个控件进行扩展的时候,最好能简单看一看这个控件的源代码。

 

七、理解,熟悉,掌握Json  


在项目中,Ext本身的华丽外表就很吸引眼球了,但这仅仅是其外在的美,还有最核心的内在美,即:Json。Json(JavaScript Object Notation) 是一种数据交互格式,一个不能实现数据交互功能的项目是没有任何意义的,大多的Ajax框架的数据交互都基于Json,如:jQuery、ExtJs等。因此理解Json掌握Json并熟练运用是很重要的。以目前主流的开发语言为例,.NET已经把Json封装到类中,无需配置,直接与数据库交互,轻松的封装直接使用;Java就麻烦些,必须去下一个Json包,然后再做一些配置,才可以使用;PHP和Java差不多,也必须下载一个Json插件(和类相似),但是不用配置,直接封装使用。在实际的项目中,各自的取舍配置,都基于项目和需求,并不是每个项目(针对WEB)都一定要用到。但是,如果想在项目中用到此类的Ajax框架,Json的掌握又是必须的。

 

分享到:
评论

相关推荐

    ext学习资料ext学习资料

    总结起来,Ext Js通过其丰富的组件库和数据绑定机制,极大地简化了前端开发,使得开发者可以高效地构建功能强大且用户友好的Web应用程序。无论是用于展示表格数据的Grid,收集用户输入的Form,还是用于导航的Tree,...

    EXT框架入门学习及总结

    学习EXT的入门知识和实际应用指南 为格式DOC文档

    ext学习文档

    ### EXT学习文档知识点详解 #### 1. EXT简介 EXT是一个功能强大的JavaScript库,用于构建交互式的Web应用程序。它提供了一系列工具和API,使得开发者能够更容易地创建动态且丰富的用户界面。EXT支持多种浏览器,并...

    Ext 学习总结 pdf版

    ### Ext JS 学习总结与理解 #### 一、Ext JS 结构树 在文档的开始部分提到了“Ext JS 结构树”,这部分内容虽然没有给出具体的细节,但我们可以推测这是关于Ext JS框架的整体架构介绍。Ext JS是一个用于构建交互式...

    ext4.0学习总结及使用说明

    ### ext4.0 学习总结及使用说明 #### 一、引言 随着技术的发展,文件系统的更新迭代显得尤为重要。Linux操作系统中的ext4作为ext3的继任者,不仅继承了其诸多优点,还引入了一系列重要的改进措施,极大地提升了...

    Ext4.0学习总结及功能详解(特别详细)

    【Ext4.0学习总结及功能详解】 Ext4.0是Ext JS框架的一个重要版本,它带来了许多增强和新特性,使得开发复杂的Web应用程序变得更加高效和便捷。在本篇文章中,我们将深入探讨两种布局方式——accordion布局和border...

    Gwt-Ext学习笔记之进级篇

    总结起来,GWT-Ext的学习涵盖了GWT的远程服务机制,涉及到Java后端的数据库操作,以及客户端和服务端的交互。理解并熟练掌握这些概念和技术,对于开发高效、美观的富互联网应用至关重要。随着对GWT-Ext的深入学习,...

    ext学习资料,值得学习

    【EXT学习资源】 要学习EXT,可以从官方文档和示例开始。官方网站(http://extjs.com/downloads)提供了不同版本的下载,包括最新的稳定版本。下载的示例文件,如`IntroToExt2.zip`,可以帮助初学者快速上手,通过...

    ext api,ext 学习笔记,SWFUpload_多文件上传及部分工具

    在EXT学习笔记中,"What_is_that_Scope_all_about2.htm"可能涉及的是JavaScript作用域和EXT中的scope概念,这对于理解和调试EXT应用中的事件处理和回调函数至关重要。"JsonTool.htm"可能介绍了EXT如何与JSON数据进行...

    ext学习及实例文档

    Ext JS是一款强大的企业级JavaScript框架,用于构建交互式Web应用程序。它提供了一套丰富的UI组件库,包括数据网格、图表、表单控件等,旨在简化前端开发过程,提高开发效率。Ext JS支持多种浏览器,并且具有良好的...

    Ext JS 3.2 学习指南

    《Ext JS 3.2 学习指南》是一本非常适合初学者入门及进阶的书籍,通过详细的讲解和丰富的示例,读者可以系统地学习Ext JS框架,并将其应用于实际的Web应用开发中。无论是对于想要快速上手的开发者还是希望深入了解...

    ext 学习资料

    本篇内容基于一位经验丰富的开发者分享的学习资料——《Ext JS 6 By Example》,该资料详细介绍了Ext JS 6的核心概念和使用方法,旨在帮助初学者快速上手并深入理解Ext JS 6的各项特性。 #### 二、Ext JS 的优势 1...

    ext2.0学习文档 pdf

    根据提供的标题“ext2.0学习文档 pdf”和描述“ext2.0学习文档,很好用的哦。看了受益匪浅,所以上传大家一起分享”,我们可以推测这份文档是关于ext2文件系统的学习资料。接下来,我们将从给定的部分内容中提取并...

    Ext js 最新学习资料整合 包括API(3.0) cookbook ,in action

    通过这些资料,无论是初学者还是有一定经验的开发者,都能在Ext JS 3.0的学习和应用上得到充分的指导和帮助。深入理解API,结合Cookbook的实践案例,再辅以理论书籍的系统学习,将使你对Ext JS有全面而深入的掌握,...

    Ext常用属性总结

    本文将深入探讨"Ext常用属性总结"这一主题,帮助开发者更好地理解和利用ExtJS的特性。 首先,让我们了解几个基本的ExtJS概念。`Ext.Component`是所有UI组件的基础类,它拥有众多属性来控制组件的行为、外观和交互。...

    Ext常用属性总结.doc

    #### 三、小结 通过以上介绍,我们可以看出Ext JS框架提供了非常丰富的属性供开发者使用,这些属性可以帮助我们更加灵活地控制组件的外观和行为。掌握了这些属性之后,就能在实际项目中更加游刃有余地进行开发工作...

    Ext控件大全,适合新手学习

    标题提到的是“Ext控件大全”,并且描述中指出这些资料非常适合IT人士尤其是新手学习使用。接下来,我们将基于此内容详细解析Ext控件的基础知识、应用场景以及如何使用它们。 ### 一、Ext控件简介 #### 1.1 Ext JS...

    ext学习1

    总结来说,“ext学习1”是一个关于学习和理解Ext JS的起点,涵盖了源码阅读、开发工具的使用,以及通过实际示例来提升技能。无论你是初学者还是有经验的开发者,深入研究这个主题都能让你在创建高效、美观的Web应用...

Global site tag (gtag.js) - Google Analytics