ReactJS是一个开源的JavaScript库,并且由Facebook和Instagram这样的顶尖IT企业以及开发者社区所维护。该框架广泛使用于为web应用程序开发用户界面的时候。这个特殊的框架被发明时带有这样一个目的:
“构建数据随着时间的推移一次又一次改变的大型应用程序。”
我们经常使用的工具有很多,但只有少数彻底改变了我们的工作流程。ReactJS就是其中之一。随着现在可用框架变得越来越多,我们很难找到一个最终不会穷途末路的框架。这就是为什么在ValueCoders我们建议去往React。
下面是如Facebook,Instagram和WhatsApp这些巨头之所以依赖于ReactJS的5大理由:

React极其高效
React创建了自己的DOM(虚拟),这也是组件存在的地方。这种方法为开发人员提供了高度的灵活性和惊人的性能提升,因为React提前计算到了在DOM中所需要的改变并相应地更新了DOM树。React用这种方式避免了高昂的DOM操作并用一种高效的方式执行更新。

JavaScript库
JSX语法是JavaScript和HTML良好又健康的交融,专用于ReactJS。JSX简化了为网站编写组件的全过程。并且HTML方面允许开发人员渲染函数而无需连接字符串。
React的主要优点是,正确使用本地API以及,导致的结果是,跨平台栈工作。

