提高 Angular 性能:将视图更改为 reactjs 或 Mithril?
Improve Angular performance: change the view to reactjs or Mithril?
我在使用 Angular 时遇到了性能问题(和其他许多人一样)。我只想将视图层更改为 reactjs 或 Mithril。我找到了 React js 的示例(例如 http://www.bimeanalytics.com/engineering-blog/you-put-your-react-into-my-angular/),但没有找到 Mithril 的示例。
任何人都可以建议使用 Mithril 作为 angular 视图与 Reactjs 的优缺点吗?
谢谢!
我认为这里没有 objective 答案,作为秘银用户,我有自己的偏见,但这是我的想法。
就理念而言,Mithril 和 React 非常相似:您编写视图函数来描述您的应用程序在任何给定时间的外观。在渲染性能方面,我认为没有明显的赢家。有链接/博客文章说 Mithril 比 React 快,反之亦然。
所以我认为你应该关注的是:
1) API 你更喜欢哪个?对于 React,你应该使用 JSX,以免你不得不对他们的文档进行逆向工程。 Mithril 也只有一个生命周期钩子(视图函数),而 React 有几个(比如 shouldComponentUpdate)——你需要所有这些钩子吗?
2) 社区支持——React 在这里是明显的赢家,并且存在与 Angular 集成的现有示例这一事实是一个胜利。
3) 兼容性 - DOM React 中的重绘/差异是在数据更改时完成的,就像 Angular 一样,但 Mithril 的重绘以用户交互为中心(例如点击,路由更改,ajax 请求)。您可以手动重绘,但这不太理想。我不知道 Mithril 是否适合 Angular 设置。
如果您决定使用秘银,我鼓励您使用 Google 组 (https://groups.google.com/forum/#!forum/mithriljs) 作为资源,或者至少报告您的经验。
Mithril 和 React 有很多相似之处。这两种我都用过,下面是一些优缺点。
秘银
优点:它的加载时间非常快。这是因为它的模板是先编译然后提供给浏览器的。您可以在 JavaScript 中编写秘银视图。体积小,文档完善,不会强迫您进入预定义的结构。
缺点:小 API 可能使其不适合更大更复杂的项目。
ReactJS
优点:React 的单向数据绑定意味着可以轻松查看 UI 更新的位置和方式,以及需要更改的位置。它还提供服务器端渲染、虚拟 dom 支持、良好的调试工具、易于编写测试、易于重用的组件、通量架构模式和广泛的 SVG 支持等
缺点:与 Mithril 相比,内存较大,不是一个完整的解决方案,因为它主要关注视图,需要学习新的语法等。
在我看来,React 总体上更可取。但是,如果您的应用程序不需要 React 提供的所有这些额外的东西,您应该使用 Mithril。
我在使用 Angular 时遇到了性能问题(和其他许多人一样)。我只想将视图层更改为 reactjs 或 Mithril。我找到了 React js 的示例(例如 http://www.bimeanalytics.com/engineering-blog/you-put-your-react-into-my-angular/),但没有找到 Mithril 的示例。 任何人都可以建议使用 Mithril 作为 angular 视图与 Reactjs 的优缺点吗? 谢谢!
我认为这里没有 objective 答案,作为秘银用户,我有自己的偏见,但这是我的想法。
就理念而言,Mithril 和 React 非常相似:您编写视图函数来描述您的应用程序在任何给定时间的外观。在渲染性能方面,我认为没有明显的赢家。有链接/博客文章说 Mithril 比 React 快,反之亦然。
所以我认为你应该关注的是:
1) API 你更喜欢哪个?对于 React,你应该使用 JSX,以免你不得不对他们的文档进行逆向工程。 Mithril 也只有一个生命周期钩子(视图函数),而 React 有几个(比如 shouldComponentUpdate)——你需要所有这些钩子吗?
2) 社区支持——React 在这里是明显的赢家,并且存在与 Angular 集成的现有示例这一事实是一个胜利。
3) 兼容性 - DOM React 中的重绘/差异是在数据更改时完成的,就像 Angular 一样,但 Mithril 的重绘以用户交互为中心(例如点击,路由更改,ajax 请求)。您可以手动重绘,但这不太理想。我不知道 Mithril 是否适合 Angular 设置。
如果您决定使用秘银,我鼓励您使用 Google 组 (https://groups.google.com/forum/#!forum/mithriljs) 作为资源,或者至少报告您的经验。
Mithril 和 React 有很多相似之处。这两种我都用过,下面是一些优缺点。
秘银
优点:它的加载时间非常快。这是因为它的模板是先编译然后提供给浏览器的。您可以在 JavaScript 中编写秘银视图。体积小,文档完善,不会强迫您进入预定义的结构。
缺点:小 API 可能使其不适合更大更复杂的项目。
ReactJS
优点:React 的单向数据绑定意味着可以轻松查看 UI 更新的位置和方式,以及需要更改的位置。它还提供服务器端渲染、虚拟 dom 支持、良好的调试工具、易于编写测试、易于重用的组件、通量架构模式和广泛的 SVG 支持等
缺点:与 Mithril 相比,内存较大,不是一个完整的解决方案,因为它主要关注视图,需要学习新的语法等。
在我看来,React 总体上更可取。但是,如果您的应用程序不需要 React 提供的所有这些额外的东西,您应该使用 Mithril。