ExtJs4学习(一):正确认识ExtJs4

认识ExtJs

1.Javat能用ExtJs吗?

  它是展现层的技术,与JS,HTML,CSS有关。至于server端是.Net,还是PHP等无关。

2.ExtJs适合什么样的项目?

  依照官方的说法,ExtJs是给你拿来做B/S的桌面应用程序的,并不适合做门户站点。我个人理解,ExtJs比較适合做须要大量复杂界面布局和交互的信息管理系统(MIS)。

3.ExtJs效率不行,好慢...?

  确实,ExtJs做的复杂布局和交互的页面,在IE6,7,8下非常慢,在IE9下也不是非常理想,但在Chrome,FireFox等新一代浏览器中执行速度非常理想。我敢说在相同复杂的页面布局和交互下,绝对照你用Asp.Net第三方server控件强几倍。所以在眼下情况下,你不得不强烈推介你的客户使用Chrome这类的浏览器来执行你的系统。对于一般内部局域网使用的信息管理系统,这种要求是只是分的。

4.ExtJs效率问题的解决办法?

  B/S程序,展现层的效率瓶颈在于3个方面:浏览器对Js的解释速度,HTML DOM的渲染速度,内存释放以及网络带宽。随着ExtJS的多次版本号优化之后,这些问题都得以在一定程度的解决。特别曾经让人诟病的1M多的庞大JS库的问题,在ExtJS4新的按需载入机制下已经完美解决。而其它问题往往和详细的浏览器有关,也不是Ext能解决的。其实眼下在Chrome浏览器下,我们用ExtJS做的系统响应速度已经快到了令人发指的地步....假设要实现相同复杂的界面布局和交互,我找不出能比ExtJS这个解解决方式更快的技术。

5.用ExtJS须要写大量的JS代码,会导致系统难以开发,调试,维护?

  相对于习惯了简单拖拽控件的Asp.net程序猿,ExtJs确实须要你掌握很多其它的基础知识。但我们都承认非常多需求并非拖拽控件能解决的,要想做一个真正拿得出手的应用程序,你不得不付出很多其它的努力,下篇我们会讲怎样正确的学习,开发,调试ExtJs。所以技术水平不好的技术团队并不适合用ExtJs,用一些功能强大的第三方server控件,如DevExpress,Telerik或许是你们的更好选择。正如也有非常多难以维护的C#项目一样,你不能怪C#垃圾,仅仅能怪自己垃圾。就像玩LOL一样,没有垃圾的职业,仅仅有垃圾的玩家....

6.公司,技术团队和个人是否值得对ExtJs投入学习成本?

  客观的说你投入的是对Javascript的学习成本,ExtJs本身没有太多你须要投入的。除非你认为看英文API是一件很困难的事情。而对Javascript的投入,从如今的技术发展趋势来说,绝对是值得投入的...不幸的是大部分国内Asp.Net程序猿对Js的掌握程度还停留在从网上扒段特效的水平...

7.ExtJs的界面看起来都一样一样的,审美疲劳...

  没有人阻止你对ExtJs的界面进行改造...其实国外有非常多用ExtJs做的应用你根本看不出来说ExtJs做的。并且在ExtJs4里支持sass,能够非常方便的改变ExtJS的皮肤和样式。

8.选择ExtJs的理由?

  优秀的UI交互能力和功能强大的UI组件天生就是给信息管理系统用的;

  附送的皮肤样式和成熟的布局,一定程度上降低了美工的投入;

  文档很完好和好用;

  已经非常多年了,到了第4个大版本号,不管是成功案例还是社区的技术讨论都非常丰富,你能够轻易搜索到自己遇到的问题;

  开源和良好的面向对象结构,能够让你很easy的扩展和重写ExtJs,实现自己想要的功能,也能够自己依据项目需求深度封装成自己的组件;

  多浏览器的兼容性做的很好,差点儿不用做不论什么改动,就能在眼下流行的全部的浏览器下完美执行;

  Javascript+HTML(5)做为WebUI开发的主流技术如今开来已经很明朗,ExtJs发展形式一片大好;

  从近些年来的ExtJs的版本号升级能够看出,ExtJs的开发团队是很负责任的也是很牛X的;

总结:对于开发技术的应用,仅仅有垃圾的选择和垃圾的应用,没有垃圾的技术。不加前提的对一个技术片面评价,是浮躁的;不深入了解就人云亦云那是愚蠢的...

时间: 2024-10-14 00:58:47

ExtJs4学习(一):正确认识ExtJs4的相关文章

ExtJs4学习(二):Dom文档操作

