欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~

在建立Web应用时,通常都需要用到一些有用的UI组件。无论应用中需要的是日历,滑块,图形或其它用于提升或简化用户交互的组件,那么都面临两种选择:要么自己来创建这些组件,要么使用现有的组件功能。

自行开发这些组件是复杂并耗时的,通常会花费大量的时间来独自完成这些组件,这也正是UI库和框架存在的意义。现存的这些库简化了创建UI组件的过程。你可以直接利用现有的框架,并自定义它们来满足自己的需求。

目前正在广泛使用的框架之一就是jQuery UI。这是一组扩展的使用jQuery构建的部件、效果和主题,分为一组一组的形式。既可以在单个软件包中下载jQuery UI的所有元素,也可以选择只下载感兴趣的组件和功能。使用这样的控件集能够为组件创建出一致的外观,并允许以更少的投入快速创建出应用。

虽然jQuery UI能起到很好的作用,但是还有其它的一些框架,拥有很好的高品质控件。在这篇文章中,将会分析其中的几个框架并做比较。

Kendo UI

这是一个付费框架,Kendo UI Framework提供了一系列超过70个用于加速开发过程的组件。这些组件是响应式的、可设置主题的、快速的和高度可定制的。

以下讲解Kendo UI的几件事情以及如何使用Kendo UI来创建炫酷的交互元素。

首先这些组件是由Telerik开发的。与其它框架不同的是,这些小部件仅使用JS,并且是从头开始构建的,根本不需要jQuery。即使在移动设备上查看,组件也是快速,平稳并且稳定的。

说到移动设备,这也是Kendo UI擅长的领域之一。这些组件的建立考虑到了移动设备,根据组件被设置的位置,提供了响应式的和自适应的布局。根据是否在移动设备上显示,大多数小部件都会进行相应的调整和更改,这是一个很好的功能。下面是一个滑块组件,它会根据屏幕尺寸自动调整。

从实施的角度来看,这些控件也是经过深思熟虑的。开发人员既可以在JS中进行设置,也可以在服务器端设置(例如通过PHP输出)。除了Kendo UI的web应用方面,这个框架的一些分支还可以用于Android和iOS。

另外,Kendo UI是使用AngularJS的组件集成的。这是一个使用UI元素从头创建的完整系统,能够完美匹配你的Angular项目。如果你想要使用Angular,那么Kendo UI已经支持了。

需要注意的是,Kendo UI不是一个免费的框架。

Wijmo

这是一个付费框架。Wijmo是一系列使用TypeScript 编写的自定义JavaScript控件,用于创建快速、响应式的和可扩展的UI控件。Wijmo提供了广泛的控件,并支持多个JS框架,如React,Angular和Vue。

Wijmo支持一系列控件,其中大多数都集中在数据可视化和输入方面,如图表,仪表,输入控件和网格控件。虽然其它框架提供了一系列基本控件,如对话或布局控件,但Wijmo更加专注于数据。

有趣的一点是,Wijmo 5构建在更现代化的标准之上,因此在IE8上不起作用,此时就需要Wijmo的旧版本。Wijmo 3是基于jQuery,所以它支持直到在IE6上使用。Wijmo提供的这种版本选择方式,对开发人员来说是一件很酷的事情,因为开发人员能够根据自己应用的具体运行场景来自行选择究竟是使用Wijmo 3还是Wijmo 5。

Wijmo的网站上有一个“资源管理器”,显示了所有的控件,并允许调整设置。这是一个有趣的工具,有助于了解控件的外观和感觉。

下面是Flexchart控件的图表示例。

在选择新的框架时,如果有较好的文档会变得非常好。如果你查想Wijmo的图表模块(和代码示例),那么可以在demo page页面找到FlexChart demo,以便了解它是如何工作的。Wijmo开发者的博客也会经常更新,博客中会提供一些有用的提示,系统的亮点和各种各样的想法。

Wijmo网站上的控件是很有趣的。每个控件都允许调整其显示方式,并为自定义功能提供回调以便根据需要对其进行调整。

Wijmo为产品提供了免费试用期,如果用于商业目的,则需要购买授权。如果想单独购买Wijmo5,也是可以的。如果需要.NET / Xamarin上的控件,则需要最高的enterprise licensing授权。

Webix

这是一个免费/付费框架。Webix为开发人员提供了一种快速简便的构建常见UI元素的方式。它包含了一系列数据可视化、布局、导航和编辑控件。虽然这个框架与jQuery UI共享一些组件,但Webix扩展了jQuery UI并提供了一些不同于jQuery UI中常用的组件。


