The required user interface is fairly simple; basically, two tables that "interact with each other", e.g. certain rows in one table get highlighted when a row in the other is clicked, plus maybe a panel with charts.
Is it possible to have a (largely) single code base for a desktop app and a web app implementing this interface? For a few reasons, it would be good to have both versions, but I would hate to implement the GUI twice.
The details of my particular case are as follows:
- This is an academic research problem, so I don't have strict constraints in terms of tools and the coding style (or users!). On the other hand, I do have quite some time constraints.
- It has to run on bare JVM, but any language/framework would be welcome (Java, Groovy, Scala, Clojure, etc.).
- There is no persistent state, i.e. no strict need in a shared DB or any server part whatsoever.
- I would be willing to go through some design hoops to make it work (by design hoops I mean some unconventional application architecture).
Is it completely crazy to even think about something like that? If no, what would be the tools to pull it off?