挑战EXT——QUI框架介绍与下载

为庆祝新版QUI问世特写此文:

提起EXTJS的大名,恐怕WEB开发界无人不晓吧。EXTJS框架发展到现在,已经非常成熟和全面了。它的组件库尤其是DataGrid组件无人能出其右。

我之前也一直把EXT作为项目前台方案的首选,然而在两年前,我因为某些理由终于无法忍受它了,决心要开发一套符合自己和大众化需求的前台框架出来。这就成就了QUI框架的问世(原UUR框架)。

先不说QUI,我想先说说我放弃EXT的理由。纯属个人感受。

(1)风格样式单一。这是最让我受不了的。一个让用户满意的系统并不是单纯组件的堆砌,用户对系统的评价除了能够完成相应的功能外,还涉及到界面是否美观、导航是否合理等等。尤其是界面美观方面,苹果的成功告诉我们用户体验至关重要。用户需要的是一个一个赏心悦目的系统,而是用EXTJS构建的系统界面都是千篇一律的,看起来很是单调。例如下图:

(2)EXTJS定位为底层JS框架,提供的都是基础的组件,并没有提供网页常用的布局模板,所有的页面都需要通过JS脚本动态生成布局与组件,这导致系统开发效率很低,尤其是对于新手。我很久以前曾使用EXT制作一个普通的表单页面,结果花费了我近一个小时的时间(也有可能是我水平不够)。

(3)EXTJS数据传输机制主要采用了AJAX+JSON模式,不兼容传统的网页HTML元素开发模式。不幸的是,我所在的开发团队还是习惯于传统的同步通信方式。因为历经多年的项目积累,我们早已有了一套成熟的SSH框架,我们所有项目的后台程序都是用这套东西。如果采用EXTJS,那么意味着需要生成JSON数据以AJAX方式传递,无疑会增加大量的工作量。

(4)组件很难分离。如果我想在项目中使用一两个EXT的组件,例如window或者combox组件,那么我也需要将整套EXT框架机制全部引入,感觉太大材小用了,而且会影响整体性能。

另外我也尝试过其他的JS框架,发现它们的思路都与EXTJS相似,也同样无法满足我的需要。

下面开始引出QUI框架。
QUI的英文全拼是QuickUI,意思是使用它能够快速地搭建你的系统界面。

(1)首先我将其定位为集成框架,它并不是一个单纯的JS库,而是一套完整的企业级应用解决方案。包含了十多种导航结构的主页,能够满足绝大部分项目的整体布局需要。内容页面也提供了很多类型的模板,例如表单模板、数据列表模板等等。这样做的目的是为了大幅度地提高系统开发效率,不需要自己去创建,直接拿过来做简单的修改就可以用了。
经过实践检验,这种方式开发系统效率真的是非常非常高!

(2)QUI框架最大的亮点不在于它拥有众多实用的组件和特效,而在于它拥有独特的皮肤机制,可以很方便地为其定制皮肤。我事先已经为每种结构都做了十几套套皮肤,同时也留出响应接口,方便用户自定义皮肤。
皮肤预览图列表效果如下

其中一套皮肤效果如下:

登录页面皮肤列表效果:

(3)QUI框架另一个让我得意的特点是使用的方式非常简单。在整个框架的开发过程中我就始终在思考如何简化使用步骤。它与EXTJS动态创建HTML元素的机制完全不同,是对现有的HTML进行渲染。例如如果想要创建一个提示信息,只要在元素上写title=”xxx”就可以了,效果如下:

而如果想要创建一个表单,与传统写HTML标签的方式没有任何区别,框架自动会把表单元素渲染成漂亮的、功能强大的页面。想要增加功能只要在标签上添加属性就可以了,例如为文本框标签增加一个watermark=”xxx”的属性,那么文本框就具有了水印效果,如下:

一个被渲染后的表单整体效果如下:

当然,很多人已经习惯了EXTJS的开发方式,反而会觉得EXT的开发方式效率更高一些,我也没意见,所谓萝卜青菜各有所爱。

(4)QUI框架只是对前台元素进行渲染,不会改变原有的后台机制。另外还提供了分离版本,这样如果只想使用里面的一两种组件或特效也不必将整套框架机制全部引入。这样前面提到的那两个问题也解决了。

分离版组件效果(每个组件都是单独的一个文件包):

感兴趣的可以下载该框架自行尝试。
点击下载QUI
(直接点击链接即可,使用迅雷可能会导致无法下载)

框架体积说明:
压缩包解压后有将近50M,里面有将近30M是各种皮肤的预览图,6M的PPT介绍,4M的flash播放器插件,其余的是框架本身和各种示例demo页面以及所用的资源图片等