Webix文档具有很好的帮助作用。所有控件都带有一个API参考指南,其中涵盖了控件的所有方法,属性和事件。此外,大多数控件都具有一些样例,用于准确的展示控件功能。这些阅读友好的文档能起到重要作用,这也是Webix开发者用心编写文档的结果。

另外一点值得注意的是,Webix开发者经常会在博客上发布一些内容,其中有几个帖子提供有用的建议和实际的例子。虽然框架很多,但是一个内容持续更新的框架是非常有价值的。

Webix提供了对框架的免费和付费的两种获取方式。免费版包含了大部分构建应用初始时会用到的功能。付费版提供了一些额外的控件,并对这些控件提供支持和帮助。

另外,付费版还提供一些很详细的的解决方案。

这些额外的付费附加件是很详细的小部件,使用这些小部件可以抽象化构建组件的复杂性,让你专注于自定义功能和样式方面。

总的来说,免费的小部件是很稳固的,提供了大量的功能。既然可以免费获得一些很好的控件,那么付费版就需要好好考虑是否值得了。

如果你正在寻求一个有详细文档并且大部分控件是免费的UI解决方案,那么Webix是一个好选择。

JQwidgets

这是一个半付费/付费框架。JQWidgets是一个jQuery驱动的框架,用于为网站建立响应式、快速、强大的UI组件。JQWidget的组件主要是使用jQuery,并提供了交互式,动态和高度可定制的小部件。

JQWidget有一个易于使用和会被监视的论坛,论坛上经常会有博客更新。

同其它框架一样,JQWidgets的文档也是框架的核心。JQWidgets的文档概述了每个小部件的工作原理、示例代码和一个很好的演示。每个小部件还有一个简单易懂的API参考指南以及如何实现每个属性或方法的示例。

另外,值得一提的是JQWidget支持React,Angular甚至ASP
.NET组件。如果你倾向于其中一个,那么这个框架会为你节省很多时间开发。

JQWidgets提供半自由和付费两种方式。非商业性使用是允许的。但是,如果用于商业目的,那么必须购买授权。

EasyUI

这是一个半付费/付费框架。EasyUI是一个扩展jQuery部件的集合,用于创建新式的,交互式网站和web app的交互。使用EasyUI,你可以使用HTML标记或者JavaScript来创建常用的UI元素。

EasyUI的设计可能与我们以前见到的一些UI框架不同。虽然EasyUI的默认样式可能会让你毫无灵感,但EasyUI附带了一个非常棒的实时主题编辑器,可让实现字体大小,文字颜色,背景颜色,位置以及其他常见属性的设置。最重要的是,它允许直接访问CSS,以便让你构建出一个适合的主题。

下面就是“Material Design”的主题。

EasyUI的文档简单直观。所有的控件显示在左侧,右侧显示相关信息。每个控件都附带一个示例截图、示例代码,然后是所有的属性、方法和事件。在主演示页,可以快速查看Demo和每一个控件。例如,Panel Control演示了如何使用自定义控件,嵌套面板和其它元素。

如果用于非商业用途,jQuery EasyUI是免费的,但如果用于开发,则需要授权。

总的来说,EasyUI是一个坚实的框架,但是网站和文档比较旧。

总结:

能够完美代替或补充jQuery UI的框架有很多,其中一大部分都是需要付费的。如果你正在寻求一个好的解决方案,那么既可以使用jQuery UI的开源社区,也可以购买付费框架。这需要从控件功能和控件价格去综合考虑衡量,以便选择最适合自己的框架。

原文链接:https://www.sitepoint.com/top-5-jquery-ui-alternatives/

相关阅读:

Angular vs React 最全面深入对比

开放才能进步!Angular和Wijmo一起走过的日子

Wijmo已率先支持Angular4 & TypeScript 2.2

