Angular
基本功能
1、渐进式Web应用程序
具有现代Web平台功能,可提供高性能、离线和零步安装的类似应用程序的体验。
2、桌面
Mac、Windows和Linux的桌面安装应用程序可以使用与web相同的Angular方法创建,还可以访问本地操作系统API。
3、代码生成
Angular将模板转换为针对JavaScript虚拟机进行高度优化的代码,从而为手写代码带来好处。
4、代码分割
使用新的组件路由器,angular应用程序可以快速加载,提供自动代码分割。
5、模板
使用简单而强大的模板语法创建UI视图。
6、Angular CLI
命令行工具允许您快速开始构建,添加组件和测试,然后立即部署。
7、动画
通过Angular直观的API,用很少的代码创建高性能、复杂的编排和动画时间表。
8、可访问性
使用支持ARIA的组件、开发人员指南和内置测试基础设施创建可访问的应用程序。
| 优点 | 缺点 |
| 1、开放源代码 2、单页应用程序 3、更简单的DOM操作 4、双向绑定 5、测试友好 | 1、可能的性能问题 2、对于较大的场景可能会变得复杂 3、有些功能对于新手来说可能很难理解 |
React
基本功能
1、声明式
为网站和移动应用程序创建交互式和动态UI。声明性视图使代码可读且易于调试。
2、虚拟DOM
对于每个DOM对象,都有一个相应的“虚拟DOM对象”。它创建原始DOM的虚拟副本,是DOM对象的表示。
3、事件处理
React创建了完全兼容的W3C对象模型事件系统。它还为本机事件提供了一个跨浏览器界面。
4、JSX
JSX是一种与HTML非常相似的标记语法。JSX使React组件的语法与注入网页的HTML几乎相同,从而使编写React组件变得更容易。
5、性能
React使用称为Flux控件的应用程序架构进行单向数据绑定。ReactJS通过Flux控制应用程序工作流来帮助用户更新视图。
6、React Native
React Native是React的自定义渲染器;它使用本地组件而不是像React这样的web组件作为构建块。
7**、基于组件**
一切都是网页的一个组件,分为几个小组件来创建视图(或UI)。ReactJS中的组件用于定义应用程序中的视觉效果和交互。
| 优点 | 缺点 |
| 1、易于学习 2、可再用元件 3、虚拟DOM 4、对搜索引擎友好 | 1、文档不友好 2、JSX影响代码阅读 |
VUE
基本功能
1、虚拟DOM
Vue.js使用了一个虚拟DOM,它是主体DOM元素的克隆。
2、数据绑定
此功能便于对HTML属性进行值操作或赋值。
3、CSS转换和动画
Vue有几种方法可以在添加、更新或从DOM中删除HTML元素时将转换应用于HTML元素。
4、Template
Vue提供了基于HTML的模板,将DOM与Vue.js实例数据绑定。模板被编译成虚拟DOM渲染函数。
5、复杂性
Vue.js在API和设计方面更简单。web开发人员可以在一天内构建简单的应用程序。
| 优点 | 缺点 |
| 1. 轻量 2. 快速 3. 丰富的文档 4. 双向绑定 | 1. 组件相对较少 2. 缺乏对大型项目的支持 3. 灵活性过高 |
Ember.js
基本功能
1、易用性
创建易于维护的可用web应用程序。
2、HTML和CSS功能
它提供HTML和CSS的核心开发模型。
3、实例初始化器
Ember为类提供实例初始化器
4、Routes
Ember.js提供的路由是用于管理URL的核心功能。
5、调试
Ember.js有用于调试Ember应用程序的Ember检查器工具。
6、模板化
Ember.js使用的模板有助于在应用程序内容发生更改时自动更新模型。
| 优点 | 缺点 |
| 1. 支持命令行操作(Ember CLI) 2. 插件选择良好 3. 广泛的文档和良好的社区参与 | 1. 可能很难学习 2. 高度固执己见的框架 3. 不适合小型项目 |
Meteor
基本功能
1、全栈解决方案
Meteor被证明是一个用于开发和部署web应用程序的全堆栈解决方案。功能包括生产服务器上的自动CSS、反应模板和JS缩小。
2、开发生态系统
Meteor.js是一个开源的同构开发生态系统(IDevE)。它方便了从头开始构建实时web应用程序,因为它包含所有必要的前端和后端组件。。
3、同构JavaScript代码
相同的代码可以用于前端、后端、移动和web应用程序。它使开发人员无需安装和配置不同的模块管理器、库、驱动程序、API等。
4、前端解决方案
Meteor提供了一个前端开发框架Blaze.js,它提供了一些有用的功能。它还与流行的现代前端框架(如Backbone.js)集成,以产生更好的结果。
4、数据库集成
Meteor.js支持任何带有Node.js驱动程序的数据库,其中MongoDB是最常用的。
| 优点 | 缺点 |
| 1、提供多种便利 2、加快开发速度 3、易于学习 4、活跃的社区 | 1、受欢迎程度降低 2、如果使用多个预构建包,则可能会相互冲突 |
Mithril
基本功能
1、代码大小
Mithril大约是7.8kB的gzip,并且不依赖于其他库。
2、体系结构
Mithril不提供可扩展的基类。在实现核心MVC模式时没有隐藏的性能成本。
3、小型API
Mithril提供了一个紧凑的API,因此,不需要为每个场景构建功能。
4、声明式
Mithril是声明式的,可以降低代码的复杂性。
| 优点 | 缺点 |
| 轻量的 性能良好 良好的模板引擎 易于学习 | 功能较少 未广泛使用 |
Node.js
基本功能
1、快速
Node.js的库在代码执行方面很快,因为它是建立在Google Chrome的V8 JavaScript引擎上的。
2、异步和事件驱动的I/O
所有的API都是异步的,这意味着它的服务器不等待API返回数据。
3、单线程
Node.js和事件循环遵循单线程模型。
4、高度可伸缩性
Node.js遵循一种事件机制,使服务器可以以非阻塞的方式进行响应,这使其具有可伸缩性。
5、无缓冲
在上传音频和视频文件时,Node.js显著缩短了处理时间。它不缓冲任何数据,应用程序将数据分块输出。
6、开源
作为开源的,Node.js社区已经提出了几个令人惊叹的模型,可以用来为Node.js应用程序添加更多功能。
| 优点 | 缺点 |
| 高性能 易于学习 可扩展 活跃的社区 | 可能很难维护代码 有许多未经测试或质量较差的工具 严重依赖回调 |
Polymer
基本功能
1、Polyfill
Polymer具有Polyfill功能,可用于创建自定义和可重复使用的元素。
2、可重用性
Polymer用于在web文档和应用程序中创建可重用的小部件。
3、适用于移动应用程序
Polymer使用谷歌材料设计开发移动应用程序,实现快速、轻松的移动应用程序开发。
4、灵活性
自定义元素分布在整个网络中,允许用户在HTML导入的帮助下使用这些元素。
| 优点 | 缺点 |
| 适用于单页应用程序 可再用元件 充分利用元素进行存储 | 移动设备的性能相对较慢 聚合物可能难以开发更大的应用 |
Aurelia
基本功能
1、组件
组件是Aurelia框架的构建块,由JavaScript视图-模型对和HTML视图组成。
2、Web标准
它是最干净的现代框架之一。它完全专注于web标准,没有不必要的抽象。
3、可扩展性
该框架便于以简单的方式与其他工具集成。
4、商业支持
该框架提供商业和企业支持。
| 优点 | 缺点 |
| 约定高于配置 语法可读性很强 丰富的文档 | 很难学习 用户少 |
Backbone.js
基本功能
1、方便
提供了模型、视图、事件、路由器和集合等构建块,用于组装客户端web应用程序。
2、易于使用的库
这是一个简单的库,有助于分离业务和用户界面逻辑。
3、许多扩展
Backbone有一个免费的开源库,包含100多个可用的扩展。
4、依赖项
Backbone对jQuery有一个软依赖项,对Undercore.js有一个硬依赖项。
5、有组织的开发
Backbone允许您以结构化和有组织的格式创建客户端web应用程序或移动应用程序。
| 优点 | 缺点 |
| 灵活的 重量轻、速度快 易于集成 | 更新较慢 调试可能是个问题 |