将桌面网络应用程序转换为移动应用程序?

converting desktop web app to mobile app?

我正在开发基于桌面的响应式 Web 应用程序,其中 UI/front 端点将在 HTML/JS 中,后端点将是 servlet 或 struts/spring 控制器。

我的问题是 3 年后我想拥有 android 移动应用程序,可以 我继续使用我的 servlet 作为后端代码并提供来自 android 移动应用的响应,

我的理解:- 我将使用 android SDK 开发本机 UI 部分(任何需要的地方),然后可以与现有的 servlet 通信. 然后 android 移动应用程序可以从我的 servlet 呈现 html returned,或者 servlet 可以 return android 特定视图。因此只有在我的移动应用程序需要自定义视图(htmls 或 android 特定视图)时才需要进行更改。对吗?

after 3 years... can I continue to use my servlet as back end code and serves the response coming from android mobile app

我们无法准确预测未来。

Then android app on mobile can render the html returned from my servlets

要在 Android 中呈现 HTML,您可以使用 WebView(或者 可能 第三方库,尽管这并不常见) . WebView 处理很多东西,但不是桌面浏览器可以处理的所有事情。三年后一切如何运作尚不得而知,而今天无论您的网站做什么,它的运作情况如何也不得而知。

or servlets can return the android specific views

没有

so changes are required only whenever i need custom views(htmls or android specific views) for my mobile application

你能让它工作吗?有可能,但细节在很大程度上取决于您现有网站的功能以及它所依赖的客户端技术种类。例如,Android 不支持 Flash。基于 Java 的 UI 和基于 WebView 的 UI 之间的互操作也存在技术和安全问题,尽管这在您的情况下要好一些,因为您只访问一台服务器(我认为)。

综上所述,我绝不会以这种方式编写 Android 应用程序,我绝不会推荐任何其他人以这种方式编写 Android 应用程序。我会修改 Web 服务器以拥有适当的 Web 服务 API,并且我会编写一个使用该 Web 服务 API 的本机 Android 应用程序,而不是使用返回 HTML 的 servlet .我使用 WebView 的主要地方是当我有 material 时只存在于 HTML,通常是因为我没有首先创建 HTML(例如,用户生成的内容)。

Primarily mine question is can I continue to use existing servlets. I don't think its based on opinion. It should be either yes or no

当然不是"yes or no"。我们无法预测未来,而且我们对网站几乎一无所知。您的问题获得了两 "too broad" 票,这是一个合理的评估。