问题
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.
来源:https://stackoverflow.com/questions/39065563/converting-desktop-web-app-to-mobile-app