「前端架构」React和Vue -CTO的选择正确框架的指南( 二 )


假设您的代码库包含一组专门为API编写的服务 。 现在 , 如果您的客户端需要您从应用程序中删除整个API功能 , 重要的是您要将这些服务保存在一个单独的模块中 , 以便在不破坏应用程序的情况下轻松删除这些服务 。 这就是您需要框架中的模块化的地方 。 模块化使得在应用程序很大的情况下 , 可以很容易地插入新特性 , 而更复杂的特性应该随着版本的每次更改而迭代 。
模块化的React在React中 , 应用程序的每个部分都要处理组件 。
在React中支持模块化的一种理想方式是确保应用程序的每个组件在理想情况下只做一件事 。 即使组件在增长 , 更好的方法是将其进一步分解为更小的子组件 。
通过将代码库分割成小的、自包含的块 , 它使React应用程序开发比Angular更直观 。 您可以单独开发和测试模块 , 这使得添加特性和识别错误变得更容易 。
模块化的VueVue利用了“单文件组件”的概念 。 这似乎是在分离关注点方面的权衡 , 因为您的脚本、模板和样式将在一个文件中 , 但在三个不同的有序部分中 。
学习曲线- React和Vue我和我的同事能够轻松地学习这个工具吗?
React的学习曲线我观察到许多开发人员声称 , 如果使用Vue , 他们在React中所做的事情会更好、更容易 。 但是所有这些声明对我来说都没有意义 。 对我来说 , Vue更像是一个简单的JavaScript , 还有一些新的想法 , 单向数据流、组件和事件驱动的模型 。
Vue的学习曲线在学习曲线方面 , Vue胜过了其他Javascript框架 。 您只需要一些像样的JS技能或对ES6的良好理解就可以使用Vue 。 总的来说 , 即使使用文档本身 , 学习起来也容易得多 。
开发者友好性和易用性开始使用这个框架有多容易?
当涉及到开发时 , 框架应该更容易启动 。 比较Reactjs与Vuejs或任何其他框架的一种方法是 , 确定在有项目需求时启动它们的容易程度 。
要为您的项目选择正确的框架 , 您需要确定您和您的团队想要在JSX还是HTML上工作 。 为了给您一个初步的概述 , 我想强调一下 , 基于标准HTML模板和组件的框架通常易于结构和代码重用 。 然而 , 新开发人员更有可能发现难以处理JSX 。
React:开发者友好性和易用性React希望您构建组件而不是模板 , 因为组件是最可重用的 , 并且对单元测试友好 。 它依赖于JSX, JSX允许您混合UI模板和JavaScript 。 但是在一天结束的时候 , 你会觉得你是在Javascript上工作 。 使用JSX可以极大地促进开发 , 因为它允许React显示更有用的错误和警告消息 。
由于UI和JS代码不能在React中分离 , 所以关于样式的使用只有一个问题 。
说到风格 , 你有多种方法来开始:

  • 使用webpack提取您的导入' my '.css语句转换成样式表
  • 或者使用 “CSS in JS”库
当涉及到React项目时 , 它更像是一个狂野的西部 , 您拥有一个庞大的库和工具生态系统来补充您的应用程序 。 就我个人而言 , 我真的很喜欢这样 , 但是对于开发者来说 , 如果他们有很多选择的话 , 做出正确的选择并不总是那么容易 。 此外 , React没有明确的规则或规章 。 每次应用程序的体系结构必然要改变时 , 您都必须选择不同的内容 。 这使得事情的范围很容易出错 。
Vue:开发者友好性和易用性Vue被称为“进步web框架”是有原因的 , 因为有不同的特性会影响正在开发的应用程序的大小 。 Vue还提供了一个CLI和与webpack等构建工具集成的包 。 在这种环境中编写组件的最首选方法是单文件组件 , 即带有模板、脚本和样式标记的文件 。
我过去与几家公司合作过 , 当被问及选择Vue的原因时 , 他们给出的理由只是他们的开发人员觉得Vue更容易学习 。 Vue减少了初级开发人员和高级开发人员之间的差距 , 从而使他们在项目中很好地协作 。 它甚至对项目也有好处 , 因为它完成时bug更少 , 投放市场的时间更短 。
测试和调试框架的测试和调试方面有多好?
在React中测试和调试测试:Facebook推荐Jest来测试React代码 。 下面是Jest和Mocha?的比较——还有一篇文章是关于如何在Mocha?中使用Enzyme 的 。 Enzyme 是Airbnb使用的一个JavaScript测试工具(与Jest、Karma和其他测试运行程序一起使用) 。 如果您想阅读更多内容 , 这里有一些关于在React中进行测试的老文章(这里和这里) 。
Vue的测试和调试测试:目前 , Vue缺乏任何重要的测试指导 , 但Evan在他的2017预览中写道 , 团队计划在这方面工作 。 他们建议使用Karma 。 Vue与Jest一起工作 , 还有Vue test Utils. 。