Hi Folks,

My new venture requires me to develop a very sophisticated application such that the same app should be made to run on :
1)Device with embedded OS(identified linux as the OS)
2)As a standalone desktop app
3)As a centrally deployed web app

Since the baby is in its fertilisation process, I thought its a good idea to open it up for discussion.

My requirement here is that I should design this app in such a way that it helps me maximise code reuse.
It is quite evident that I should create a clear demarkation between the UI and the biz logic layers.

I plan to use javafx for the UI, I think this will enable me to reuse as much UI as possible, since javafx has embedded support and can be used in a html script.
I plan to use spring for dependency injection.

Can the experts tell me if its a right choice and could you suggest any better alternatives?