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

初学EXT(转载)

阅读更多

入门导向

Ext的新手用户可以通过下列不同的途径获取学习资源:API文档、维基百科全书、日益丰富的教程、论坛、IRC频道等等(参阅Learn ),关于这些各个方面在EXT官网上都有。但最重要的可用资源,可以说是Ext源代码本身。可以这样方便地学习源代码(Ext的项目毕竟是开源的),不仅能助你体验Ext,而且还能让你接触到大量的Javascript高级技巧和最佳实践,进一步提升自身的编码水平。

揭示源代码

Javascript是一门解释型的语言,意味着在运行之前代码是没有经过编译的。按照这种理论,在你网站上所发播的Ext代码是我们看的懂的(human-readible)。我这里说“理论上”,是因为实际情况中,很多源代码是经过某些自动化步骤的处理,生成很小几行的文件最终发布的,通过剔除空白符号和注释,或混淆等的方法,以减小文件大小。

仔细看看EXT标准源码ext-core.js,你会发现这是一段超长的源码。这是刚才提及的自动化步骤生成的结果--对浏览器来说不错!可是对于我们是难以阅读的。

ext-core.js

 

代码
  1. /*  
  2.  * Ext JS Library 1.1  
  3.  * Copyright(c) 2006-2007, Ext JS, LLC.  
  4.  * licensing@extjs.com  
  5.  *   
  6.  * http://www.extjs.com/license  
  7.  */  
  8.     
  9. Ext.DomHelper=function(){var _1=null;var _2=/^(?:br|frame...   
  10.     
  11. Ext.Template=function(_1){if(_1 instanceof Array){_1...   
  12. ...  
<script>render_code();</script>

 

接着看下去的是ext-core-debug.js (注意在文件名后面加上-debug的JS文件), 我会发现是全部已格式化好的源代码。这个文件是配合调时器所使用的,像Firebug的工具能够可以让你一步一步地、一行一行地调试代码。你也会发现文件的体积将近大了一倍之多,这便是没有压缩或混淆的缘故。

ext-core-debug.js

代码
  1. /*  
  2.  * Ext JS Library 1.1  
  3.  * Copyright(c) 2006-2007, Ext JS, LLC.  
  4.  * licensing@extjs.com  
  5.  *   
  6.  * http://www.extjs.com/license  
  7.  */  
  8.     
  9. Ext.DomHelper = function(){   
  10.     var tempTableEl = null;   
  11.     var emptyTags = /^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i;   
  12.     var tableRe = /^table|tbody|tr|td$/i;   
  13. ...   
<script>render_code();</script>
该调试版本可以在调试阶段方便地检查EXT库运行到哪一步,但是你还是会错过一个有价值的...代码注释!要完整地看到代码,就要阅读真正的原始代码!

 

发布Ext源码时的一些细节

你在download得到的压缩文档,包含在这些文件夹之中的,有一source的子目录。在这个文件夹里面,正如所料,是全部的EXT的源文件,遵从Lesser GNU (LGPL) 开源的协议。对于EXT开发者来说应该非常适合。

用你日常使用文本编辑器打开源代码的任意一个文件(推荐有高亮显示的编辑器,或是在这里full-featured IDE看看),便可以开始我们的探险!

我应该从哪里开始?

Ext代码库里面包含了许多各种各样的文件,甚至令人觉得有点望而生畏。好在,Ext是一个通过充分考虑后而设计的JavaScript库,--在底层的代码为各项应用提供稳健的基础如跨浏览器的各种DOM操控,使得在上层的类classes运行于一个较高级的抽象层面(class 一术语与我们已习惯的Java和C++语言稍微有所不同,但一些概念如继承则可是如此类推去理解的--有关面向对象的JavaScript的更多资料,请参见Introduction to object-oriented (OO) JavaScript)。

这意味着,当浏览源码的时候,采取“自顶向下(bottom-up)”还是“自下向顶(top-down)”的方式,都是无关紧要的。你所熟悉API里面的代码已经是属于最高的抽象层面的范畴,你可以根据你的兴趣,顺着这些你熟悉的API逐步深入。但是你若认同我的看法,并打算深入了解其个中原理,最理想的地方是从底层代码开始。

适配器Adapters

浏览器读取第一个源文件,当中的一个任务就是创建Ext对象本身。
Ext.js

 

代码
  1. Ext = {};  
<script>render_code();</script>

 

Ext成型于YahooUI的Javascript库的扩展。在当时,Ext须依赖YUI的底层代码来处理跨浏览器的问题。现在ExtJS已经是独立、免依赖的库了(standalone ),你可将YUI替换为另外你所选择javascript库,如prototype、jQuery、或者是这些之中的最佳选择,-Ext自带的底层库。负责将这些库(包括Ext自带的底层库)映射为Ext底层库的这部分代码,我们称之为适配器(Adapters)。这部分源码位于source/adapter的子目录。当项目引入Ext的时候便需要选择好你准备使用的适配器。

核心Core

source/core中的文件是构建于适配器API之上的“相对”最底层的源码。有些的源码甚至“底层”到直接为独立库的代码直接使用。这意味着应先了解和学习这整个库,再学习剩余的部分也不迟。要了解Ext的各种“Magic”和核心层面,就应该把重点放在source/core 目录下的各个源代码。

出处:http://extjs.com/learn/Manual:Ext_Source_Overview_%28Chinese%29#

分享到:
评论

相关推荐

    ext初学好资料

    这两个文件对于初学者来说,都是了解和学习EXT的重要资源。 “ExtJS使用简明教程.chm”是一个Windows帮助文档,通常包含了一系列关于EXT JS的基础知识、核心概念和实用技巧。这种格式的文档往往结构清晰,易于查阅...

    ext初学者的资料书籍

    我整理了自己自学的ext 的资料希望给大家有点帮助

    Windows 7下使用Ext2Fsd读取写入Linux Ext3&Ext4分区文件

    为了安全起见,初学者可以先尝试只读访问,待熟悉操作后再尝试读写模式。 4. 关闭Ext2Fsd的设备选择窗口,现在你可以在“我的电脑”或“资源管理器”中看到新分配的驱动器,可以像操作其他Windows分区一样操作Linux...

    详细的Ext框架的API

    Ext 手册,详细的Ext框架的API,初学Ext入门必备

    ext JS 源码和学习资料

    1. EXT_JS实用教程.doc:这可能是针对EXT JS初学者的教程,包含了EXT JS的基本概念、组件使用、布局设计等方面的内容,帮助初学者快速上手EXT JS开发。 2. EXT_JS实用开发指南_个人整理笔记.docx:这是一份个人整理...

    初学者必备资料-php-ext学习

    这份“初学者必备资料-php-ext学习”压缩包显然为那些想要深入理解PHP EXT的初学者提供了宝贵的资源。 PHP EXT的全称为“PHP Extensions”,它是PHP源代码的一部分,通常以C语言编写,负责实现PHP与底层系统或特定...

    EXT多实例Demo,非常适合初学者

    这个"EXT多实例Demo"显然是一个教学资源,适合初学者快速上手EXT库的使用。 1. **EXT简介** EXT JS提供了一套完整的组件模型,包括表格、树、表单、面板、菜单等,它使用MVC(Model-View-Controller)架构,使得...

    Ext组件说明 Ext组件概述

    ### Ext组件概述与初学者指南 #### 一、Ext组件概览 Ext是一个功能丰富的JavaScript框架,用于构建桌面级Web应用程序。它提供了大量的组件和工具,使得开发者能够快速且高效地构建用户界面。对于初学者而言,理解...

    ext2.0官方文档(chm),Ext 2.0 简明教程,Ext2经典应用

    通过这个教程,初学者可以迅速掌握Ext 2.0的核心概念和实践技巧。 3. **EXT2.0中文教程.exe**: 这可能是一个以可执行文件(.exe)形式的中文教学程序,对于中文用户来说非常友好。它可能包含了视频教程、交互式示例...

    EXT帮助文档(中文EXT3.0 API,中文EXT2.2 API)

    EXTJs资料.chm可能包含了EXT库的综合学习资料,比如教程、示例代码、最佳实践等,这些内容对于初学者和有经验的开发者来说都是非常宝贵的资源。它们可以帮助开发者快速上手EXT,理解其工作原理,以及如何在实际项目...

    ext.net 中树加载及实现方式,初学者可以参考

    本文将详细介绍EXT.NET中的树加载及其实现方式,这对于初学者来说是一份很好的参考资料。 首先,EXT.NET中的树形控件基于Ext JS库,提供丰富的功能,如拖放操作、节点编辑、异步加载等。在实际应用中,我们通常使用...

    ext+js.rar_ext_ext js_ext js java_java+ext

    综上所述,这个压缩包包含的资源全面覆盖了学习和使用Ext JS所需的基础到进阶知识,特别是对于初学者,可以从中了解到Ext JS的基本结构、组件、事件处理、数据绑定、布局管理等核心概念,以及如何在Java环境下集成和...

    ext API帮助文档(chm格式),及ext教程

    对于初学者,它提供了一个系统的学习路径,帮助理解EXT的工作原理,并逐步掌握实际开发技能。 EXT的核心特性之一是它的组件化架构。EXT提供了一系列预定义的UI组件,如表格、面板、菜单、按钮、窗口等,这些组件可...

    ext-4.0.7压缩包

    EXT 4.0.7 作为一个成熟的版本,不仅在功能上达到了一个高峰,还提供了完善的文档和社区支持,对于初学者和经验丰富的开发者都是一个值得学习和使用的框架。不过,随着技术的发展,EXT后续版本不断更新,引入了更多...

    ext文档 对于学ext有用的

    这是一些ext的文档和资源包 对于初学ext很有用

    ext2.0官方文档

    通过阅读"EXT中文教程",初学者可以逐步掌握EXT2.0的结构、工作原理以及如何进行日常管理和维护。教程可能涵盖了创建、挂载、卸载EXT2.0文件系统,使用`df`和`du`命令检查磁盘空间,以及如何处理文件系统错误等内容...

    gwtext学习三部曲

    《gwtext学习三部曲》是一份专为GWT初学者设计的教程资源,它涵盖了gwtext和GWT Ext的相关知识。gwtext是Google Web Toolkit (GWT) 的一个扩展库,提供了丰富的用户界面组件和样式,使得在GWT平台上构建复杂的Web...

    Ext教程(原创整合Ext官方中文教程)

    Ext教程 整合官方中文教程的电子书,对Ext初学以及提高有很大帮助

    Ext Jsp 聊天室 jschat

    【Ext Jsp 聊天室 jschat】是一款基于Ext JavaScript库和JSP技术构建的在线聊天室,专为学习和研究Ext框架的初学者设计。这个项目旨在提供一个实践平台,帮助开发者深入理解Ext的功能和JSP在构建动态Web应用中的应用...

Global site tag (gtag.js) - Google Analytics