Re: [讨论] 初探 reactjs 疑问

楼主: y2468101216 (芸)   2016-03-07 11:22:59
※ 引述《cyclone350 (老子我最神)》之铭言:
: 大家好
: 最近常常听到 reactjs,听说很不错用很多优点之类的,然后执行速度很快
: 所以今天简单看一下 reactjs 的介绍说明及 Hello World
: 看完后有几个疑问让我很困扰
: 1. reactjs 速度很快...
: 从下面两个地方看了说明
: http://www.slideshare.net/JustinWu13/j-queryreact-js
: http://andyyou.logdown.com/posts/234130-reactjs-reactjs-decrypt
: 主要理解是 reactjs 有 virtual dom,他会把一系列的 dom 更新先存在 virtual dom
: ,
: 最后由 reactjs 统一更新到 dom 底下。
: 但是,我对 angularjs 理解也是有差不多的概念,我们异动一般的 js 物件
: 当 js 物件产生变化后,angularjs 将这些异动部分更新到 dom (所谓的$apply)
: 既然 angularjs 跟 reactjs 都一样是统一帮使用这将异动值更新到 dom
: 那为什么 reactjs 会比较快?
: 是 reactjs 更新 dom 时有进行最佳化吗? 如果是这样,那 angularjs 的 $apply
: 有做最佳化的话,是否就可跟 reactjs 一样?
: 想了这些之后,直接去 google,看到一篇文章
: http://blog.500tech.com/is-reactjs-fast/
: 嗯? 文章大意是说是在 reactjs conf 2015 时用的范例比较不那么公平
: 事实上只要简单修改 angularjs demo 的程式码,就会发现他们速度其实差不了多少
: 看了这篇文章后更怀疑了 reactjs 是比较快的说法了...
http://www.alloyteam.com/2015/10/react-virtual-analysis-of-the-dom/
可以参考这篇,因为我并没有真的去实践vitual dom。所以没办法跟你说angular
跟react两个算法的不同。
但react确实有最佳化对DOM的操作,主要是依赖diff去算怎样更新最快。
我上面贴的文章有说,react并没有说他会比原生操作快,
他只是保证他在大部分的情况下有不错的效能。
: 2. reactjs 很简单很好学
: 就我的理解,reactjs 很像是 angularjs 的 directive...
: reactjs 有用 jsx,这样的混搭的语法糖对熟悉 js 的人也许很好用
: 但真的好学吗? 这也许有点主观... 但是我真的没感觉可以很简单上手
React一开始的学习曲线很高,有点类似Vim的感觉,后面习惯就会觉得很简单。
JSX其实一点也不好学,一开始我还有打算纯用React.createElement来写....
: 3. trace code 方便吗?
: 因为比起撰写程式,我们更常阅读程式
: 所以能够快速地看懂程式码并且找到 bug 是很重要的
: 这样请问各位有用过 reactjs 的前辈了
: 相较于 jQuery 与 angularjs, reactjs 的阅读性如何?
React大胜,无庸置疑,JQ跟angular太容易写脏了。
React抛弃了html,将code全部塞到js了,易于组件化跟分割。
: 4. 开发时程
: 相较于其他 js framework,reactjs 开发时程是花更多时间还是更少时间? (开发时
: 间含测试程式)
: 因为本人没实际用过,也没特别深入了解相关机制
: 想请问各位前辈用 reactjs 的心得
: 还是我在观念的理解上有误? 也欢迎指证
开发速度取决你的熟悉度。
之所以要使用React是因为他提倡了两个观念,UI跟Data的分离,UI的OO化。
将UI跟Data分离让你易于写Unit test,因为Data本身是一个纯数据的存在很好测试。
而你在写React的过程中,你会感觉到React其实就是很像是在实践OO,一样要封装、继承
这是在以前html你不太会去做的。
作者: cyclone350 (老子我最神)   2016-03-08 00:44:00
感谢回答

Links booklink

Contact Us: admin [ a t ] ucptt.com