对于SEO真的太棒了
JavaScript框架的主要挑战之一是,它们对搜索引擎一点也不友好,虽然最近在这方面已经有了一些改进。
出人意料的是,React.js与众不同,因为你能在服务器上运行React.js,并且将返回虚拟DOM,并作为常规网页呈现给浏览器。无需任何其他技巧!
专注用户界面
React Native不同于MeteorJS,Firebase和AngularJS,它更关注于用户界面。它在JavaScript与设备及React Native之间互动的帮助下,给予你用户高度灵敏的界面。其结果是,增加了应用程序的加载时间,有助于保持运行顺利没有任何瞬断。
简单、开箱即用
当你用React启动项目时,不要忘了安装ReactJS的官方Chrome扩展程序。它能使得调试app变得更加容易。
安装该扩展后,你可以直接查看虚拟DOM,如果你是在元素面板中浏览规则DOM树的话。相当令人惊叹!
总结
我希望使用ReactJS的这五大好处可以让你相信这个框架的独特性。如果你正试图开发一个需要对SEO友好并能处理沉重流量负担的web应用程序,那么ReactJS或许可以帮到你。
(转载自:infoq,作者:)
引用来自“jQer”的评论
本来不想说些什么,但是看了某些观点,还是忍不住跳出来说那么一些。1. React极其高效。纯粹是扯淡,比起 Android、IOS 原生代码,在移动端一点都不高效。比起浏览器 JS 模板引擎,没有任何区别。它顶多只能算移动编写方便,学习成本低。
2. JSX语法。垃圾!特别是你在编辑器看到 JS 代码、return HTML 的时候,HTML 完全没有语法高亮,丢失标签是很可能的,对于调试维护都是愚蠢的。
3. 对于SEO真的太棒了。我觉得这个纯属没事找事。对于移动端,不需要 SEO。对于浏览器,大部分模板引擎都是服务器端编译,哪怕是 Java 的JSP。而且 ReactJS 的 render string 接口并不优雅。
如果不是为了移动端开发,你不想学 Android、IOS,那么可以选择 ReactJS。如果纯粹为了写模板,挑一个好的模板引擎更方便 ------ 因为它们能让你支持 HTML 语法高亮。
const logger =()=>store=>next=>action{
}
引用来自“jQer”的评论
本来不想说些什么,但是看了某些观点,还是忍不住跳出来说那么一些。1. React极其高效。纯粹是扯淡,比起 Android、IOS 原生代码,在移动端一点都不高效。比起浏览器 JS 模板引擎,没有任何区别。它顶多只能算移动编写方便,学习成本低。
2. JSX语法。垃圾!特别是你在编辑器看到 JS 代码、return HTML 的时候,HTML 完全没有语法高亮,丢失标签是很可能的,对于调试维护都是愚蠢的。
3. 对于SEO真的太棒了。我觉得这个纯属没事找事。对于移动端,不需要 SEO。对于浏览器,大部分模板引擎都是服务器端编译,哪怕是 Java 的JSP。而且 ReactJS 的 render string 接口并不优雅。
如果不是为了移动端开发,你不想学 Android、IOS,那么可以选择 ReactJS。如果纯粹为了写模板,挑一个好的模板引擎更方便 ------ 因为它们能让你支持 HTML 语法高亮。
1. React极其高效 - angular 同样可以写出高效的代码,只不过 angular 更加复杂,让你不好去控制它的 digest,compile , react 就不一样了,何时 render 轻松控制
2. JSX 我还是习惯不了模板中写代码
3. SEO - 呵呵,真要 SEO 我肯定 freemarkder ,要毛js
引用来自“hythzx”的评论
比起angular呢,感觉angular更方便啊引用来自“jun4rui”的评论
angularjs这类MVVM框架那肯定是快得多啊!这个的效率体现在可重复使用的功能模块上,两者我觉得没办法直接比较,适用场景不同。PHP直接输出HTML,SEO好得没话说.
通信PHP也可以输出JSON配合jQuery AJAX实现异步交互.
Write Less Do More, Just Use jQuery And PHP.
引用来自“jQer”的评论
本来不想说些什么,但是看了某些观点,还是忍不住跳出来说那么一些。1. React极其高效。纯粹是扯淡,比起 Android、IOS 原生代码,在移动端一点都不高效。比起浏览器 JS 模板引擎,没有任何区别。它顶多只能算移动编写方便,学习成本低。
2. JSX语法。垃圾!特别是你在编辑器看到 JS 代码、return HTML 的时候,HTML 完全没有语法高亮,丢失标签是很可能的,对于调试维护都是愚蠢的。
3. 对于SEO真的太棒了。我觉得这个纯属没事找事。对于移动端,不需要 SEO。对于浏览器,大部分模板引擎都是服务器端编译,哪怕是 Java 的JSP。而且 ReactJS 的 render string 接口并不优雅。
如果不是为了移动端开发,你不想学 Android、IOS,那么可以选择 ReactJS。如果纯粹为了写模板,挑一个好的模板引擎更方便 ------ 因为它们能让你支持 HTML 语法高亮。
2. 无力吐槽了,拿语法高亮说事。。。更不用说现在的编辑器或者IDE对React支持都很好。
3.我也觉得瞎扯,算是同意。(不过React不是模板引擎啊亲)
虽然我也觉得文章很扯(除了高效那一段),但不能用瞎扯反驳瞎扯啊。。。。
引用来自“hythzx”的评论
比起angular呢,感觉angular更方便啊引用来自“jQer”的评论
本来不想说些什么,但是看了某些观点,还是忍不住跳出来说那么一些。1. React极其高效。纯粹是扯淡,比起 Android、IOS 原生代码,在移动端一点都不高效。比起浏览器 JS 模板引擎,没有任何区别。它顶多只能算移动编写方便,学习成本低。
2. JSX语法。垃圾!特别是你在编辑器看到 JS 代码、return HTML 的时候,HTML 完全没有语法高亮,丢失标签是很可能的,对于调试维护都是愚蠢的。
3. 对于SEO真的太棒了。我觉得这个纯属没事找事。对于移动端,不需要 SEO。对于浏览器,大部分模板引擎都是服务器端编译,哪怕是 Java 的JSP。而且 ReactJS 的 render string 接口并不优雅。
如果不是为了移动端开发,你不想学 Android、IOS,那么可以选择 ReactJS。如果纯粹为了写模板,挑一个好的模板引擎更方便 ------ 因为它们能让你支持 HTML 语法高亮。
2、高效是指抽象封装,有大量相同组件情况下React才会高效,每个页面换种写法的自然没法高效了,但是对于现代页面来说那会有很多东西可以抽象出来封装好,就看你的能力了。
3、模板引擎问题较多,尝试过几种但是用起来显得太零碎了体验很不好。
现在配置得好用脚低版本的React很用大部分特性在IE6上,PC端追求兼容性的页面也可以很好的用起来了,上周五刚做完一个推广页面,以前都用angularjs、avalon、vue之类的做,速度是快,但是抽象性和封装上确实还有点不够,现在转换到react来做以来兼容性比vue、angularjs更好,而来代码,逻辑全部封装起来同类页面很快就搞定了,就替换下参数而已,简单舒服。
引用来自“jQer”的评论
本来不想说些什么,但是看了某些观点,还是忍不住跳出来说那么一些。1. React极其高效。纯粹是扯淡,比起 Android、IOS 原生代码,在移动端一点都不高效。比起浏览器 JS 模板引擎,没有任何区别。它顶多只能算移动编写方便,学习成本低。
2. JSX语法。垃圾!特别是你在编辑器看到 JS 代码、return HTML 的时候,HTML 完全没有语法高亮,丢失标签是很可能的,对于调试维护都是愚蠢的。
3. 对于SEO真的太棒了。我觉得这个纯属没事找事。对于移动端,不需要 SEO。对于浏览器,大部分模板引擎都是服务器端编译,哪怕是 Java 的JSP。而且 ReactJS 的 render string 接口并不优雅。
如果不是为了移动端开发,你不想学 Android、IOS,那么可以选择 ReactJS。如果纯粹为了写模板,挑一个好的模板引擎更方便 ------ 因为它们能让你支持 HTML 语法高亮。
引用来自“jQer”的评论
本来不想说些什么,但是看了某些观点,还是忍不住跳出来说那么一些。1. React极其高效。纯粹是扯淡,比起 Android、IOS 原生代码,在移动端一点都不高效。比起浏览器 JS 模板引擎,没有任何区别。它顶多只能算移动编写方便,学习成本低。
2. JSX语法。垃圾!特别是你在编辑器看到 JS 代码、return HTML 的时候,HTML 完全没有语法高亮,丢失标签是很可能的,对于调试维护都是愚蠢的。
3. 对于SEO真的太棒了。我觉得这个纯属没事找事。对于移动端,不需要 SEO。对于浏览器,大部分模板引擎都是服务器端编译,哪怕是 Java 的JSP。而且 ReactJS 的 render string 接口并不优雅。
如果不是为了移动端开发,你不想学 Android、IOS,那么可以选择 ReactJS。如果纯粹为了写模板,挑一个好的模板引擎更方便 ------ 因为它们能让你支持 HTML 语法高亮。
1. React极其高效。纯粹是扯淡,比起 Android、IOS 原生代码,在移动端一点都不高效。比起浏览器 JS 模板引擎,没有任何区别。它顶多只能算移动编写方便,学习成本低。
2. JSX语法。垃圾!特别是你在编辑器看到 JS 代码、return HTML 的时候,HTML 完全没有语法高亮,丢失标签是很可能的,对于调试维护都是愚蠢的。
3. 对于SEO真的太棒了。我觉得这个纯属没事找事。对于移动端,不需要 SEO。对于浏览器,大部分模板引擎都是服务器端编译,哪怕是 Java 的JSP。而且 ReactJS 的 render string 接口并不优雅。
如果不是为了移动端开发,你不想学 Android、IOS,那么可以选择 ReactJS。如果纯粹为了写模板,挑一个好的模板引擎更方便 ------ 因为它们能让你支持 HTML 语法高亮。