ExtJS2.0开发与实践笔记[0]——初识ExtJS

简介:
ExtJS2.0开发与实践笔记[0]——初识ExtJS
简短的前言:
随着网络技术的发展,良好的用户体验及丰富的客户端功能已成为Web程序所共同追逐的目标,并扮演非常重要的一环。基于Ajax应用思想的盛行,prototypeextdojoyuimootools等越来越多的第三方开源Javascript Library开始涌现,虽然这极大地增加了我们对web应用的扩展可能性,但同时也或多或少的增加了我们的学习难度。
为此,我准备在blog中逐步整理学习心得,已备查找需要及看客指正。
什么是ExtJS?
按照Ext开发团队的说法,ExtJS从应用角度上讲是一个用户界面库,而不是一个JavaScript Library。原本作为Yahoo! UI Library(也就是YUI)的扩展而被开发出来,但从1.1版本开始由于支持者的增多,已经得到了必要的扩充,不再依赖于YUIExtJS可以与prototype.jsjquery等成熟的js库一起使用,也可以作为单独的应用部署到开发中去,Adobe AIRiPhone开发工具都提供了对Ext的支持。
就我个人的观点而言,在业务处理上讲ExtJS2.0已非常完备,足以满足绝大多数web表示层应用的需求;但是对于解释执行的javascript来讲性能损耗问题却始终无法避免,因此个人不建议在要求响应速度的项目中使用ExtJS进行开发。
ExtJS并不是一个完全免费的项目,他以普通开源版及企业版共存的方式发行,企业版收费标准如下图:
我们可以通过[url]http://extjs.com/download[/url]来获得最新版本的ext框架。
 
发展简史:
YUI-Ext
Yahoo! UI Library 的扩展。
Ext 1.0
Yahoo! UI Library 的扩展,同时也支持prototype.jsjquery等。
Ext 1.1
不再依赖「Yahoo! UI Library」,能够不依赖任何第三方组件而单独使用。
Ext 2.0
极大丰富界面库的一版,还在继续扩充中。
 
运行效果图:
 
 
如何开发ExtJS2.0应用?
针对ExtJS2.0,由于其通过浏览器解释执行,所以我们即可以使用记事本、EditPlusUltraEdit等方式直接编辑文本文件,也可以通过IDE进行调试开发。

目前Eclipse上已经有很多能够支持ExtJS2.0的插件,如
Spket等,此处不一一例举。本人在此仅以自己常用的Aptana IDE作为开发平台。
Aptana是一个专注于javascript的开源IDE环境,它提供了丰富的javascript开发及调试资源,本人从0.2版本开始试用,目前最新版本为1.1,我们可以通过[url]http://www.aptana.com/download[/url]获得其最新版本。
 
原始版本的Aptana1.1只支持Ext1.1版本,所幸Aptana论坛有人提供了第三方的升级插件,我们可以通过[url]http://support.aptana.com/asap/browse/STU-547[/url] [url]http://orsox.mocis.at/download.php?list.1[/url]进行下载,直接copyAptanaplugins文件夹下重启Aptana即可运行。
 
此时我们可以通过Aptana[Window]项下[Preference]选项调整Aptana的设置选择支持Ext2.0
 
ExtJS2.0的“Hello World
 
Aptana中使用ExtJS2.0,我们至少需要ExtJS2.0中的如下文件:
 
Adapter文件夹
框架及外部资源适配器,我们需要其中ext文件夹下的ext-base.js文件控制ExtJS全局
Resources文件夹
一个文件夹,包含了css,imageExt必须的资源
ext-all.js文件
一个压缩的单文件ExtJS文件集合
 
实际如下图:
 
首先,我们在helloworld.js中建立如下内容
/**
 * 通过Ext输出Hello World,[Ext.onReady是ExtJS所定义的,当页面加载完毕之后,会自动调用
 * Ext.onReady]
 * 
 * @param {Object} ''
 * @param {Object} 'Hello World!'
 
*/

Ext.onReady(
function ()  {
    
//以Ext的alert打印'Hello World!'
    Ext.MessageBox.alert('','Hello World!');
}
);

而后,我们建立helloworld.html文件,内容如下
< html >
< head >
    
< meta  http-equiv ="Content-Type"  content ="text/html; charset=utf-8" >
    
< title > HelloExt </ title >
    
<!-- ExtJS资源加载 -->
    
< link  rel ="stylesheet"  type ="text/css"  href ="resources/css/ext-all.css"   />
    
< script  type ="text/javascript"  src ="adapter/ext/ext-base.js" ></ script >
    
< script  type ="text/javascript"  src ="ext-all.js" ></ script >
    
<!-- 我的js文件 -->
    
< script  type ="text/javascript"  src ="helloworld.js" ></ script >
</ head >
< body >
    "ExtJS的Hello World测试"
</ body >
</ html >

Aptana中选择如下图,将自动调用您所选择的浏览器进行测试。
 
输出运行效果如下图:
 


本文转自 cping 51CTO博客,原文链接:http://blog.51cto.com/cping1982/130272
相关文章
|
存储 负载均衡 监控
keepalived实现双vip部署
keepalived实现双vip部署
681 1
|
关系型数据库 MySQL 数据库
连接MySQL时报错:Public Key Retrieval is not allowed的解决方法
连接MySQL时报错:Public Key Retrieval is not allowed的解决方法
1947 1
|
SQL 缓存 关系型数据库
MySQL Limit实现原理
本文详细探讨了MySQL中`LIMIT`子句的实现原理及其在不同场景下的应用。`LIMIT`用于控制查询结果的行数,结合`OFFSET`可实现分页查询。其内部实现涉及解析器、优化器和执行器三部分,通过索引利用、子查询优化等提升性能。文章还提供了性能优化策略,如索引优化、覆盖索引及延迟关联等,并给出实践建议。
419 3
|
算法 Java
Java数据结构与算法:字符串匹配算法之KMP算法
Java数据结构与算法:字符串匹配算法之KMP算法
|
存储 关系型数据库 MySQL
MySQL 上亿大表,如何深度优化?
【8月更文挑战第11天】随着大数据时代的到来,MySQL 作为广泛使用的关系型数据库管理系统,经常需要处理上亿级别的数据。当数据量如此庞大时,如何确保数据库的查询效率、稳定性和可扩展性,成为了一个亟待解决的问题。本文将围绕 MySQL 上亿大表的深度优化,分享一系列实用的技术干货,帮助你在工作和学习中应对挑战。
1131 1
|
Kotlin
Kotlin中继承、类型转换、Any超类、object关键字详解
Kotlin中继承、类型转换、Any超类、object关键字详解
370 0
|
网络安全 Docker 容器
WSL2 固定IP与局域网访问
该文档介绍了如何在新版WSL2中配置镜像模式网络,以实现WSL2 IP与主机相同的固定设置。然而,启用此模式后,Docker服务在本机上无法访问。作者分享了针对这个问题的解决方案,包括编辑`.wslconfig`文件开启镜像网络和调整Docker设置。具体步骤涉及更新WSL和Docker(docker-ce)的安装,以及修改`daemon.json`文件以允许本机和局域网访问Docker服务。
1079 2
|
人工智能 IDE Java
Copilot在IDEA中的应用:提升编码效率的得力助手
Copilot在IDEA中的应用:提升编码效率的得力助手
2453 3
|
机器学习/深度学习 监控 算法框架/工具
用Python实现简单的图像分类器
用Python实现简单的图像分类器
295 0
|
Kotlin
Kotlin中的When表达式:灵活、强大且直观的条件控制工具
Kotlin中的When表达式:灵活、强大且直观的条件控制工具
343 0