00:00
大家好,我是上硅谷H学科的讲师张小飞,在程序员节日来临之际,在这里我给大家分享一道面试题,下面我们来看一下,好,那现在前端的方向呢?有两个特别火的库。这个大家应该都知道啊,一个是RA,一个是view,那大家也可以去通过去看的官网以及view的官网去了解他们相关的一些特点。那在面试中呢,经常会有这样一个问题,问什么呢?希望你去比较一下react和view这两个库它们的区别,这个区别呢,肯定是要说到两点,第一个是它们的相同点有哪些?他们的不同点有哪些,各自有什么样的优势,对吧?那我们现在就来看一下它的相同点。第一个最重要的就是他,他们俩都是组件化开发。
01:06
啊,这个组件开发其实很大的程度上能够提高我们界面功能的一个编码的复用啊,是非常重要的一个编码方式。啊记它还有一个特点叫虚拟动,诶这一个有了它的存在,能够提高我们程序的运行效率。啊,这是面试官很看重的两个点啊,好,第二个相同点呢,他们都支持通过标签属性的方式实现复制组件间通信,也就是说你写个标签,假设这个标签啊就叫A,那我们可以通过,诶,也就说name属性。来向他去传递特定的值,那这个对于view和react它都是支持的。第三个点啊,他们俩呢,都叫数据驱动,何为数据驱动呢。
02:05
所说的数据驱动就是只要你去更新状态数据,那它对应的界面就会自动发生变化。这一个如果大家用过j query,或者用过zip two以前的一些库做开发就能知道,如果你用J做开发,要想更新界面,你必须去操作度。而在这里面是不用去直接去操作作的。啊,这是它的数据驱动这样一个特点。啊,前面的三个特点是大家必须能够说的比较清楚的,那后面呢,还可以扩展一些点,比如说他们都支持服务器渲染啊。无论是view还是RA都有相关的实现啊,他们都支持native的方案,所说就写原生应用,RA呢有专门的库叫呢有一个库啊叫。
03:02
诶,这两个库呢,都能够去实现跨平台的原生应用啊,这是我给大家列出来一些啊相同点,前面三个呢是关键的。那除了有相同点,他们当然也有一些不同的点。啊,在里面啊,在里面啊有一个概念。特别强调数据绑定。啊,而且里面实现的是一个双向数据绑定,何为双向数据绑定?简单来说就是界面跟内存的数据可以相互交流。而react它只支持从内存数据到界面的变化,并不支持从界面自动到内存的变化,这是他们一个比较大的区别。啊,第二个他们的组件的写法都不一样,都支持组件化的开发,但写法是不太一样的,RA他推荐的写法呢叫GX。
04:08
啊,这个如果你用过,那必然你会对它有一个了解,有一个理解,对吧。那它是一个GS的扩展语法啊。这里面我就不再去详述了,其实就是把HTCS写在JS里面,它有个概念叫or GS。啊,而view它做的是它有个概念,用模板,而模板是什么?模板就是HTM里面去写JS,那当然也可以写CSS。再通过外派以及它对应的load去对他进行打包啊,这种编码方式呢,其实对于初学者来说是非常舒服的。反倒是GSX,对于初学者来说是稍微有点费劲的。这他们组建编码的不太一样。
05:01
那下面有一个状态变化。状态变化在react里面,要想去更新状态,必须调用这它有一个统一的路口去更新状态。而在view里面,其实相对来说要简单一点,只需要通过this啊,点叉叉叉的方式来更新date里面的某个数据。比如说等于三,那这个值状态数据就发生了变化,而它这个里面必须写大括号叉叉叉,冒号三。那说实话,你的这种写法应该来说更加的方便,更加简洁。啊,第四个啊,前面几个呢,是大家重点要说的,后面呢几个扩展大家可以看一下。虚拟动它的实现呢,不是完全一样的,这实际上它的底层的一个实现啊,在面试中呢,如果你能说更好,如果你不能说呢,其实问题也不算特别大。
06:05
啊,没有了,他会去追踪组件里面所有依赖啊。他会去分辨出来哪些组件需要重新,哪些组件不需要。但是对react而言。他一旦状态发生改变,他会尽可能的去渲染呃,所有的组件。但是我们可以通过重写这样一个方法,叫should component update。来去判断当前这个组件要不要重新渲染。啊,这个它的返回值是个值,如果为false,那就不用重新渲染了,可以通过它了,做一个控制。啊。这个稍微处理方式是不太一样的。那下面一个呢,最后一个我也写了一个叫react是严格的,只是严格来说只是针对于MVC的view的这一层,也是视图层,而我的view它是一种模式的实现,叫MVM的实现。
07:09
但这个呢,其实都是理论上的一些纯理论上的一些东西啊,其实对我们的编码其实没有太大的一个影响。这个呢倒是其次的,但我也给大家列在这里,大家如果能说的话,也可以说一下。好。那在这里面呢,我就给大家去简单的说了一下啊,React和view它们的相同点以及不同点。大家如果想啊去学习,深入学习react和view的使用,可以去看我们的这个详细的react技术站啊,或者说react技术全家桶,以及view的技术,全传统的视频,我可以打开大家看一看。诶,大家可以去下载这个视频进行啊学习啊,有非常详细的讲解啊,行,那这次我们来分享的这个题了,就先到这。
我来说两句