converting desktop web app to mobile app?

2019-09-19 14:46发布

问题:

I am working on desktop based responsive web application where UI/front end will be in HTML/JS and back end point will be either servlets or struts/spring controllers.

My question is say after 3 years i want to have android mobile app , can I continue to use my servlet as back end code and serves the response coming from android mobile app,

Mine understanding :- I will develop the native UI part(wherever it is required) using android SDK which then can communicate with existing servlets . Then android app on mobile can render the html returned from my servlets 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. Is that right ?

回答1:

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

We have no way of predicting the future with accuracy.

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

To render HTML in Android, you use WebView (or maybe a third-party library, though that is uncommon). WebView handles lots of stuff but not everything that a desktop browser does. How well that all works three years from now is unknown, and how well it works today with whatever your Web site does is unknown.

or servlets can return the android specific views

No.

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

Can you get that to work? Possibly, but the details will depend a lot on what your existing Web site does and what sorts of client-side technologies it depends upon. For example, Android does not support Flash. There are also technical and security issues with interoperating between Java based UIs and WebView-based UIs, though this is a bit better in your case, as you are only hitting one server (I think).

All that being said, I would never write an Android app this way, and I would never recommend anyone else write an Android app this way. I would revise the Web server to have a proper Web service API, and I would write a native Android app that uses that Web service API, not using servlets returning HTML. The primary place where I would use WebView is when I had material that only exists in HTML, typically because I did not create the HTML in the first place (e.g., user-generated content).

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

Of course it is not "yes or no". We have no way of predicting the future, and we know almost nothing about the Web site. Your question collected two "too broad" close votes, and that is a reasonable assessment.