javascript框架大对比
React 原生渲染,跨平台开发规模向上拓展向下拓展Angular 大型应用TypeScript体积学习曲线Ember 全能框架Knockout IE浏览器支持到IE6Ploymer 谷歌项目Riot 微型应用结束语vue教程vue入门基础教程vue进阶教程React 原生渲染,跨平台开发
react有着更丰富的生态系统。
react和vue的相似之处:
使用Virtual DOM提供了响应式(reactive)和组件化(Composable)的视图组件。将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库。
规模
向上拓展
Vue 和 React 都提供了强大的路由来应对大型应用。
Vue 的路由库和状态管理库都是由官方维护支持且与核心库同步更新的。
React 则是选择把这些问题交给社区维护,因此创建了一个更分散的生态系统。
向下拓展
React 学习曲线陡峭,在你开始学 React 前,你需要知道 JSX 和 ES,因为许多示例用的是这些语法。你需要学习构建系统,虽然你在技术上可以用 Babel 来实时编译代码,但是这并不推荐用于生产环境。
Vue 向上扩展好比 React 一样,也需要学习jsx,ES,构建系统。但是Vue 向下扩展后就类似于 jQuery,入门简单。
Angular 大型应用
是一个和 AngularJS 完全不同的框架。有优秀的组件系统。
Angular设计目标就是针对大型的复杂应用。
TypeScript
Angular 事实上必须用 TypeScript 来开发,因为它的文档和学习资源几乎全部是面向 TS 的。TS 有很多好处——静态类型检查在大规模的应用中非常有用。
在中小型规模的项目中,引入 TS 可能并不会带来太多明显的优势。
Vue 和 TS 的整合可能不如 Angular 那么深入。
体积
一个包含了 Vuex + Vue Router 的 Vue 项目 (gzip 之后 30kB) 相比使用了这些优化的 angular-cli 生成的默认项目尺寸 (~65KB) 还是要小得多。
学习曲线
Angular 的学习曲线是非常陡峭的——作为一个框架,它的 API 面积比起 Vue 要大得多,你也因此需要理解更多的概念才能开始有效率地工作。
Ember 全能框架
Ember 是一个全能框架。它提供了大量的约定,一旦你熟悉了它们,开发会变得很高效。不过,这也意味着学习曲线较高,而且并不灵活。
Knockout IE浏览器支持到IE6
Knockout 是 MVVM 领域内的先驱,并且追踪依赖。它的响应系统和 Vue 也很相似。它在浏览器支持以及其他方面的表现也是让人印象深刻的。它最低能支持到 IE6,而 Vue 最低只能支持到 IE9。 Knockout 的发展已有所放缓,并且略显有点老旧了。
Ploymer 谷歌项目
Polymer 是另一个由谷歌赞助的项目,事实上也是 Vue 的一个灵感来源。 Vue 的组件可以粗略的类比于 Polymer 的自定义元素,并且两者具有相似的开发风格。 最大的不同之处在于,Polymer 是基于最新版的 Web Components 标准之上,并且需要重量级的 polyfills 来帮助工作 (性能下降),浏览器本身并不支持这些功能。相比而言,Vue 在支持到 IE9 的情况下并不需要依赖 polyfills 来工作。
Riot 微型应用
Riot 3.0 提供了一个类似于基于组件的开发模型 (在 Riot 中称之为 Tag),它提供了小巧精美的 API。Riot 和 Vue 在设计理念上可能有许多相似处。相比Vue 要显得轻一点。
结束语
希望大家能从这里大概了解各个javascript框架了,最合适的才是最好的。
我的博客apeit-程序猿IT欢迎大家访问,希望我们一起共同学习成长。
vue教程
vue入门基础教程
vue简介
vue安装以及Hello world
vue模板template
vue计算属性和侦听器
class与style绑定
vue基本指令
vue组件基础
vue进阶教程
深入vue组件-注册,prop,事件
vue 处理边界情况
vue的过渡和动画效果
vue 可复用性和组合
vue函数渲染和JSX
vue单文件组件.vue
vue规模化-路由,状态管理,安全等
vue深入响应式原理
vue与其他javascript框架对比