身为一个资深后端工程师,面对层出不穷的前端框架,总让人眼花缭乱,做一个综合解析贴,从全局着眼,让我们明白各种前端框架的应用范围,为如何选择前端框架,从不同的维度提供一些线索,做为一个长期优化贴,欢迎指正留言讨论。(注:排名不分先后,好像也没有排名)

◆ BootStrap 1.0 2.0 3.0

  分类:UI框架

  适用范围:优化布局 美化页面 现成组件

  使用方式:组件 class

  框架愿景:

  组成:

  特点:

  说明:最早的前端框架,好像没有之一,笔者只用过它的组件(1.0)现在已经发展到4.0 真的不知道现在是什么特性,所以按最初的印象, 能用来美化页面 优化布局 使用一些现成组件

◆ LayUI

  分类:UI框架

  适用范围:优化布局 美化页面 现成组件

  使用方式:组件 class

  框架愿景: 源引官网 我们都在有意或无意地追逐。而 layui 偏偏回望当初,奔赴在返璞归真的漫漫征途,自信并勇敢着,追寻于原生态的书写指令,试图以最简单的方式诠释高效。

  组成:

  特点:

  说明:新出现的一个UI类框架,在Js框架大行其道UI框架越来越少的情况下,新出现做UI框架真的需要勇气,而笔者也正是因为对BootStrap审美疲劳而寻找新的框架,所以笔者很支持,其它了解不多。

◆ AmazeUI-妹子UI

  分类:UI框架

  适用范围:优化布局 美化页面 现成组件

  使用方式:组件 class

  框架愿景:为移动而生

  组成:

  特点:

  说明:

◆ EasyUI

  分类:UI框架

  适用范围:优化布局 美化页面 现成组件

  使用方式:组件 class

  框架愿景:

  组成:

  特点:

  说明:

◆ Vue.js

  分类:UI框架

  适用范围:优化布局 美化页面 现成组件

  使用方式:组件 class

  框架愿景:

  组成:

  特点:

  说明:

◆ Node.Js

  分类:UI框架

  适用范围:优化布局 美化页面 现成组件

  使用方式:组件 class

  框架愿景:

  组成:

  特点:

  说明:应该是JS框架的开山笔祖,或是将前端框架推向繁荣的中流砥柱,成功的将"前端"推向"后端", 原来只在V层(MVC)活动的前端,终于扩展到了其它层

1.BootStrap 1.0 2.0 3.0

  分类:UI框架

  适用范围:优化布局 美化页面 现成组件

  使用方式:组件 class

  框架愿景:

  组成:

  特点:

  说明:最早的前端框架,好像没有之一,笔者只用过它的组件(1.0)现在已经发展到4.0 真的不知道现在是什么特性,所以按最初的印象, 能用来美化页面 优化布局 使用一些现成组件

1.BootStrap 1.0 2.0 3.0

  分类:UI框架

  适用范围:优化布局 美化页面 现成组件

  使用方式:组件 class

  框架愿景:

  组成:

  特点:

  说明:最早的前端框架,好像没有之一,笔者只用过它的组件(1.0)现在已经发展到4.0 真的不知道现在是什么特性,所以按最初的印象, 能用来美化页面 优化布局 使用一些现成组件

前端Js框架汇总

概述:

  有些日子没有正襟危坐写博客了,互联网飞速发展的时代,技术更新迭代的速度也在加快。看着Java、Js、Swift在各领域心花路放,也是煞是羡慕。寻了寻.net的消息,也是振奋人心,.net core 1,mono,xamarin等等,但大多都还在狂吼的阶段。其实一直以来对技术的理解是技术服务于业务和产品,产品又在不同程度的推进着技术的演进。

  Web、无线、物联网、VR、PC从不同方向推进着技术的融合与微创新。程序员在不同业务场景下的角色互换。而随着node.js的出现语言的角色也在发生着转变,Js扮演了越来越重要的角色。也就有了茶余饭后也把了解到的知识整理一下。看过“你的知识需要管理”后,强烈的意识到杂乱且范范的知识储备远不如整理后条理清晰的知识带来好处多。所以,是的,我们需要时不时的回来对掌握的知识梳理归类,以备不时之需。

一、前端框架库:

1.Zepto.js

  • 地址:http://www.css88.com/doc/zeptojs/
  • 描述:Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api。 如果你会用jquery,那么你也会用zepto。关于Zepto认知我也是通过与一位腾讯朋友聊天的时候知道的,只作了些基础的了解。

2.SUI Mobile

  • 地址:http://m.sui.taobao.org
  • 描述:SUI Mobile 是一套基于 Framework7 开发的UI库。它非常轻量、精美,只需要引入我们的CDN文件就可以使用,并且能兼容到 iOS 6.0+ 和 Android 4.0+,非常适合开发跨平台Web App。
  • 用途:你也看到了,他是用于无线端的Web App的开发。

3.Node.Js

  • 地址:http://www.runoob.com/nodejs/nodejs-tutorial.html (中文网)
  • 描述:Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。
  Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

  简单的说 Node.js 就是运行在服务端的 JavaScript。

  Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。

  Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

  • 用途:

  1. RESTful API

  这是NodeJS最理想的应用场景,可以处理数万条连接,本身没有太多的逻辑,只需要请求API,组织数据进行返回即可。它本质上只是从某个数据库中查找一些值并将它们组成一个响应。由于响应是少量文本,入站请求也是少量的文本,因此流量不高,一台机器甚至也可以处理最繁忙的公司的API需求。

  2. 统一Web应用的UI层

  目前MVC的架构,在某种意义上来说,Web开发有两个UI层,一个是在浏览器里面我们最终看到的,另一个在server端,负责生成和拼接页面。

不讨论这种架构是好是坏,但是有另外一种实践,面向服务的架构,更好的做前后端的依赖分离。如果所有的关键业务逻辑都封装成REST调用,就意味着在上层只需要考虑如何用这些REST接口构建具体的应用。那些后端程序员们根本不操心具体数据是如何从一个页面传递到另一个页面的,他们也不用管用户数据更新是通过Ajax异步获取的还是通过刷新页面。

  3. 大量Ajax请求的应用

例如个性化应用,每个用户看到的页面都不一样,缓存失效,需要在页面加载的时候发起Ajax请求,NodeJS能响应大量的并发请求。  总而言之,NodeJS适合运用在高并发、I/O密集、少量业务逻辑的场景。

4.angular.Js

  • 地址:http://www.runoob.com/angularjs/angularjs-tutorial.html (中文网)
  • 描述:AngularJS[1]  诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。
  • 用途:通过描述我们应该就能很好的明白AngularJS的真实用途了,MVVM,模块化,自动化双向数据绑定等等。除了简单的dom操作外,更能体现Js编程的强大。当然应用应该视场合而定。

5.JQuery Mobile

  • 地址:http://www.w3school.com.cn/jquerymobile/    (中文网)
  • 描述:Query Mobile是jQuery 在手机上和平板设备上的版本。jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。jQuery Mobile开发团队说:能开发这个项目,我们非常兴奋。移动Web太需要一个跨浏览器的框架,让开发人员开发出真正的移动Web网站。
  • 用途:jQuery Mobile 是创建移动 web 应用程序的框架。

      jQuery Mobile 适用于所有流行的智能手机和平板电脑。

      jQuery Mobile 使用 HTML5 和 CSS3 通过尽可能少的脚本对页面进行布局。

6.requirejs

  • 地址:http://www.requirejs.cn/
  • 描述:RequireJS的目标是鼓励代码的模块化,它使用了不同于传统<script>标签的脚本加载步骤。可以用它来加速、优化代码,但其主要目的还是为了代码的模块化。它鼓励在使用脚本时以module ID替代URL地址。

RequireJS以一个相对于baseUrl的地址来加载所有的代码。 页面顶层<script>标签含有一个特殊的属性data-main,require.js使用它来启动脚本加载过程,而baseUrl一般设置到与该属性相一致的目录。

  • 用途:模块化动态加载。

7.Vue.js

  • 地址:http://cn.vuejs.org/
  • 描述:Vue.js 是用于构建交互式的 Web  界面的库。它提供了 MVVM 数据绑定和一个可组合的组件系统,具有简单、灵活的 API。从技术上讲, Vue.js 集中在 MVVM 模式上的视图模型层,并通过双向数据绑定连接视图和模型。实际的 DOM 操作和输出格式被抽象出来成指令和过滤器。相比其它的 MVVM 框架,Vue.js 更容易上手。