现在主流的JS框架要数ExtJs和JQuery应用的比较广泛.JQuery属于轻量级的,一般做网站应用比较常见,可见块头小的优势.ExtJs比较庞大,它除了对基本的JS语法和HTML DOM操作方式的封装之外,还提供了一套强大的UI库.在企业级B/S解决方案应用上独占优势.就单说它在原生JS的封装,DOM操作方式封装方面也足以藐视JQuery.下面我就通过对比API,体现两种框架的异曲同工之处.我们已JQuery API为主线,来看看ExtJs是否有替代的方案. 注意一点:ExtJs4.0相对上

ExtJS4学习--多表头Grid

ExtJS4学习--多表头Grid 分类: javascript 2014-06-11 17:59 1676人阅读 评论(2) 收藏 举报 ext 转载来源:http://www.mhzg.net/a/20115/201151911240247.html 做项目的时候,有时候会遇到多表头的Grid,在EXTJS4中,多表头的实现已经很简单了,本文介绍如何实现多表头gird的功能. 做项目的时候,有时候会遇到多表头的Grid,在EXTJS4中,多表头的实现已经很简单了,本文介绍如何实现多表头gir

ExtJs4学习(五)最基本的Ext类

Ext类是ExtJs中最常见.最基础的一个类,它是一个全局对象,封装了所有类.单例和 Sencha 库所提供的实用方法. 大多数用户界面组件在一个较低的层次嵌套在命名空间中, 但是提供的许多常见的实用函数作为 Ext 命名空间的直接属性. 此外提供许多常用的方法,从其他类作为 Ext 命名空间内的快捷方式. 例如 Ext.getCmp 就是 Ext.ComponentManager.get 的别名. 一旦DOM准备好,许多应用程序启动,调用Ext.onReady. 这可以确保已加载所有脚本, 防

ExtJs4学习(十一)MVC应用模式

对于Extjs来说,大客户端程序一直很难写,当你为大客户端程序添加更多的功能和顷目的时候,项目的体积往往迅速增长.这样的大客户端程序很难组织和维持 ,所以,Extjs4配备了一个新的应用程序体系结构,它能结构化你的代码,那就是Extjs4 MVC. Extjs4 MVC有别于其他MVC架构,Extjs有他自己定义: Model是一个Field以及他的Data的集合,Modes知道如何通过Stores来表示数据,以能用于网格和其他组件.模型的工作很像Extjs3的记录集(Record class)

ExtJs4学习(十二)layout布局

Fit布局 在Fit布局中,子元素将自动填满整个父容器.注意:在fit布局下,对其子元素设置宽度是无效的.如果在fit布局中放置了多个组件,则只会显示第一个子元素.典型的案例就是当客户要求一个window或panel中放置一个GRID组件,grid组件的大小会随着父容器的大小改变而改变. 示例代码: <span style="font-family:Courier New;font-size:14px;">Ext.application({ name : 'HelloExt

ExtJs4学习(六)MVC中的Model

Model定义的两种方式 第一种 Ext.define("User",{ extend:"Ext.data.Model", fields:[{ name:'username', type:'string' },{ name:'password', type:'string' }] }); 另外一种 Ext.regModel("User",{ fields:[{ name:'username', type:'auto' },{ name:'pass

ExtJS4学习笔记1

extjs组件配置: 1.使用逗号分隔参数列表      2.使用JSON对象   信息提示框: 1.Ext.window.MessageBox (1)继承自Ext.window.Window对象,其实例对象可以通过Ext.MessageBox或Ext.Msg访问. (2)Ext.MessageBox提供的信息提示框与js原始的提示框有很大的差别,前者并不是一个窗口,只是当前页面的一个层(div),另外对话框中显示的内容既可以是HTML格式文本,也可以是纯文本,还有标准的Js提供的提示框会对js

ExtJs4 学习3 combox自动加载的例子

Ext.onReady(function() {   delivery_datas = [{ "Id" : "1", "Name" : "邮寄" }, { "Id" : "2", "Name" : "自提" }, { "Id" : "3", "Name" : "送货上门"

ExtJs4学习(七)MVC中的Store

Ext.data.Store是extjs中用来进行数据交换和数据交互的标准中间件,不管是Grid还是ComboBox,都是通过它 实现数据读取.类型转换.排序分页和搜索等操作的. Ext.define('User', { extend: 'Ext.data.Model', fields: [ {name: 'loginname', type: 'string'}, {name: 'ip', type: 'string'} ] }); Store既能够从本地数组中读取数据,也能够从server远程