挑战EXT——QUI框架介绍与下载的更多相关文章

  1. 360UI 界面框架 即QUI框架与EXT比较

    EXTJS框架是非常全面和成熟的,这是因为它发展的年头久远,并且有全世界的EXTJS爱好者为其出谋献策,它的组件库尤其是DataGrid组件无人能出其右.我在最初也考虑过使用EXTJS来做项目,学习了 ...

  2. OpenStack Restful API框架介绍

    1  pecan框架介绍 1.1  什么是pecan pecan是一个轻量级的python web框架,最主要的特点是提供了简单的配置即可创建一个wsgi对象并提供了基于对象的路由方式. 主要提供的功 ...

  3. [连载]《C#通讯(串口和网络)框架的设计与实现》-1.通讯框架介绍

    [连载]<C#通讯(串口和网络)框架的设计与实现>- 0.前言 目       录 第一章           通讯框架介绍... 2 1.1           通讯的本质... 2 1 ...

  4. MJExtension框架介绍

    MJExtension框架介绍 标签: MJExtension 2015-05-01 08:22 1120人阅读 评论(0) 收藏 举报  分类: Foundation(14)  版权声明:本文为博主 ...

  5. iOS框架介绍

    iOS框架介绍      Cocoa Touch   GameKit  实现对游戏中心的支持,让用户能够在线共享他们的游戏相关的信息  iOS设备之间蓝牙数据传输   从iOS7开始过期   局域网游 ...

  6. OpenCV框架介绍

    OpenCV框架介绍 概述 OpenCV是一个开放源代码的计算机视觉应用平台,由英特尔公司下属研发中心俄罗斯团队发起该项目,开源BSD证书,OpenCV的目标是实现实时计算机视觉,,是一个跨平台的计算 ...

  7. Android HotFix动态加载框架介绍

    HotFix(Deprecated) https://github.com/dodola/HotFix 请关注 RocooFix 我重新写了一个RocooFix框架,解决了Nuwa因为Gradle1. ...

  8. 3.3.1 MyBatis框架介绍

    MyBatis框架介绍 1. 什么是框架 (1) 框架是偷懒的程序员将代码进行封装, 之后进行重复使用的过程. (2) 框架其实是一个半成品, 以连接数据库为例, 连接数据库使用的驱动, url, 用 ...

  9. Bootstrap框架介绍

    Bootstrap框架介绍 一.Bootstarp环境部署 1>.什么是Bootstartp框架 Bootstrap是Twitter开源的基于HTML.CSS.JavaScript的前端框架.它 ...

随机推荐

  1. 【M13】以by reference 方式捕捉exceptions

    1.catch语句的参数有三种方式:by pointer,by value,by reference. 2.首先考虑,by pointer.这意味着抛出端必须抛出一个对象的地址.那么问题来了: 如果这 ...

  2. [转]Log4Net中配置文件的解释

    FROM:http://www.cnblogs.com/kissazi2/p/3392605.html 一个完整的配置文件的例子如下所示 <log4net> <!-- 错误日志类-- ...

  3. Eclipse安装ADT失败解决办法

    Eclipse的版本是3.5.2,配置Android的开发环境时遇到问题…… 按照Android官方文档一步步安装,到了安装Eclipse的ADT插件时,提示“requires 'org.eclips ...

  4. zend studio快捷模板 开发工具之zend studio一些配置

    以下是以Zend Studio 10.0.0版本为基础的: 模板的配置(template): [菜单]->[Window]->[preferences]->[PHP]->[Ed ...

  5. Support Facades

    Support Facades Introduction Facades provide a "static" interface to classes that are avai ...

  6. 建索引让SQL飞起来

    今天帮助看了一个哥们的数据库,帮他抓了一下等待事件,刚好有一个sql在等待事件中,顺便看看 监控等待事件 select a.SID, a.EVENT, b.OSUSER, b.username, b. ...

  7. 如何实现XA式、非XA式Spring分布式事务

    Spring应用的几种事务处理机制 Java Transaction API和XA协议是Spring常用的分布式事务机制,不过你可以选择选择其他的实现方式.理想的实现取决于你的应用程序使用何种资源,你 ...

  8. RecyclerView基本用法

    1. 在gradle.build的dependencies中添加RecyclerView需要的包 compile 'com.android.support:cardview-v7:23.4.0'com ...

  9. 虚拟机CentOS联网相关配置

    CentOS 用ifconfig命令,只有lo,没有eth0的解决方案 如果ifconfig -a 也没发现eth0则拷贝lo自己造一个,CentOS7 命令为 ip addr 1.配置虚拟机如下图: ...

  10. 使用开源库PhotoView

    一.下载地址:https://github.com/chrisbanes/PhotoView 点击DownLoad ZIP,进行下载. 二.解压,然后复制PhotoView-master\librar ...