8.backbone.js

  • 地址:http://www.css88.com/doc/backbone/
  • 描述:Backbone 为复杂Javascript应用程序提供模型(models)、集合(collections)、视图(views)的结构。其中模型用于绑定键值数据和自定义事件;集合附有可枚举函数的丰富API; 视图可以声明事件处理函数,并通过RESTful JSON接口连接到应用程序。

9.React

  • 地址:http://reactjs.cn/react/docs/why-react.html
  • 描述:React 是一个 Facebook 和 Instagram 用来创建用户界面的 JavaScript 库。很多人认为 React 是 MVC 中的 V(视图)。我们创造 React 是为了解决一个问题:构建随着时间数据不断变化的大规模应用程序。为了达到这个目标,React 采用下面两个主要的思想。

10.Ionic

  • 地址:http://www.ionic.wang/js_doc-index.html
  • 描述:Ionic既是一个CSS框架也是一个Javascript UI库。许多组件需要Javascript才能产生神奇的效果,尽管通常组件不需要编码,通过框架扩展可以很容易地使用,比如我们的AngularIonic扩展。

    Ionic遵循视图控制模式,通俗的理解和 Cocoa 触摸框架相似。在视图控制模式中,我们将界面的不同部分分为子视图或包含其他视图的子视图控制器。然后视图控制器“驱动”内部视图来提供交互和UI功能。一个很好的例子就是标签栏(Tab Bar)视图控制器处理点击标签栏在一系列可视化面板间切换。

    浏览我们的API文档来了解视图控制器和Ionic中可用的Javascript实用工具。

    Ionic 是目前最有潜力的一款 HTML5 手机应用开发框架。通过 SASS 构建应用程序,它 提供了很多 UI 组件来帮助开发者开发强大的应用。 它使用 JavaScript MVVM 框架和 AngularJS 来增强应用。提供数据的双向绑定,使用它成为 Web 和移动开发者的共同选择。

二、前端UI框架

1.Pure

  • 地址:http://purecss.org/layouts/
  • 描述:Pure精心设计,只为可以在任何Web项目中使用。为了例证这一点,我们制作了如下几个模板。这些模板都是响应式的,并且没有使用任何JavaScript。
  • 用途:真的是很精美的一个样式框架,便于我们快事构建一些个人产品,当然也可以服务于工作中的一些项目。

2.bootstrap

  • 地址:http://www.bootcss.com/
  • 描述:简洁、直观、强悍的前端开发框架,让web开发更迅速、简单。

3.EasyUI

  • 地址:http://www.jeasyui.net/  (中文网)
  • 描述:easyui是一种基于jQuery的用户界面插件集合。

      easyui为创建现代化,互动,JavaScript应用程序,提供必要的功能。

      使用easyui你不需要写很多代码,你只需要通过编写一些简单HTML标记,就可以定义用户界面。

      easyui是个完美支持HTML5网页的完整框架。

      easyui节省您网页开发的时间和规模。

      easyui很简单但功能强大的。

4.Ant Design

  • 地址:http://ant.design/
  • 描述:一个 UI 设计语言,一套提炼和应用于企业级后台产品的交互语言和视觉体系

三、可视化组件

1.Echarts

  • 地址:http://echarts.baidu.com/
  • 描述:ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的 Canvas 类库ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。

2.tableau(收费)

  • 地址:http://www.yuandingit.com/special/tableau/index.html
  • 描述:Tableau 是桌面系统中最简单的商业智能工具软件,Tableau 没有强迫用户编写自定义代码,新的控制台也可完全自定义配置。在控制台上,不仅能够监测信息,而且还提供完整的分析能力。Tableau控制台灵活,具有高度的动态性。

四、前端构建工具

1.gulp

  • 地址:http://www.gulpjs.com.cn/
  • 描述易于使用
      通过代码优于配置的策略,Gulp 让简单的任务简单,复杂的任务可管理。

      构建快速

      利用 Node.js 流的威力,你可以快速构建项目并减少频繁的 IO 操作。

      插件高质

      Gulp 严格的插件指南确保插件如你期望的那样简洁高质得工作。

      易于学习

      通过最少的 API,掌握 Gulp 毫不费力,构建工作尽在掌握:如同一系列流管道。

 

