加快入门速度,提高开发效率,促进风格统一 EXTJS 开发指导
大部分人以前没有专门开发过 Javascript 。 对 AJAX 理解不够深入。不清楚 AJAX 对于界面操作、开发效率带来什么优势。 只知道公司要用这个框架,自己也就要用这个框架。硬着头皮用。 简单了解 Extjs 的 API 。开发实际应用时,从第一行代码开始自己写。遇到问题知道查询 API 。 每个独立的功能模块,自己一个人设计,编码。造成每个人有自己的界面风格。 适合企业级复杂操作界面应用,不适合互联网页面。 具有丰富的标准组件和第三方组件 / 插件,基本不需要自己再开发组件。 详尽的 API 文档和说明,查询非常方便。 丰富的官方例子,把 Extjs 能够实现的功能全部用代码实现了一遍。 Extjs 集成了 Yahoo UI 框架的各点,具有“设计模式 (Desing pattern)” 的概念。 EXTJS 优势和我们现在利用现状的对比 Extjs 的特点 我们现在的开发状况
下面从最佳实践的角度出发,提供一些开发上的参考,包括官方例子,第三方插件,开发调试工具,持续改进四部分。 最佳实践
最好的文档是代码。最生动的文档则是 EXTJS 的官方例子。 多参考官方样例
如何利用好官方例子
利用好官方例子的好处 Extjs 官方的例子,本身不仅仅演示了功能如何实现。更是一种良好代码风格的体现。从例子的基础上修改,还能确保你的代码风格更清晰。我们所有人的编码风格都向官方靠拢,这本身就有利于团队协作,增加代码的可读性和可维护性。 Copy 了官方的例子,也就等于 Copy 了官方的界面设计风格。比如,一个树或者表格的功能我们都 Copy 字官方的例子,那么我们的界面风格自然就保持了一致! Google 的大部分开源项目,都会提供编码风格标准。要求向这个项目贡献代码的人必须保持同样的代码风格。这是一种很好的模式。
LEGO 风格的开发
LEGO 风格的开发 Lego 风格的开发,就是说:基本组件都已经有了。你需要的只是那类这些模块进行拼装。 在 Extjs 中惊醒 Lego 风格的开发 首先在例子库的 Layout Manager 类中,寻找你需要的布局。 http:// www.extjs.com/deploy/dev/examples/samples.html#sample-7 然后在其他例子中寻找组件,填充这个布局。 然后,用你的代码把这些组件粘合起来。再加上实际功能需要的其他代码。 Extjs 例子中的 Combination Samples 中的现成应用,其实就是这样一个 lego 开发方式的结果。 Combination 就是组装、合成的意思。 http://www.extjs.com/deploy/dev/examples/samples.html#sample-0
EXTJS 的论坛非常活跃,这也是一个开源框架生命里的体现。 利用第三方插件
利用第三方插件
第三方插件举例 Extjs 集成 TinyMCE 可视化编辑器的扩展: 论坛里的帖子: http :// www.extjs.com/forum/showthread.php?t=24787 Demo : http :// blogs.byte-force.com/xor/tinymce/index.html 代码: http:// blogs.byte-force.com/media/g/tinymce/default.aspx Extjs 中集成 Iframe 的扩展: 论坛里的帖子: http:// www.extjs.com/forum/showthread.php?t=71961 Demo http :// demos.theactivegroup.com/demodesk.html?demo=mif&script=mifsimple http:// demos.theactivegroup.com/demodesk.html?demo=mif&script=treenav
设计模式,不仅仅是 GOF 四人组的那 23 种,也不仅仅是编码实现的设计模式。界面风格也同样有自己的设计模式。 形成公司自己的设计模式
用户界面设计模式 (UI DESIGN PATTERN) 第一次听说用户界面设计模式,是在学习 YUI 的过程中。我在一次培训中也提到过。  http://developer.yahoo.com/ypatterns / 在软件开发过程中,解决一些实际问题是并没有明确的对的方法和错的方法。只有在解决这类问题时,有一些通用的比较成熟的方法。这些通用的,成熟的方法被称为设计模式。 在界面设计上也是同样。 Yahoo ,在自己的网站建设过程中总结归纳出一些界面设计上解决某一类操作行为时通用的和成熟的设计模式。并且开放出来供世界其他界面设计人员参考。这就是 Yahoo Design Pattern 。 但是, YDP 毕竟是一个针对互联网网站的界面设计模式总结,并不太适合企业应用。所以我们应该总结和归纳出公司自己的界面设计模式。
形成公司自己的设计模式库
JAVASCRIPT 的开发和调试是限制 JS 开发效率的难题。但是也有解决办法。 开发和调试工具
EXTJS 推荐的开发和调试工具 官方推荐的开发和调试工具,最早见于 Extjs  的 Blog :  http://www.extjs.com/blog/2008/02/01/ides-plugins-and-tools-for-ext-js-20 / 像文档中提到的 Aptana 开发工具,已经内置了 Extjs 的库。方便你直接生成基于 Extjs 的项目。 我们在项目开发中,往往把前台浏览器里静态程序文件 (js,css) 和后台服务器端程序放在一个开发工具中开发。这一点最好改进一下。 用专门开发客户端的开发工具,例如 Aptana 开发。并且用 Mock 方法,模拟后台相应。当需要访问后台接口是,只需要读取一个本地 JSON/XML 文档获取数据即可。 用专门开发服务器端的开发工具,开发后台应用。去实现功能。 最后联合测试时,用后台程序的实际访问地址,替代原来读取本地静态 JSON/XML 。
FIREBUG 的使用 最重要的调式工具,毫无疑问还是 Firebug 。   http:// getfirebug.com 但是很多人会误解,认为 Firebug 只能用在 Firefox 浏览器里。其实所有浏览器都可以使用。这一点特别对我们有用,因为我们的应用最终要运行在 IE 中,特别特别是要运行在已经严重影响了互联网历史进程的 IE6 中 (IE6 已经影响了整个互联网的发展,这一点微软自己也承认 ) 。 其他非 Firefox 浏览器使用 Firebug 的方式在 http://getfirebug.com/lite.html 。方法很简单: 把 <script type=‘text/javascript’ src=‘http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js’></script> 这行 js 引用放入你想调试的页面。 如果你不能上网,比如在服务器上调试。那么就把 http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js 文件保存在本地。 在页面内加入这行,还可以改变 Firebug 调试窗口的大小 <script type=&quot;text/javascript&quot;> firebug.env.height = 500; </script>
EXTJS 自己的可视化开发工具 就像你用 DreamWeaver 开发 HTML 一样, Extjs 官方的可视化开发工具支持拖拽组件完成编码。
EXTJS 自己的可视化开发工具 这个可视化开发工具,按照原来 Extjs 的 Road Map ,应该是在几年 6 月份的 3.0 版本是发布。但是现在延期到 3.1 版本是发布。 3.1 版本,按照 Road Map ,应该在 11 月初发布 (Earlier November,2009) 。由于 3.1 版本有很多重要的升级和性能改进,二现在已经是 earlier  December 了。所以很多人 ( 问具体发布时间的帖子长达 5 页了 ) 都在论坛里问具体的发布时间。应该在最近就会发布。 我们将关注这个 Extjs 的可视化开发工具。主要关注一下几点: 是否能够像承诺的那样,做到方便的拖拽实现编码。 是否支持逆向,也就是说修改过的编码再同步反应到界面。 除了官方的可视化开发工具外,还有其他第三方提供的同样的工具: http://extjs.org.cn/node/329
并不是说选择了什么,就不会再改变。升级和改进是软件开发永远的话题。 持续改进 ( 话题之外的话 )
EXTJS 的升级 从我第一个用 Extjs2.0 RC 开发项目 (07 年底 ) 开始到现在,已经过去两年时间。这两年 AJAX 技术得到了前所未有的发展, Extjs 也即将升级到了 3.1 版本。 从我们确定用 Extjs2 开发的时候,用 2.2 版本。到现在的 3.1 ,我们从来没有考虑过跟随主流一起升级。 如果跟随主流不断升级,每一次升级的代价都不大。但是目前来说,从 2.2/2.3 升级到 3.1 ,可能会有难度。 但是 3.1 带来的功能和性能改进确实非常有用。
过度到 GWT ,也就是 GXT 不说了
问题反馈 Email:  [email_address] Wave: chenlong365@googlewave.com

