【问题标题】:Should I create two seperate frontends - desktop and mobile?我应该创建两个单独的前端 - 桌面和移动吗?
【发布时间】:2018-05-29 21:47:08
【问题描述】:

我们正面临一个新的 React 项目,它应该在桌面和移动设备上运行。某些桌面功能将无法在移动设备上使用。

我们正在讨论是否应该创建两个独立的前端或一个单一的响应式前端。

您能否详细说明每种方法的优缺点?你会用哪一个来代替我?

【问题讨论】:

  • 我认为这个问题对于 Stack Overflow 来说过于宽泛/主观。
  • 这是一个非常广泛的问题,我想说的是 facebook 做出了 react 和 react-native 的原因,你可能应该使用它们来创建你的应用程序(也就是两个不同的应用程序)。 react-native 的好处是您实际上可以在移动设备上使用应用程序而不是网站,并且您拥有本地支持和访问权限,这非常有用。 react 和 react-native 之间有很多重叠。如果做对了不同的渲染元素集,两者之间可以共享很多东西
  • 我同意@JohnRuddell 的观点,使用 react-native 构建原生应用程序以及使用 react 构建 Web 应用程序是值得的。但是,如果我正确理解了 OP,Aviran 在这个阶段询问是否适合为大屏幕构建一个 React 网络应用程序和一个用于小屏幕的 React 网络应用程序。
  • @Rounin 如果这确实是 OP 的要求,那么我会同意你的回答 :) 我认为我从未见过如此出色的用例,可以将两个网站分别用于移动和一个用于台式机..这没有任何意义。但是当涉及到移动应用程序时,原生是要走的路(移动应用程序中的 webviews 非常糟糕)

标签: reactjs responsive-design architecture


【解决方案1】:

我应该创建两个独立的前端 - 桌面和移动吗?

没有。

对于一个编写良好的网络应用程序,一个单一的、可管理的代码库应该足以满足所有硬件:

  • 台式机
  • 笔记本电脑
  • 平板电脑
  • 触控电话

构建单一的响应式前端。如果大屏幕和小屏幕上的功能不完全匹配,请使用以下组合:

  • 优雅降级
  • 渐进式增强

这只是最佳实践、高效、面向未来的项目管理,使用 DRY(不要重复自己)作为工作理念。 [1]


  1. 而不是 WET(所有内容都写两次)。

【讨论】:

    【解决方案2】:

    恕我直言,一个站点/PWA 可以达到 90%-99%,具体取决于应用程序。要达到 100%,公司必须进行大量投资。所以,我认为对于许多公司来说,这归结为:

    • 我们有资源吗?
    • 我们要付出代价(初始投资)吗?
    • 我们是否愿意为此付出代价(维护、新功能等)

    我的建议是从网络应用开始。在后端很好地分离关注点(从表示层拆分 api/业务逻辑等)。如果您成功并希望达到 100%,请投资更多选择。

    有许多示例(例如新闻网站),它们放弃了使用两个独立实现的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-03
      • 1970-01-01
      • 2018-03-26
      • 1970-01-01
      • 2016-12-23
      • 2018-03-20
      • 1970-01-01
      相关资源
      最近更新 更多