For a while now, I’ve been thinking about the question of user interface, with regard to ease of implementation and cross-platform compatibility. I’m primarily interested in developing desktop applications, for things that don’t have a server-side storage model, or situations where internet connectivity is intermittent, etc. However, I’ve started doing some work on my employer’s website, and found in that time that web site interfaces are very easy to develop, especially in comparison with the cross-platform UI tools I’ve used in the past.
With that in mind, I want to know: what are the tools/libraries available that can be integrated into a desktop application to render web content? Could be HTML, PHP, JavaScript, with/without CSS, etc. How easy/difficult are they to use?
You might actually want to check out Microsoft’s Windows Presentation Foundation. It takes a lot from how the web works and applies it to desktop application development. It’s not exactly HTML/CSS/PHP/JS, but it’s not far off, either. It does have a bit of a learning curve, but the markup is XML based, so it’s largely just a matter of learning its quirks, and of course, the .Net languages and framework (though, theoretically, you could use PHP on the .Net framework).
You might also be interested in Appcelerator Titanium, which allows you to use HTML/CSS/JS to build desktop applications. I don’t know what it’s desktop development is like, but I’ve used it for iPhone development, and it has promise.
If you want to play around with plugin/extension writing, the latest Gnome desktop environment (Gnome 3 – http://www.gnome.org/) actually runs completely off of HTML/CSS/JS and could use people to help build their extension library. It is, literally, writing desktop apps! 🙂 (You would, of course, have to run Linux to play with it, but Fedora 15 uses Gnome 3 by default, and Linux in general comes with a number of powerful text editors, and the community has done a great job writing tutorials and documentations for getting started.)