js框架总结
参考地址
http://www.techweb.com.cn/network/system/2015-12-23/2245809.shtml
https://www.cnblogs.com/mbailing/p/5627792.html
https://www.zhihu.com/question/35069742
框架和库的区别
库的作用是对底层API的封装,对外提供统一的API接口,使得代码书写简单方便,不用考虑因为系统和浏览器不同造成调用不同的API,但库不会改变书写代码或代码运行的结构
框架就是单独设计一套代码编写和运行的流程,并且框架初始化之后就是一个可以直接运行的程序,只是里面的很多内容都有默认处理程序,编写者需要做的就是编写自己的处理程序,用以替换掉框架的默认程序。
node.js
这是js的运行环境,并不是一个框架,很多框架是运行在它上面的
angular.js
Angular 采用 MVC 架构。它提供了 Model 层和 View 层之间双重数据绑定。这种数据绑定方式的好处是不管哪边数据改变,都会自动的更新两边的数据。这有助于你构建可服用的 View 组件。它还提供了一个前后端服务易于交互的服务框架。最重要的是,它是简单的 JavaScript。
什么时候使用 AngularJS? 当你构建一个复杂的网页前端应用并需要一个单独的模块框架去处理一切时。
React
react 基本上用来作为 MVC 中的 V。它完全专注于 MVC 中的 V 部分,而忽略了应用中的其它部分架构。它提供了一个组件层,这让我们易于制作UI元素并将这些UI元素组合在一起。它抽象出了DOM,因此而优化了渲染, 并允许你使用 node.js 渲染 React。另外,它实现了单向数据交互流,这使它比其它的框架更易于理解和使用。
多个项目例如 Angular ,Ember 绑定使用 React 成为 MVC 中的 V。
什么时候使用 React?当你想要有一个强大的 View 层,而应用中的其它部分缺不需要一个复杂的框架时,或当你想要一个 View 层和你的 Angular, Backbone,或者 Ember应用一起使用。当你试着构建一个同构的网页框架。
jquery mobile
jquery的移动版本
BackboneJS
require.js
特性是代码的组件化
可视化组件
1.Echarts
- 地址:http://echarts.baidu.com/
- 描述:ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的 Canvas 类库ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。
2.Highcharts
地址:https://www.hcharts.cn, https://www.highcharts.com/
3.Tableau
地址:https://www.tableau.com/, https://www.tableau.com/zh-cn, https://public.tableau.com/s/
4.D3.js
基于svg的封装
http://www.w3school.com.cn/html5/html_5_canvas_vs_svg.asp
SVG
SVG 是一种使用 XML 描述 2D 图形的语言。
SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。
在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。
Canvas
Canvas 通过 JavaScript 来绘制 2D 图形。
Canvas 是逐像素进行渲染的。
在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。
最新文章
- ANDROID中去掉ACTIONBAR或TABWIDGET的分隔线
- Linux 常见问题解决办法
- 【SharePoint学习笔记】第3章 SharePoint列表新特性以及数据访问
- [ASP.NET MVC] 使用CLK.AspNet.Identity提供依权限显示选单项目的功能
- iOS 图片加载导致内存警告
- Nginx负载均衡 后端服务器怎么共享Session 问题
- Java 网络编程----基本概念
- Vector3.Dot 判断方位
- 简简单单制作鼠标静态动态 ani cur 小结 鼠标形状指针
- 用PHP实现一个高效安全的ftp服务器(一)
- Codeforces Round #270--B. Design Tutorial: Learn from Life
- js中冒泡事件
- thinkphp 官方文件执行引入流程
- MySQL复制相关技术的简单总结
- 火币网API文档——Websocket 请求与订阅示例
- C#通过 “枚举数支持在指定类型的集合上进行简单迭代” 的概念获取List的一种方式
- Android 调试利器:Stetho + Chrome
- 第二次作业(homework-02)成绩公布
- 阿里面试回来,想和Java程序员谈一谈
- slave have equal MySQL Server UUIDs原因及解决