This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Jim, given what little I've read of JavaFX (mostly here this week), I'm wondering how you see JavaFX affecting RIA structure. I can envision two types of app structure: (of course, everything in between is possible as well -- or even something completely different)
In this scenario, the server code is pretty much unchanged from today's RIA's with the exception of removing page-generation.
2) Full MVC moves to the client with the Model replicated via HTTP from the server.
In this scenario, the server code is drastically changed to merely keep track of the persisted Model and feed it to the fat client. At what point does it stop being a RIA and just become a RA (aka desktop client/server app)?
Which do you see happening? Why? [ April 02, 2008: Message edited by: Bear Bibeault ]
My preference is a blend of the two approaches that you mentioned. JavaFX Script is meant to be used in such a way that the UI is declaratively expressed, and bound to a model that is articulated in JavaFX classes. I like to use a lightweight model that has the responsibility of interacting with the server as necessary. So the model holds data necessary for the UI in an MVC fashion. That data is often state (such as currently selected element in a ListBox), as well as data from the server (cached in some cases for optimization). Because JavaFX can access Java classes directly, the functions in the model classes have many choices in how they communicate with the server (wrapping Java classes, or using JavaFX JSON/XML libraries, etc.)
It's not an app structure I've investigated deeply, but just pointing out that there's precedent for the type of app construct James is talking about, if I am understanding him correctly. [ April 03, 2008: Message edited by: Bear Bibeault ]