codecamp

Ext.js 概述

什么是Ext JS

Ext JS是一个流行的JavaScript框架,它为使用跨浏览器功能构建Web应用程序提供了丰富的UI。 Ext JS基本上用于创建桌面应用程序它支持所有现代浏览器,如IE6 +,FF,Chrome,safari 6+ 等。而sencha,sencha touch的另一个产品用于移动应用程序。

Ext JS基于MVC / MVVM架构。 最新版本的Ext JS 6是一个单一的平台,可以用于桌面和移动应用程序,而不需要为不同的平台提供不同的代码。

历史

Ext JS 1.1

Ext JS的第一个版本是由Jack Slocum在2006年开发的。它是一组实用程序类,它是YUI的扩展。 他将该库命名为YUI-ext。

Ext JS 2.0

Ext JS 2.0版于2007年发布。此版本具有用于桌面应用程序的新API文档,但功能有限。 此版本与以前版本的Ext JS没有向后兼容性。

Ext JS 3.0

Ext JS版本3.0是在2009年发布的。这个版本添加了新的功能作为图表和列表视图,但是以速度为代价。 它向后兼容2.0版本。

Ext JS 4.0

Ext JS 3发布后,Ext JS的开发人员面临着提高速度的主要挑战。 Ext JS 4.0版本发布于2011年。它具有完整的修订结构,其后是MVC架构和一个快速的应用程序。

Ext JS 5.0

Ext JS版本5.0是在2014年发布的。这个版本的主要变化是将MVC架构改为MVVM架构。 它包括在启用触摸的设备上构建桌面应用程序的功能,双向数据绑定,响应式布局和更多功能。

Ext JS 6.0

Ext JS 6合并了Ext JS(用于桌面应用程序)和sencha touch(用于移动应用程序)框架。

特征

这些是Ext JS的突出特性

  1. 可定制的UI小部件与丰富的UI集合,如网格,枢轴网格,表单,图表,树木。
  2. 新版本与旧版本的代码兼容性。
  3. 灵活的布局管理器有助于组织跨多个浏览器,设备和屏幕大小的数据和内容显示。
  4. 高级数据包将UI小部件与数据层分离。 数据包允许客户端使用高度功能的模型收集数据,这些模型支持排序和过滤等功能。
  5. 它是协议不可知的,并且可以从任何后端源访问数据。
  6. 可定制的主题Ext JS窗口小部件提供了跨平台一致的多个现成主题。

好处

Sencha Ext JS是业务级Web应用程序开发的领先标准。 Ext JS提供了为桌面和平板电脑构建强大应用程序所需的工具。

  1. 简化针对现代和传统浏览器的跨平台开发,跨桌面,平板电脑和智能手机。
  2. 通过IDE插件集成到企业开发环境中,提高开发团队的生产力。
  3. 降低Web应用程序开发的成本。
  4. 授权团队创建具有吸引力的用户体验的应用程序。
  5. 它有一组小部件使UI强大和容易。
  6. 它遵循MVC架构这样高度可读的代码。

限制

  1. 库的大小大约500 KB,这使得初始加载时间更多,并使应用程序缓慢。
  2. HTML已满
  3. 标签使其复杂和难以调试。
  4. 根据一般公共许可政策,它是免费的开源应用程序,但支付商业应用程序。
  5. 有些时候加载甚至简单的东西需要很少的代码行,这在简单的html或Jquery更简单。
  6. 需要相当经验的开发人员开发Ext JS应用程序。

工具

这些是sencha提供的用于Ext JS应用程序开发的工具,主要用于生产级别。
Sencha Cmd
Sencha CMD是一个提供Ext JS代码缩小,脚手架,生产构建生成功能的工具。

Sencha IDE Plugins

Sencha IDE插件,它将Sencha框架集成到IntelliJ,WebStorm IDE中。 这有助于通过提供代码完成,代码检查,代码导航,代码生成,代码重构,模板创建和拼写检查等功能来提高开发人员的生产力。

Sencha Inspector

Sencha Inspector是一个调试工具,帮助调试器调试任何问题,同时开发。

Ext.js 环境设置
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }