i think the most elegant desktop solution would be to use something like a cross-platform backend (syntax checking, code hilighting, auto-complete, etc) with a platform-specific frontend instead of a cross-platform frontend (which is usually pretty slow). this is obviously a fair bit of work but creating a universal backend but in the long run it might be a great use of (someone's) time.
on the other hand the browser-based javascript/ajax/whatever editor would be cross-platform right off the bat but not nearly as elegant from a desktop application perspective.