这 5 个前端组件库,可以让你放弃 jQuery UI的更多相关文章

  1. 2015.5.2-2015.5.8 Tip jQuery ,前端组件库,inline-block元素间距等

    有忙于它事,故延迟了,但在坚持! 1.Tip jQuery   2.给span加display: inline-block; 怎样能对齐? 解决方法:vertical-align: bottom:   ...

  2. 基于vue2.0前端组件库element中 el-form表单 自定义验证填坑

    eleme写的基于vue2.0的前端组件库: http://element.eleme.io 我在平时使用过程中,遇到的问题. 自定义表单验证出坑: 1: validate/resetFields 未 ...

  3. 前端组件库 - 搭建web app常用的样式/组件等收集列表(移动优先)

    0. 前端自动化(Workflow) 前端构建工具 Webpack - module bundler Yeoman - a set of tools for automating developmen ...

  4. 手把手教你如何构建Vue前端组件库

    在前端开发中可能会遇到将相同的功能模板集合成一个组件,供他人调用,这样可以减少重复造轮子,也可以节约人力.财力,更能够提高代码的可维护度:下面将通过详细的步骤教你如何构建一个Vue前端组件. 1.在本 ...

  5. 从 0 到 1 到完美,写一个 js 库、node 库、前端组件库

    之前讲了很多关于项目工程化.前端架构.前端构建等方面的技术,这次说说怎么写一个完美的第三方库. 1. 选择合适的规范来写代码 js 模块化的发展大致有这样一个过程 iife => commonj ...

  6. 2021 年最值得推荐的 7 个 Angular 前端组件库 - DevUI

    摘要:DevUI 是一款面向企业中后台产品的开源前端解决方案,它倡导沉浸.灵活.至简的设计价值观,提倡设计者为真实的需求服务,为多数人的设计,拒绝哗众取宠.取悦眼球的设计.如果你正在开发 ToB 的工 ...

  7. DevExpress前端组件库

    适用于为.Net环境(也有dephi版本,其他环境未知)下 WinForm\WebForm\ASP MVC的前端扩展组件,帮助生成高度windows office统一风格的界面. 在winform下, ...

  8. 如何发布自定义的UI 组件库到 npmjs.com 并且编写 UI组件说明文档

    记录基于 antd 封装业务组件并发布到npm 上的过程:(TS + React + Sass) 初始化项目: 1.yarn create react-app winyhui --typescript ...

  9. [转载]前端——实用UI组件库

    https://www.cnblogs.com/xuepei/p/7920888.html Angular UI 组件 ngx-bootstrap 是一套Bootstrap 组件 官网:https:/ ...

随机推荐

  1. Spring基础学习(一)—初识Spring

    一.Spring的使用 1.导入jar包 2.编写实体类 Person.java public class Person{ private String name; public void say() ...

  2. Struts2基础学习(七)—值栈和OGNL

    目录: 一.值栈 二.OGNL表达式 一.值栈(ValueStack) 1.定义      ValueStack贯穿整个Acton的生命周期,每个Action类的对象实例都拥有一个ValueStack ...

  3. 用java写的一个简易记事本

    import java.awt.*; import java.awt.event.*; import java.io.*; public class NoteDemo { private Frame ...

  4. 对MySQL数据量日益增长产生的一点小想法

    最近一直在想一个问题 MySQL数据量日益庞大,目前单表总记录数有 300W+,导致sql语句执行的速度变慢,如果一直这样增长下去,总有一天会爆炸的.怎么办??怎么办?? 第一:想到的必然是 添加索引 ...

  5. [转]DevExpress GridControl 关于使用CardView的一点小结

    最近项目里需要显示商品的一系列图片,打算用CardView来显示,由于第一次使用,遇到许多问题,发现网上这方面的资源很少,所以把自己的一点点实际经验小结一下,供自己和大家以后参考. 1.选择CardV ...

  6. qq面板(仿版,未完待续中。。。。)---2017-04-24

    主要实现效果: 1.点击对话,显示对话:点击联系人,显示联系人 2.在联系人界面: 实现好友列表的展开与折叠:(图12) 实现鼠标移到好友列表上的背景颜色的变化:(图3) 选中的好友背景颜色改变(图4 ...

  7. DirectFB学习笔记一

    本文记录directfb程序的基本操作流程. 1.首先创建一个directfb对象:DirectFBInit(&argc,&argv)初始化然后创建DirectFBCreate(&am ...

  8. uoj#179 线性规划

    这是一道模板题. 本题中你需要求解一个标准型线性规划: 有nn个实数变量x1,x2,⋯,xnx1,x2,⋯,xn和mm条约束,其中第ii条约束形如∑nj=1aijxj≤bi∑j=1naijxj≤bi. ...

  9. 内核初始化优化宏(__init, __devinit)

    在内核里经常可以看到__init, __devinit这样的语句,这都是在init.h中定义的宏,gcc在编译时会将被修饰的内容放到这些宏所代表的section. 原文地址:http://blog.c ...

  10. 脚本语言:Xmas(三)

    自从将Xmas的GC换成现在的非迁移式的全局收集器后,最近几个月一直耗在Xmas上面:最明显的改变就是:更彻底地支持了面向对象.更强大的编译器. 所以,本文就来说说,真正的Xmas. 一.目标 一门语 ...