zoukankan      html  css  js  c++  java
  • JavaScript UI选型及Jquery EasyUI使用经验谈

    最近由于项目需要,对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/

  • 相关阅读:
    Metasploit自动攻击和选择模块攻击详解
    laravel 通过ftp上传的时候报错 Use of undefined constant FTP_BINARY
    Laravel--文件管理及上传自定义目录及文件名
    在从myql服务器上 取消主从关系和重新构建主从关系
    sql 从服务器取消主从复制
    pecl和pear 的区别和联系
    laravel中打印一个sql语句
    laravel 查询数据库first()返回的数据转数组
    [微信小程序]实现一个自定义遮罩层
    分享CSS3里box-shadow属性的使用方法,包括内阴影box-shadow:inset
  • 原文地址:https://www.cnblogs.com/lhxsoft/p/8269373.html
Copyright © 2011-2022 走看看