最近由于项目需要,对js UI作了一些简单的了解和使用,有自己的一些想法,在这里留个记录。

  当然,我的专注点在管理系统的范围内,所以互联网网站及其他形态的应用这里不提及,所以jQuery UI和Bootstrap类的js库不会提及。

  一、JavaScript UI选型

  由于公司里一般只有“美工”,没有前端人员,所以一般是程序员兼职前端,所以一般会找一个好用且功能全的js UI框架(当然,还有免费),这样页面基本就不用花费太多功夫了。

  我们了解到的有大概这么几个js UI 框架:EXT js(http://www.sencha.com/),jQuery MiniUI(http://www.miniui.com/),jQuery EasyUI(http://www.jeasyui.com/index.php),还有博客园谢略的jQuery LigerUI(http://www.cnblogs.com/leoxie2011/)。

  EXT js

  优点:发展时间长,组件和功能丰富,效果炫,使用的人多,有专业团队维护。

  缺点:由于组件太多、功能太丰富,导致臃肿,体积大,响应速度慢,收费。

  jQuery MiniUI

  优点:基于jQuery的轻量级UI,组件较丰富,性能与效果都还不错,有专业团队开发与维护,国产。

  缺点:收费,收费较高;使用的人不多。

  jQuery EasyUI

  优点:轻量,组件较为丰富,效果还可以,版本已经趋于稳定,官方有专人维护与技术支持。

  缺点:部分组件功能不太丰富,有少量兼容性问题,性能有些小小问题。

  jQuery LigerUI

  优点:轻量级,组件比较丰富,开源。

  缺点:效果稍欠缺,文档不太完善,个人开发,版本升级与维护比较慢。

  最终我们选定jQuery EasyUI,虽然功能不太全,但是在轻量级UI里,它和MiniUI、LigerUI各方面其实都在同一级别,抛弃MiniUI的主要原因是收费,据说价格还不低……我们怕不缴费,就没有技术支持,会有问题,而且貌似用MiniUI的群体不大(估计也和收费有关);LigerUI其实也不错,但是UI效果还稍微有些欠缺,而且是作者一个人维护,虽然开源,但是各类用户和爱好者提交的问题好像也不少,作者一个人恐怕很难应付得过来。

  接下来再详细说说jQuery EasyUI,经过好几年的发展,现在的稳定版本已经是1.3.3了,共有30多个组件,基本涵盖了普通应用系统里会用到的所有组件,文档和Demo都还比较全面和丰富,提供相应的扩展接口,方便扩展;而且更新也较为频繁,国内用户还算不少,而且也有官方论坛,版主回复也非常认真和及时,一般问题都能给搞定,不过现在已收费,好在不算太贵($449)。

  适用场景:需要快速开发对UI和性能要求不是特别高的的中小型应用系统。

  二、接下来再吐槽一下使用过程中遇到的问题吧

  1.布局Layout 也算EasyUI的一大特色功能了,可是有些功能缺失,比如某layout在收起来后,title不能显示,收起和展开动作稍显不平滑(这其实是EasyUI框架的问题了,所有组件都有同样问题);

  2.DataGrid挺好用,但是大数据量和编辑状态的性能比较差,特别是IE下;

  3.Tabs里的content和href方式各有问题,用content方法打开iframe,会有性能问题,且类似dialog和messager的窗口不能在框架页弹出,只能在iframe页面范围内;href方式和其他第三方js插件貌似有兼容性问题,而且href是以资源的形式,将href的页面引用至父页面,这需要在对页面元素命名时,要全局考虑,整个站点不能重名;

  4.部分浏览器下渲染效果过慢,有时候会看到还没渲染完成的页面效果,体验不太好;

  5.文档不太详细,部分组件的依赖关系描述得不清楚,部分方法的使用方法也省略,用户在查完文档后,往往还需要看其他的demo才能明白;

  6.ValidateBox有不少问题,老是在不该验证的时候去做验证,错误提示在页面边缘时会被挡住;

  7.部分组件缺失,如:富文本编辑器;部分组件功能不够丰富,如:DateBox;

  8.浏览器兼容性问题还有少量。

  EasyUI相关资源:

  jQuery EasyUI中文社区:http://bbs.jeasyuicn.com/forum.php

  WebUI框架使用参考:http://www.easyui.info/

  韩迎龙(Kencery):http://www.cnblogs.com/hanyinglong/tag/easyUI/

  雪雁:http://www.cnblogs.com/codelove/tag/Jquery%20EasyUi/

  萧秦:http://www.cnblogs.com/xqin/tag/easyui/

  疯狂秀才:http://www.cnblogs.com/hxling/

  

JavaScript UI选型及Jquery EasyUI使用经验谈的更多相关文章

  1. JavaScript精彩范例(1)——Jquery EasyUI应用的一个框架实例

    从网上看到的,非常漂亮,放在这里和大家分享一下,作者是疯狂秀才 这是截图 >>这是下载地址<<

  2. 第 1 章 jQuery EasyUI 入门

    学习要点: 1.什么是 jQuery EasyUI 2.学习 jQuery EasyUI 的条件 3.jQuery EasyUI 的功能和优势 4.其他的 UI 插件 5.是否兼容低版本 IE 6.下 ...

  3. Jquery EasyUi实战教程布局篇

    转自:http://www.kwstu.com/ArticleView/kwstu_20139413501290 送给大家一个非常好的后台布局模板,本人后来就选择了这个模板http://www.kws ...

  4. 初试jQuery EasyUI

    jQuery EasyUI jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面.开发者不需要 ...

  5. 第一百九十一节,jQuery EasyUI 入门

    jQuery EasyUI 入门 学习要点: 1.什么是 jQuery EasyUI 2.学习 jQuery EasyUI 的条件 3.jQuery EasyUI 的功能和优势 4.其他的 UI 插件 ...

  6. 基于JQuery easyui,gson的批量新增/修改和删除-servlet版

    最近项目需要用到在页面进行批量操作,做了一些这方面的学习,参照网上的资料写了个小例子,记录一下: 准备 引入gson-2.6.2.jar,这里使用gson而不使用json-lib,原因是json-li ...

  7. Jquery EasyUI Treegrid按需加载子集

    项目说明,要一个有权限并且按需加载的树形列表. jeasyui网址 CSS <!--添加树状控件--> <link rel="stylesheet" type=& ...

  8. JavaScript UI技术选型

    ExtJS l ExtJS(TODO:找旧版本,类似现在EasyUI插件的旧版本)简介:纯JS支持:IE6授权:GPLv3授权.商业授权($329/人) l Ext.NET简介:ExtJS的NET封装 ...

  9. jquery easyui datagrid 远程加载数据----javascript法

    jquery easyui有三种办法生成datagrid(数据网格),本篇专门讨论javascript借助jquey easy ui实现的方式 html部分 <main role="m ...

随机推荐

  1. W3School-CSS测验

    The only way to survive was to enjoy the good moments and not dwell too much on the bad. 生活,就应该享受美好的 ...

  2. MySQL用户无法登陆问题

    安装完MySQL后,我们通常添加拥有相应权限的普通用户用来访问数据库.在使用普通用户(假设为tom)本地登录数据库的时候,经常会出现无法登录的情况,但是从其他的mysql客户端却可以登录.在本地使用t ...

  3. SQL Server中字符串转化为GUID的标量函数实现

        还是工作中遇到的需求,有时候和外部的系统对接,进行数据的核对功能,外部的系统有时候主键字段列数据类是UNIQUEIDENTIFER(GUID)类型的字符串格式,去除了GUID格式中的分隔符“- ...

  4. windows下制作linux U盘启动盘或者安装优盘(转)

    windows下制作linux U盘启动盘或者安装优盘(转) Linux发行版排行榜:http://iso.linuxquestions.org/ [方案一]:UltraISO(不推荐,在Window ...

  5. 从vmware下载到Linux环境下jdk和maven的安装

    写在前面:个人总结,如有不对请指出 操作环境: 操作系统:window7 企业版 处理器:Intel Core i5-4200U CPU @ 1.6GHz 内存:8G 系统类型:64位操作系统 需要安 ...

  6. Linux 下子线程的 pthread_cleanup_push() 和 pthread_cleanup_pop() 研究

    线程退出前可能有一些清理工作,但是这部分代码又不会放到线程主体部分,就需要挂接一个或者几个线程“清洁工”来做这部分事情.需要这对兄弟: #include<pthread.h> void p ...

  7. [转]C#编程总结(三)线程同步

    本文转自:http://www.cnblogs.com/yank/p/3227324.html 在应用程序中使用多个线程的一个好处是每个线程都可以异步执行.对于 Windows 应用程序,耗时的任务可 ...

  8. [麦先生]Laravel框架实现发送短信验证

    今天在做到用户注册和个人中心的安全管理时,我借助实现第三方短信平台在Laravel框架中进行手机验证的设置;  由于我们做的是一个为客户提供医疗咨询和保健品网站,所以对客户个人隐私的保护显得尤为重要, ...

  9. 在一周内学会使用 AUTO CAD

    学习目的: 1.使用AUTO CAD绘制电路板外框.元器件封装: 2.借助软件使用,对产品结构有更深入的体会. 学习过程: 1.由于本人急需在短时间内具备简单的二维绘图能力,故没有借鉴.对比网络上其他 ...

  10. AC日记——数字统计 openjudge 1.5 41

    41:数字统计 总时间限制:  1000ms 内存限制:  65536kB 描述 请统计某个给定范围[L, R]的所有整数中,数字2出现的次数. 比如给定范围[2, 22],数字2在数2中出现了1次, ...