首页 > 解决方案 > 为移动和 Web 构建混合 Java 应用程序的最佳实践

问题描述

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

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

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

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

非常感谢。

标签: javaspringreact-nativespring-mvccontroller

解决方案


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

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

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

最佳实践是您应该有一个服务器端并公开您的服务

尽管如此,还有另一个不太经济和快速的选择:

您可以使用网络渐进式应用程序。渐进式 Web 应用程序是外观和感觉都像应用程序的网站。这意味着用户无需下载移动应用程序即可访问所有信息和功能。一些大巨头将那里的应用程序转换为 WPA,例如 Ali Express、FlipKart、Twitter Lite、BookMyShow、福布斯等等。

在 Web 渐进式应用程序中,您可以遵循任何您想要的 WEB 架构。您甚至可以通过在 android 中使用该网站链接来创建一个 android 应用程序。或者该应用程序也将在移动浏览器中完美运行。


推荐阅读