EasyUI/Bootstrap/Amaze UI/Foundation/Semantic UI/Pure/UIkit/

Angular/Vue.js/React.js/Ember.js

前端Js框架 UI框架汇总 特性 适用范围 选择的更多相关文章

  1. WEB前端JS与UI框架

    前端Js框架汇总 概述: 有些日子没有正襟危坐写博客了,互联网飞速发展的时代,技术更新迭代的速度也在加快.看着Java.Js.Swift在各领域心花路放,也是煞是羡慕.寻了寻.net的消息,也是振奋人 ...

  2. day06-初识Vuetify框架UI框架和使用域名访问本地项目

    本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ...

  3. vue 专题 vue2.0各大前端移动端ui框架组件展示

    Vue 专题 一个数据驱动的组件,为现代化的 Web 界面而生.具有可扩展的数据绑定机制,原生对象即模型,简洁明了的 API 组件化 UI 构建 多个轻量库搭配使用 请访问链接: https://ww ...

  4. Android酷炫实用的开源框架——UI框架(转)

    转载别人整理好的文章,列出了很多炫酷的UI开源设计 原文地址:http://www.androidchina.net/1992.html 1.Side-Menu.Android分类侧滑菜单,Yalan ...

  5. 简单的前端js+ajax 购物车框架(入门篇)

    其实,一直想把自己写的一些js给总结下,也许是能力有限不能把它完美结合起来.只能自己默默的看着哪些代码,无能为力. 今天在公司实在没有事做,突然就想到写下商城的购物车的前端框架,当然我这里只有购物车的 ...

  6. js客户端UI框架

    Best jQuery UI http://b-jui.com/ jQuery EasyUI http://www.jeasyui.com/ bootstrap学习网: http://www.runo ...

  7. 前端Js跨域方法汇总—剪不断,理还乱,是跨域

    1.通过jsonp跨域2.通过修改document.domain来跨子域(iframe)3.隐藏的iframe+window.name跨域4.iframe+跨文档消息传递(XDM)5.跨域资源共享 C ...

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

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

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

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

随机推荐

  1. [CF1039D]You Are Given a Tree

    [CF1039D]You Are Given a Tree 题目大意: 给定一棵\(n(n\le10^5)\)个节点的树.对于每一个正整数\(k(1\le k\le n)\),求最多能找出多少条包含\ ...

  2. vue动态切换页面

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. Flask路由

    @app.route() methods:当前url地址,允许访问的请求方式 @app.route("/info", methods=["GET", " ...

  4. Java中的public、private、protected,函数修饰符

    1.public:public表明该数据成员.成员函数是对所有用户开放的,项目中其他脚本都可以直接进行调用 2.private:private表示私有,私有的意思就是除了脚本之外,项目中其他类都不可以 ...

  5. C C++ 数字后面加 LL是什么意思

    long long类型,在赋初值的时候,如果大于2的31次方-1,那么后面需要加上LL

  6. JDK提供的几种线程池比较

    JDK提供的几种线程池 newFixedThreadPool创建一个指定工作线程数量的线程池.每当提交一个任务就创建一个工作线程,如果工作线程数量达到线程池初始的最大数,则将提交的任务存入到池队列中. ...

  7. HTML5 学习02——新元素:canvas

    HTML5 Canvas <canvas>标签:使用脚本 (通常是JavaScript)来绘制图形——默认情况下 <canvas> 元素没有边框和内容. 在画布上(Canvas ...

  8. 附近有什么?8款可以查周边的App

    如今科技发达的时代,手机的功能不仅仅只是能通讯聊天,而是逐渐的走进了人们的生活中.因为有了APP,我们的生活才更丰富,并且有很多是我们生活中不可缺少的软件,而这些软件便是根据手机中的GPS定位系统而来 ...

  9. 两个UITableView的级联菜单

    效果 源码 https://github.com/YouXianMing/Animations 说明 1. TwoLevelLinkageView封装了两个tableView,左边tableView中 ...

  10. docker中的数据库

      注:自从开始使用docker,部署方面的事情就简单多了.使用docker构建的数据库容器不用直接安装,开启后就可以使用,也比以前方便很多.下面将一些要点记录下来. 下面的例子使用以下环境: - 系 ...