More Related Content

PPTX
Ext Js开发指导
PDF
架構行動式網站(使用 ASP.NET MVC 4.0 -twMVC#6
PDF
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
PPTX
Java Script 调试
PPTX
twMVC#01 | ASP.NET MVC 的第一次親密接觸
PDF
ASP.NET MVC之實戰架構探討 -twMVC#5
PDF
ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰 -twMVC#3
PDF
ASP.NET MVC Code Templates實戰開發 -twMVC#4
Ext Js开发指导
架構行動式網站(使用 ASP.NET MVC 4.0 -twMVC#6
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
Java Script 调试
twMVC#01 | ASP.NET MVC 的第一次親密接觸
ASP.NET MVC之實戰架構探討 -twMVC#5
ASP.NET MVC 新增、查詢、修改、刪除 基本功實戰 -twMVC#3
ASP.NET MVC Code Templates實戰開發 -twMVC#4

What's hot (18)

PDF
Java Api Design
PPT
应用开发一般工作流程和注意
PDF
AngularJS 開發 ASP.NET MVC -twMVC#9
PPTX
Asp.net mvc 基礎
PPTX
KSDG-ASP.NET MVC 5 Overview (偽三國誌)
PPT
Web设计 2 工欲善其事(开发web项目工具的选择)
PDF
Asp.net mvc 從無到有 -twMVC#2
PDF
ASP.NET MVC Model 的設計與使用 twMVC#10
PDF
twMVC#05 |開發與移轉 ASP.NET MVC 4.0 應用程式到 Windows Azure Platform
PPTX
Windows App development for iOS, Android developer
PDF
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
PPT
常用Js框架比较
PDF
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
PPT
Telligem 1_xss
PPTX
輕鬆上手ASP.NET Web API 2.1.2
PPT
前端杂谈
PPTX
Asp.net mvc 概觀介紹
PDF
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
Java Api Design
应用开发一般工作流程和注意
AngularJS 開發 ASP.NET MVC -twMVC#9
Asp.net mvc 基礎
KSDG-ASP.NET MVC 5 Overview (偽三國誌)
Web设计 2 工欲善其事(开发web项目工具的选择)
Asp.net mvc 從無到有 -twMVC#2
ASP.NET MVC Model 的設計與使用 twMVC#10
twMVC#05 |開發與移轉 ASP.NET MVC 4.0 應用程式到 Windows Azure Platform
Windows App development for iOS, Android developer
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
常用Js框架比较
twMVC#19 | 微信公眾平台申請與wechat api 開發血淚史
Telligem 1_xss
輕鬆上手ASP.NET Web API 2.1.2
前端杂谈
Asp.net mvc 概觀介紹
與 Asp.net mvc 的第一次親密接觸 - twMVC#1
Ad

Viewers also liked (20)

PPT
Merkik 2003
PDF
Sevenload 12th may 2009
PDF
FULL MEDIA FORMAT STRATEGY
PDF
DICE Events & Media BTL Updated Profile 4-15
PPTX
Can your social media agency tell you...
PDF
Dastak Activations
PPT
Application for activations role
PPTX
Animal Kingdom
PPTX
Social Media - UAE
PPTX
Media planning & objctive
PPTX
Dunkin Donuts India - Event & Activation Strategy Idea
PDF
Atari Experiential Marketing Campaign
PDF
Global activation ideas
PDF
BMW Final
PDF
[Social Media Digital Marketing Advertising Agency Indonesia] Strategy for br...
PPT
Media Brief And Strategy Checklist
PDF
Digital advertising social marketing and tech trends predictions in 2015
PDF
Social Media Engagement is Not a Strategy
PDF
10 Digital Marketing Trends & Predictions 2015
PDF
Digital Marketing Strategy Guide
Merkik 2003
Sevenload 12th may 2009
FULL MEDIA FORMAT STRATEGY
DICE Events & Media BTL Updated Profile 4-15
Can your social media agency tell you...
Dastak Activations
Application for activations role
Animal Kingdom
Social Media - UAE
Media planning & objctive
Dunkin Donuts India - Event & Activation Strategy Idea
Atari Experiential Marketing Campaign
Global activation ideas
BMW Final
[Social Media Digital Marketing Advertising Agency Indonesia] Strategy for br...
Media Brief And Strategy Checklist
Digital advertising social marketing and tech trends predictions in 2015
Social Media Engagement is Not a Strategy
10 Digital Marketing Trends & Predictions 2015
Digital Marketing Strategy Guide
Ad

Similar to Ext Js开发指导 (20)

PPT
Django敏捷开发 刘天斯
PPT
信息系统开发平台OpenExpressApp
PPTX
Kiss开发平台简介
PPTX
Ant构建工具快速入门
PPTX
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
PPT
前端开发的那些事儿
DOC
J S教材
PPTX
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
PPT
敦群學院-SharePoint精英計畫-系統開發-Day 3
PPT
敦群學院-SharePoint精英計畫-系統開發-Day 1
PPT
01 产品基础知识培训
PPTX
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
PPT
Struts Mitac(1)
PPT
Using google appengine_1027
PPT
Jobforcompal
PDF
Enterprise connect
PPTX
常用开发工具介绍
PPTX
GOSIM 2024 - uni-app x: The next generation, pure native cross-platform frame...
DOC
网易相册前端页面开发规范2010版
PPT
Struts学习笔记
Django敏捷开发 刘天斯
信息系统开发平台OpenExpressApp
Kiss开发平台简介
Ant构建工具快速入门
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
前端开发的那些事儿
J S教材
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
敦群學院-SharePoint精英計畫-系統開發-Day 3
敦群學院-SharePoint精英計畫-系統開發-Day 1
01 产品基础知识培训
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
Struts Mitac(1)
Using google appengine_1027
Jobforcompal
Enterprise connect
常用开发工具介绍
GOSIM 2024 - uni-app x: The next generation, pure native cross-platform frame...
网易相册前端页面开发规范2010版
Struts学习笔记

Ext Js开发指导

  • 2. 大部分人以前没有专门开发过 Javascript 。 对 AJAX 理解不够深入。不清楚 AJAX 对于界面操作、开发效率带来什么优势。 只知道公司要用这个框架,自己也就要用这个框架。硬着头皮用。 简单了解 Extjs 的 API 。开发实际应用时,从第一行代码开始自己写。遇到问题知道查询 API 。 每个独立的功能模块,自己一个人设计,编码。造成每个人有自己的界面风格。 适合企业级复杂操作界面应用,不适合互联网页面。 具有丰富的标准组件和第三方组件 / 插件,基本不需要自己再开发组件。 详尽的 API 文档和说明,查询非常方便。 丰富的官方例子,把 Extjs 能够实现的功能全部用代码实现了一遍。 Extjs 集成了 Yahoo UI 框架的各点,具有“设计模式 (Desing pattern)” 的概念。 EXTJS 优势和我们现在利用现状的对比 Extjs 的特点 我们现在的开发状况
  • 6. 利用好官方例子的好处 Extjs 官方的例子,本身不仅仅演示了功能如何实现。更是一种良好代码风格的体现。从例子的基础上修改,还能确保你的代码风格更清晰。我们所有人的编码风格都向官方靠拢,这本身就有利于团队协作,增加代码的可读性和可维护性。 Copy 了官方的例子,也就等于 Copy 了官方的界面设计风格。比如,一个树或者表格的功能我们都 Copy 字官方的例子,那么我们的界面风格自然就保持了一致! Google 的大部分开源项目,都会提供编码风格标准。要求向这个项目贡献代码的人必须保持同样的代码风格。这是一种很好的模式。
  • 8. LEGO 风格的开发 Lego 风格的开发,就是说:基本组件都已经有了。你需要的只是那类这些模块进行拼装。 在 Extjs 中惊醒 Lego 风格的开发 首先在例子库的 Layout Manager 类中,寻找你需要的布局。 http:// www.extjs.com/deploy/dev/examples/samples.html#sample-7 然后在其他例子中寻找组件,填充这个布局。 然后,用你的代码把这些组件粘合起来。再加上实际功能需要的其他代码。 Extjs 例子中的 Combination Samples 中的现成应用,其实就是这样一个 lego 开发方式的结果。 Combination 就是组装、合成的意思。 http://www.extjs.com/deploy/dev/examples/samples.html#sample-0
  • 11. 第三方插件举例 Extjs 集成 TinyMCE 可视化编辑器的扩展: 论坛里的帖子: http :// www.extjs.com/forum/showthread.php?t=24787 Demo : http :// blogs.byte-force.com/xor/tinymce/index.html 代码: http:// blogs.byte-force.com/media/g/tinymce/default.aspx Extjs 中集成 Iframe 的扩展: 论坛里的帖子: http:// www.extjs.com/forum/showthread.php?t=71961 Demo http :// demos.theactivegroup.com/demodesk.html?demo=mif&script=mifsimple http:// demos.theactivegroup.com/demodesk.html?demo=mif&script=treenav
  • 12. 设计模式,不仅仅是 GOF 四人组的那 23 种,也不仅仅是编码实现的设计模式。界面风格也同样有自己的设计模式。 形成公司自己的设计模式
  • 13. 用户界面设计模式 (UI DESIGN PATTERN) 第一次听说用户界面设计模式,是在学习 YUI 的过程中。我在一次培训中也提到过。 http://developer.yahoo.com/ypatterns / 在软件开发过程中,解决一些实际问题是并没有明确的对的方法和错的方法。只有在解决这类问题时,有一些通用的比较成熟的方法。这些通用的,成熟的方法被称为设计模式。 在界面设计上也是同样。 Yahoo ,在自己的网站建设过程中总结归纳出一些界面设计上解决某一类操作行为时通用的和成熟的设计模式。并且开放出来供世界其他界面设计人员参考。这就是 Yahoo Design Pattern 。 但是, YDP 毕竟是一个针对互联网网站的界面设计模式总结,并不太适合企业应用。所以我们应该总结和归纳出公司自己的界面设计模式。
  • 15. JAVASCRIPT 的开发和调试是限制 JS 开发效率的难题。但是也有解决办法。 开发和调试工具
  • 16. EXTJS 推荐的开发和调试工具 官方推荐的开发和调试工具,最早见于 Extjs 的 Blog : http://www.extjs.com/blog/2008/02/01/ides-plugins-and-tools-for-ext-js-20 / 像文档中提到的 Aptana 开发工具,已经内置了 Extjs 的库。方便你直接生成基于 Extjs 的项目。 我们在项目开发中,往往把前台浏览器里静态程序文件 (js,css) 和后台服务器端程序放在一个开发工具中开发。这一点最好改进一下。 用专门开发客户端的开发工具,例如 Aptana 开发。并且用 Mock 方法,模拟后台相应。当需要访问后台接口是,只需要读取一个本地 JSON/XML 文档获取数据即可。 用专门开发服务器端的开发工具,开发后台应用。去实现功能。 最后联合测试时,用后台程序的实际访问地址,替代原来读取本地静态 JSON/XML 。
  • 17. FIREBUG 的使用 最重要的调式工具,毫无疑问还是 Firebug 。 http:// getfirebug.com 但是很多人会误解,认为 Firebug 只能用在 Firefox 浏览器里。其实所有浏览器都可以使用。这一点特别对我们有用,因为我们的应用最终要运行在 IE 中,特别特别是要运行在已经严重影响了互联网历史进程的 IE6 中 (IE6 已经影响了整个互联网的发展,这一点微软自己也承认 ) 。 其他非 Firefox 浏览器使用 Firebug 的方式在 http://getfirebug.com/lite.html 。方法很简单: 把 <script type=‘text/javascript’ src=‘http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js’></script> 这行 js 引用放入你想调试的页面。 如果你不能上网,比如在服务器上调试。那么就把 http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js 文件保存在本地。 在页面内加入这行,还可以改变 Firebug 调试窗口的大小 <script type=&quot;text/javascript&quot;> firebug.env.height = 500; </script>
  • 18. EXTJS 自己的可视化开发工具 就像你用 DreamWeaver 开发 HTML 一样, Extjs 官方的可视化开发工具支持拖拽组件完成编码。
  • 19. EXTJS 自己的可视化开发工具 这个可视化开发工具,按照原来 Extjs 的 Road Map ,应该是在几年 6 月份的 3.0 版本是发布。但是现在延期到 3.1 版本是发布。 3.1 版本,按照 Road Map ,应该在 11 月初发布 (Earlier November,2009) 。由于 3.1 版本有很多重要的升级和性能改进,二现在已经是 earlier December 了。所以很多人 ( 问具体发布时间的帖子长达 5 页了 ) 都在论坛里问具体的发布时间。应该在最近就会发布。 我们将关注这个 Extjs 的可视化开发工具。主要关注一下几点: 是否能够像承诺的那样,做到方便的拖拽实现编码。 是否支持逆向,也就是说修改过的编码再同步反应到界面。 除了官方的可视化开发工具外,还有其他第三方提供的同样的工具: http://extjs.org.cn/node/329
  • 21. EXTJS 的升级 从我第一个用 Extjs2.0 RC 开发项目 (07 年底 ) 开始到现在,已经过去两年时间。这两年 AJAX 技术得到了前所未有的发展, Extjs 也即将升级到了 3.1 版本。 从我们确定用 Extjs2 开发的时候,用 2.2 版本。到现在的 3.1 ,我们从来没有考虑过跟随主流一起升级。 如果跟随主流不断升级,每一次升级的代价都不大。但是目前来说,从 2.2/2.3 升级到 3.1 ,可能会有难度。 但是 3.1 带来的功能和性能改进确实非常有用。
  • 22. 过度到 GWT ,也就是 GXT 不说了
  • 23. 问题反馈 Email: [email_address] Wave: [email protected]