为移动和Web构建混合Java应用程序的最佳实践

为移动和Web构建混合Java应用程序的最佳实践,java,spring,react-native,spring-mvc,controller,Java,Spring,React Native,Spring Mvc,Controller,我们需要为移动和Web构建一个混合Java应用程序。我们计划使用SpringMVC和React-Native 您能否告知我们最佳实践,以便我们能够在移动和网络上尽可能多地重复使用代码,并且代码应该易于维护 我们是否应该为Web和mobile构建一个公共服务层和两个不同的控制器(使用@Controller和@RestController)。之后,这两个控制器可以调用相同的服务 例如,为了显示应用程序所有用户的信息,我们可以使用一个公共服务UserInfoService,然后创建两个不同的控制器we

我们需要为移动和Web构建一个混合Java应用程序。我们计划使用SpringMVC和React-Native

您能否告知我们最佳实践,以便我们能够在移动和网络上尽可能多地重复使用代码,并且代码应该易于维护

我们是否应该为Web和mobile构建一个公共服务层和两个不同的控制器(使用@Controller和@RestController)。之后,这两个控制器可以调用相同的服务

例如,为了显示应用程序所有用户的信息,我们可以使用一个公共服务UserInfoService,然后创建两个不同的控制器webuseinformcontroller(路径类似/web/users/info)和mobileuserinfo控制器(路径类似/mobile/users/info)。这两个控制器调用相同的UserInfoService。这是个好主意吗


非常感谢。

这取决于您的客户要求,但我可以向您建议一些可能对您有帮助的方法:

我在一个企业金融应用程序上工作,在该应用程序上,我们遵循创建单个服务器端(在您的上下文中是单个控制器)的方法。该服务器端被web应用程序和android应用程序使用。您可以创建面向服务或微服务的应用程序,并公开将在android和web应用程序中重用的不同服务

**Web Application  -----------> |Server side| <--------- Android Mobile Application**

**Web应用程序----------------->|服务器端|这一切取决于您的客户需求,但我可以向您推荐一些可能对您有帮助的方法:

我在一个企业金融应用程序上工作,在该应用程序上,我们遵循创建单个服务器端(在您的上下文中是单个控制器)的方法。该服务器端被web应用程序和android应用程序使用。您可以创建面向服务或微服务的应用程序,并公开将在android和web应用程序中重用的不同服务

**Web Application  -----------> |Server side| <--------- Android Mobile Application**
**Web应用----------------->服务器端|