Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs react.js桌面和移动web项目体系结构_Reactjs_Mobile Website - Fatal编程技术网

Reactjs react.js桌面和移动web项目体系结构

Reactjs react.js桌面和移动web项目体系结构,reactjs,mobile-website,Reactjs,Mobile Website,我非常关注我的web项目架构,它将有单独的移动和桌面web应用程序 我已经完成了基于“CreateReact应用程序”项目模板的web版本开发,对于移动版本,我希望尽可能重用现有的web版本组件 我们将提供单独的url“www”用于桌面,而“m”用于移动设备 我在考虑两种可能的方法 只需为手机构建另一个CreateReact应用程序项目并共享通用代码 在exists web client create react app project src文件夹中,生成移动版本代码,如component.j

我非常关注我的web项目架构,它将有单独的移动和桌面web应用程序

我已经完成了基于“CreateReact应用程序”项目模板的web版本开发,对于移动版本,我希望尽可能重用现有的web版本组件

我们将提供单独的url“www”用于桌面,而“m”用于移动设备

我在考虑两种可能的方法

  • 只需为手机构建另一个CreateReact应用程序项目并共享通用代码
  • 在exists web client create react app project src文件夹中,生成移动版本代码,如component.js component.web.js component.mobile.js。但在这种情况下,我担心bundle js文件的大小
  • 我也考虑过响应性网页设计,但我们有完全不同的布局和组件

    通过视口或url(www/m)的大小在组件中呈现两种不同的布局可能是另一种可能的方式,但我很可能使用服务器端呈现


    解决这个问题的好方法是什么……

    我将按以下方法处理:-

  • 将所有业务逻辑移动到一个通用包中,并在移动和web中使用它。这会让你的逻辑变得通俗
  • 将所有通用组件/config/colors等移动到一个通用包中,并在两个应用程序中使用它们
  • 分别为两个应用处理视图部分

    我也考虑过响应性的网页设计,但我们已经完全做到了 不同的布局和组件

    如果您有完全不同的布局和组件,我建议将移动设备和web隔离开来。这不仅与捆绑包的大小有关,您可以通过延迟加载来绕过它,而且您的代码复杂性可能会增加


  • 您可以使用相同的代码并使用Cordova Framework构建移动应用程序 因为您的web代码将是生成应用程序的代码

    此外,您还可以为多个平台创建。 通过官方网站。

    我认为我们不会开发混合应用程序,可能会开发PWA。Cordova仍然是合适的选择?如果您想使用与web相同的代码为不同的平台生成apk,那么您可以使用它。感谢您的回复。我认为这是最好的选择。你能提供一个关于GitHub或?