Cross platform interactive application development is the need of the hour. Between the myriad of technology choices, the critical factor is to balance user interaction consistency, code reuse and easy portability to newer platforms and devices.
We have been thinking about a solution to this and came up with this: The Dagwood Sandwich Approach.
The Dagwood Sandwich approach is like the sandwich of popular cartoon character – stuffed with technologies that serve best at each layer.
This architecture is designed for applications that work on Windows, Linux and Mac. C# language is used for the core of business logic – deployed in .Net framework on Windows and Mono on Linux and Mac. Flash is used for the presentation layer – building highly interactive user interfaces. The backend datastore can be a full fledged database either embedded or running as a server. Alternatively for smaller needs, we can use XML.
One of the core elements of the architecture is the OS specific layer. Many applications would need interaction with OS level features. These features will be implemented in this layer. E.g. Accessing scanners, file system integration etc.
The application can then connect to the server using standard web technologies. The architecture is also scalable and easy to port to new platforms.
We are currently working on a project using this architecture and it is going quite smooth. I will post a few code snippets as we move forward.
Webmentions
Two more approaches to cross platform application development – wxWidgets and RealBasic. http://www.mehtanirav.com/2005/10/05/cross-platform-application-development/