In my last post, I expressed my thoughts in cross platform development along with the opportunities and problems emerging from such an effort. After a couple days of coding and testing I realized that it is safer to prefer the native libraries support for each operating system, rather than focusing in the cross platform functionality support of the frameworks, as a main strategy. The rule applies for rapid application development, using the most out of the framework supported functionality.
For example, an editor supporting HTML, which relies in native libraries, does not have cross platform bindings.
Editing HTML in a desktop application was a real challenge. In Windows environment MSHTML and IE comes to the rescue. By using the mshtml extension you can access all properties of a html document and by using the webeditor object you can create an “editable” html form for manipulating the content. On the other hand, GTK# and webkit is the alternative in the linux environment.
But, wait a second. Do I have to build two diffrent GUIs in order to achive cross platform operation ? ANd how do I do that ? Do I make two versions of the same application or do I scan the environment at runtime and determine which GUI should I load.