美高梅4688官方网站

当前位置:4688美高梅集团 > 美高梅4688官方网站 > 写EXT的源码解读不是很轻松,希望Ext团队能接受

写EXT的源码解读不是很轻松,希望Ext团队能接受

来源:http://www.top-horoskop.com 作者:4688美高梅集团 时间:2019-12-28 08:41

Don't Use ExtJS文章中,作者提到Ext已经更改了四次lisence,而且一次比一次更受限制。作者在文章的最后提了三点反对Ext的理由和五点对Ext团队的建议,Ext的lisence一直是大家所诟病的,希望Ext团队能接受这些建议。

由于公司统一决策,决定使用EXTJS作为前台的开发UI框架,所以从今天开始学习EXTJS,对学习过程中遇到的问题做记录。

EXT4是什么就不解释了,能读这文章的你肯定知道。

首先第一个问题:为什么要用ExtJS作为公司开发基础架构?

下载EXT4的压缩包,天,几十兆。这根本不是人写的啊。

  推荐一篇文章:莫人云亦云,莫走弯路!正确认识ExtJs4

但我想说的是: 作者故意把它弄这么大,单源码是没有这么多的,大约3兆。

第二个问题:ExtJS是个什么样的框架?

写EXT的源码解读不是很轻松。

  推荐文章:ExtJS4.2学习(1)——初识ExtJS

但相信很多人需要它!

 

希望这份源码解读能让你受益匪浅。

相信有了这两篇文章之后,对EXTJS有了一个初步的了解了,现在开始我们自己的学习。

当然,如果你连基本的js语法都不知道,那就放弃吧,

1.使用版本:EXTJS-4.2.1-gpl

它不是 js教程。

2.学习流程参考文档:

不要觉得这篇文章标记一下,以后再读。

    1. (整体思路相对较好)

这意味着你不会去读。

    2. (对组件介绍的比较好)

有时候,学习是被逼的。

    3.  (对基础知识,数据模型介绍的比较好,通俗易懂)

但你绝对可以边听音乐边读这篇文章。

    4. (个人觉得最好的一篇,思路清晰,易于学习,不过没有详细介绍组件)

学会在学习中找到快乐是一个本领。

       该文没有目录,替作者稍作整理,详见:

EXT 4 源码解读

           CSDN——【低调的草原狼】——Ext4.2学习目录整理

xuld/文

   5.  官方guide比较好的翻译

QQ 744257564

   6.一个关于ExtJS4具体控件的详细教程 总结别人的一篇介绍控件介绍的比较详细的文档

转载时请注明来源:

   7.有时间,有条件的可以看一些视频资料,网络上很多,在此不再介绍。

准备: 下载 EXT4压缩包。你可以找到几个文件夹和文件: examples (示例)、 src(源码)、ext-all-debug-w-comments.js (带注释的全部代码)

3.API参考网站:

因为官网随时可以更新, 而这篇文章是按某个版本写的, 而且详细指明代码的行数,为了让读者可以同步阅读源码,特提供写此文时源码。

  1.官方文档:

点这下载

   2.中文API文档:

本文所讲解的都是 src 里文件 ,而不是 ext-all-debug-w-comments.js , 主要是由于 ext-all-debug-w-comments.js 太大,我所使用的编辑器卡的无耐。

4.个人学习目录:    

我写的不是语文教材,有几个错别字不要大惊小怪。

  1.Ext学习-HelloWorld以及基础环境搭建

当然,如果你发现什么错误,包括错字,还请你指出。

  2.Ext学习-基础概念,核心思想介绍

诶。。

  3.Ext学习-布局介绍

有人在抱怨了,写了这么多还没开始正文。

  4.Ext学习-基础组件介绍

读文章的时候,你最好同时打开ext的源码,对照之后去读。

  5.Ext学习-高级组件介绍

那现在就开始...

  6.Ext学习-前后交互模式介绍

第一部分 核心/核心

作者:sdjnzqr
出处:
版权:本文版权归作者和博客园共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任

源码:   core/src/Ext.js

首先L 1 - 14 ( 第 1 到 第 14 行) ,你可以发现:

EXT 基于 GPL 开源---- 除非你的东西也GPL开源, 否则必须出钱,才能使用 EXT 4。

作者把赚钱的目标用源码注释方式写清楚了。

接着  L 16 - 17

这2个是文档注释。 @class 表示 Ext 是类 @singleton 表示这是 单例模式的类, 也就是说,接下来的成员都是 Ext 直接有的, 而不是 Ext.prototype 。

L 20

var global = this 。 this 就是 window , 全局函数执行时, this 指向 window 。

[如果你对 this 不理解,可以读我的文章:  ]

L 21 - 23

没什么可说的,就是普通变量定义。

L 24

enumerablesTest  = { toString: 1 }

这个干什么用?

标准浏览器 对于 for(var i in enumerablesTest){  alert(i)  }   会输出  "toString" 因为 toString 已经为自定义成员了。所以 or in 会遍历这个成员, 而 IE6 却只认名字不认人。它不会 输出 自定义的 toString 成员,包括其它 系统的成员也 不会。因此,在 IE6 需要主动判断是否定义了 toString 。

L 27 - 30

为什么了 typeof Ext === 'undefined' 才创建 Ext ?

因为作者考虑万一之前有定义了Ext,或者说 Ext.js 引入了2次, 不能直接覆盖以前的数据。

L 31

Ext.global = global   这个干吗? 保存全局对象。

本文由4688美高梅集团发布于美高梅4688官方网站,转载请注明出处:写EXT的源码解读不是很轻松,希望Ext团队能接受

关键词: