前端领域最近几年发展的特别迅速,可以说是百家争鸣。在底层的前端框架领域中,最早是jquery称霸互联网,近两年MVVM类型的框架慢慢成为主流,Vue、React和Angular三大框架并驾齐驱。可以说,目前这四种是开发者用的最多使用最广的底层框架,也由此衍生了大量基于这些框架的免费UI库。

   这些年不断有新的框架冒出来,又不断有旧的框架被淘汰。2017年马上到尾声了,在这里总结一下基于Vue、React、Angular和Jquery这四大框架衍生的,经受过时间检验深受广大开发者欢迎的UI框架。

  一、基于Vue的UI框架:ElementUI

  ElementUI是由饿了么UED设计、饿了么前端团队开发的,基于Vue2.0的桌面端组件库。Vue可以说是2017年最火的引擎类前端框架,ElementUI以其美观的设计和高质量的组件很快俘获了一大批Vuer的芳心。

  不足之处在于组件的种类和功能不够多(例如数据表格组件),很多时候需要自己也要开发一些组件,否则难以完成复杂的企业级应用开发。

  官网地址:http://element.eleme.io

  二、基于React的UI框架:AntDesign

   AntDesign蚂蚁金服出品的基于React的一款前端UIlibrary,React在14年和15年非常火爆,虽然入门的门槛偏高但仍然不断有大量的开发者使用。

  蚂蚁金服对AntDesign的定位不仅仅是一套UI组件库,而是一套前端设计语言,提供了大量的设计规范和示例。基本上想到的页面交互都可以用AntDesign来实现,大大降低了页面开发成本。

   不足之处在于性能方面有待提高,比如tab,此外很多用户抱怨字小,图标也过小等。

   官网地址:https://ant.design/

 

 三、基于Angular的UI框架:NG-ZORRO

  NG-ZORRO是AntDesign的Angular实现,NG-ZORRO不仅继承了AntDesign的独到思想和极致体验,同时也结合了Angular框架的优点和特性。目前第一版发布将支持Angular4.0.0及以上版本,组件的数量现已覆盖AntDesignReact版本的80%以上,组件的风格已与AntDesign最新版本保持同步,组件的接口也尽量保持了与AntDesign的React版本一致

  官网地址:https://ng.ant.design

  四、基于Jquery的UI框架:QUICK UI

   QUICK UI是引领视觉公司出品的一套基于Jquery的UI组件库。在前几年,Jquery可以说是引擎类框架中绝对的霸主,虽然最近几年它的受到MVVM类型框架的影响地位有所下降,但因为入门简单和友好的API设计,目前依然是使用最广泛的前端框架。

   如果用车比较的话,前几种框架可以看做汽车零件,而QUICK UI则非常接近于一辆完整的汽车。它定位是一套用于开发企业级应用的产品,所以对品质的要求非常高,包含了上百种组件,上千种示例演示功能特性,例如一个数据表格组件就拥有近100项功能点,包括跨行跨列的复杂表格、树形表、父子表、即时编辑表格等等。

   跟其他框架不同在于,QUICK UI不仅仅是一套组件库,它还有一套很便利的皮肤机制,搭配皮肤包可以实现效果的千变万化,让你的项目不再是千篇一律的单调风格,满足企业级开发需要。

   不足之处在于因为它是面向企业的商业产品,个人开发者可能承担不了费用。不过官方也推出了针对个人开发者的免费版本。

   官网地址:http://www.uileader.com

  

2017年最受欢迎的UI框架的更多相关文章

  1. 很受欢迎的vue前端UI框架

    最近在逛各大网站,论坛,SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容也很多,小编自己也趁着这个大前端的热潮,着手学习了一段时间的Vue.js,目前用它正在做自己 ...

  2. 2018年九个很受欢迎的vue前端UI框架

    最近在逛各大网站,论坛,SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容也很多,小编自己也趁着这个大前端的热潮,着手学习了一段时间的Vue.js,目前用它正在做自己 ...

  3. 创新高性能移动 UI 框架-Canvas UI 框架

    WebView 里无法获得的能力虽然是「体验增强」与「端基本能力」,但现都基本上有成熟解决方法.但后期的 UI 和 Layout 的性能反而是目前 Web 技术欠缺的.所以,无论是 Titanium ...

  4. 游戏UI框架设计(一) : 架构设计理论篇

    游戏UI框架设计(一) ---架构设计理论篇 前几天(2017年2月)看到一篇文章,国内王健林.马云等大咖们看好的未来十大最有"钱途"产业中,排名第一的就是"泛娱乐&qu ...

  5. 游戏UI框架设计(四) : 模态窗体管理

    游戏UI框架设计(四) --模态窗体管理 我们在开发UI窗体时,对于"弹出窗体"往往因为需要玩家优先处理弹出小窗体,则要求玩家不能(无法)点击"父窗体",这种窗 ...

  6. 游戏UI框架设计(五): 配置管理与应用

    游戏UI框架设计(五) --配置管理与应用 在开发企业级游戏/VR/AR产品时候,我们总是希望可以总结出一些通用的技术体系,框架结构等,为简化我们的开发起到"四两拨千金"的作用.所 ...

  7. 游戏UI框架设计(7): 资源国际化技术

    游戏UI框架设计(7) --资源国际化技术 说起"资源国际化"技术,个人认为可以追述到微软Window2000 PC操作系统的发布,在这之前windows98操作系统的开发都是先由 ...

  8. 前端UI框架小汇总

    前言: 近期,小弟根据GitHub.前端社区.掘金等平台对当前流行的前端UI框架的进行了小小的整理和汇总(ps:前端UI框架的应用是通过GitHub star数,社区热度和使用范围等进行的粗略的汇总[ ...

  9. .NET Core UI框架Avalonia

    .NET Core UI框架Avalonia,Avalonia是一个基于WPF XAML的跨平台UI框架,并支持多种操作系统:Windows(.NET Framework,.NET Core),Lin ...

随机推荐

  1. PHP面向对象三大特性之一:封装

    面向对象的三大特性:封装.继承.多态 1.封装 封装的目的:让类更加安全,做法是不让外界直接访问类的成员 具体做法:1.成员变为私有:访问修饰符(public.private.protected)   ...

  2. 聊一聊我的阿里云ECS云主机

    javaweb学习有段时间了,期间也编写了一些自己的小webapp应用,但是都是发布在我们自己的个人pc上的. 于是我在想:怎么样让自己的项目可以发到公网上面去,让朋友们能够来访问? 我首先想到的是: ...

  3. linux防火墙简单的使用

    Centos升级到7之后,内置的防火墙已经从iptables变成了firewalld.所以,端口的开启还是要从两种情况来说明的,那就是iptables和firewalld.本文章参考官网教程基础 一. ...

  4. org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably du

    如果出现类似下面的错误,原因就是JDK版本太高了,我换成1.7就没事了 Caused by: org.springframework.core.NestedIOException: ASM Class ...

  5. Spring第三篇【Core模块之对象依赖】

    前言 在Spring的第二篇中主要讲解了Spring Core模块的使用IOC容器创建对象的问题,Spring Core模块主要是解决对象的创建和对象之间的依赖关系,因此本博文主要讲解如何使用IOC容 ...

  6. RabbitMQ消息队列之二:消费者和生产者

    在使用RabbitMQ之前,需要了解RabbitMQ的工作原理. RabbitMQ的工作原理 RabbitMQ是消息代理.从本质上说,它接受来自生产者的信息,并将它们传递给消费者.在两者之间,它可以根 ...

  7. [js高手之路] es6系列教程 - 迭代器与生成器详解

    什么是迭代器? 迭代器是一种特殊对象,这种对象具有以下特点: 1,所有对象都有一个next方法 2,每次调用next方法,都会返回一个对象,该对象包含两个属性,一个是value, 表示下一个将要返回的 ...

  8. angularui 自定义选项卡

    ng-include 选取ng-template <!DOCTYPE html> <html lang="en" ng-app="myApp" ...

  9. Linux(centos)环境下Lamp环境搭建,成功版。

    搭建环境必须条件:1.Linux环境,2.Apache,3.mysql ,4.PHP,搭建步骤如下 1.开启Linux,得到root权限:sudo su 接下来输入登录密码,进入root权限,因为安装 ...

  10. java踩坑记

    1.String 相等 稍微有点经验的程序员都会用equals比较而不是用 ==,但用equals就真的安全了吗,看下面的代码 user.getName().equals("xiaoming ...