选择 Reac​​tJS 的五大理由

达尔文
 达尔文
发布于 2016年09月12日
收藏 43

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作者:Arnab Sarkar,译者:小峰

查看英语原文:Five Reasons We Chose ReactJS

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:选择 Reac​​tJS 的五大理由
加载中

最新评论(32

w
wujohns

引用来自“jQer”的评论

本来不想说些什么,但是看了某些观点,还是忍不住跳出来说那么一些。

1. React极其高效。纯粹是扯淡,比起 Android、IOS 原生代码,在移动端一点都不高效。比起浏览器 JS 模板引擎,没有任何区别。它顶多只能算移动编写方便,学习成本低。

2. JSX语法。垃圾!特别是你在编辑器看到 JS 代码、return HTML 的时候,HTML 完全没有语法高亮,丢失标签是很可能的,对于调试维护都是愚蠢的。

3. 对于SEO真的太棒了。我觉得这个纯属没事找事。对于移动端,不需要 SEO。对于浏览器,大部分模板引擎都是服务器端编译,哪怕是 Java 的JSP。而且 ReactJS 的 render string 接口并不优雅。

如果不是为了移动端开发,你不想学 Android、IOS,那么可以选择 ReactJS。如果纯粹为了写模板,挑一个好的模板引擎更方便 ------ 因为它们能让你支持 HTML 语法高亮。

说没有语法高亮是你根本没玩过吧,或是连编辑器的基础都不会
IainZhuo
IainZhuo
angular2正式版发布了,没有最好的框架只有最适合的,angular2与ReactJS 分别适合哪些场景?
hantsy
hantsy
用了上 Redux后,你还敢说React简单,function callback 嵌套几层。

const logger =()=>store=>next=>action{
}
lnyu
lnyu

引用来自“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
lnyu
lnyu

引用来自“hythzx”的评论

比起angular呢,感觉angular更方便啊

引用来自“jun4rui”的评论

angularjs这类MVVM框架那肯定是快得多啊!这个的效率体现在可重复使用的功能模块上,两者我觉得没办法直接比较,适用场景不同。
angular2 完全和 react 一个套路,要我说 angular 和 react 就一个区别,一个在模板中写代码,另一个在代码中写模板!
水牛叔叔
水牛叔叔
hehe,这么好用,但是我没见过几个项目用
五杀联盟
五杀联盟
屌丝前端懂个杰宝的React 有些人啊 装睡你是叫不醒的
LOALOA
LOALOA
Mark
eechen
eechen
搞什么双向数据绑定,jQuery拿到PHP返回的HTML只管操作DOM设置内容就好,get/set就一个$().html()函数.
返回顶部
顶部