Tim Churches wrote:


I was using "#ifdef" figuratively, and I should have made it clear I was talking mostly about the interface layer of applications, whether that be a GUI interface or a Web app interface or a Web service interface. My understanding is that .NET


sorry, I was being dense - I was thinking "back end" not "whole app"...although we know we can write an Eiffel portable GUI and make it work in dotNet, and indeed this is one possibility for replacing the VB gui.

offers a whole raft of proprietary ways of implementing such user/agent interfaces, and Java via J2EE offers a different set of ways of acheiving the same, and then there are envirobments like KDE/Qt, Gnome/GTK, wxWidgets, Zope etc etc. All of these can share core business logic code written in a single language of choice, but each interface environment will necessarily require separate code - there is little prospect of being able to write unencumbered .NET/Mono code to provide a GUI or Web service interface on all platforms, given Microsoft's patent coverage of the .NET framework. That's all I meant.


yes, agree. At the moment, there are two basic strategies (as everyone knows;-) a) make the back-end/front-end split very clear (we have done that) and b) use the classical approach of just using a fully portable development environment where all the code recompiles on all platforms and produces the same application; i.e. avoiding .Net, Java completely. Now this is fine for stand-alone tools like the archetype editor (for now), but of course it's not the answer for distributed EHR servers. Somewhere in the mess of corba, j2ee, .Net there is an answer lurking, that still allows a single core code-base to exist, while we pay a hopefully minial price in wrapper libarries (e.g. the wrappers are generated by a tool, as the ISE .Net tools do).

Of course, this makes it all the more important to engineer applications so that there is a clear separation between business logic and interface/presentation layers, using the Model-Viewer-Controller or related paradigms.



should have read you to the end before opening my mouth;-). The way all the Eiffel stuff works on every platform is simply bridge pattern all over the place, plus platform specific binding libraries.

- thomas


Reply via email to