Or are there?
From a desktop software developer point of view (as opposed, perhaps, to that of a web developer), rich web application platforms, such as Flash or Silverlight, look like better tools for doing WYSIWYG text editors for the web. They are capable of more sophisticated input/output, data representation etc., and they are consistent through the browsers and platforms (well, maybe not Silverlight and Moonlight yet, but at least Flash seems to be).
Still, the developers prefer to go with Javascript/DOM/HTML/CSS with all their incompatibilities, differences, toiling diligently to work around every particular quirk and using numerous hacks to make these technologies do what they were, perhaps, never originally supposed to be able to do.
There are some generally accepted arguments why you should not use Flash for a website, as well as a generally accepted exception: the embedded video players. How is a rich text editor different? "A flash control lives in it's isolated sandbox" - so, universally, does a WYSIWYG editor; "the text of a flash control can't be indexed by the search engines" - who cares about indexing the ever changing unsaved content of an editor, anyway; "not all users may have Flash installed" - so not all of them may have Javascript enabled, either.
So, here the question goes: what are the advantages of choosing Javascript over Flash for implementing a WYSIWYG editor? What would be the disadvantages of choosing otherwise?
The main advantages of a JavaScript-implemented RTE editor over Flash ones are:
Are you looking to build this editor yourself ? Because generally speaking, the choices available for wysiwyg editors in javascript today are pretty darn good. Check for example: fckeditor and tinymce. they are all pretty impressive and improving with each release and can be applied in a wide range of scenarios
There is fairly good support via designmode/contenteditable divs and iframes in most modern browsers for building these things. Flex 3 comes with a merely okay RichTextEditor that'll do the job but isn't all that great.
The main reason (I think) is that there's a ready basis for doing rich HTML editing in the browsers using JavaScript (designMode). This was started by Microsoft in IE 5.5 (as far as I remember) and then picked up by Mozilla/Firefox, then Opera and then Safari. The browser would take care of holding the HTML DOM tree, allowing you to navigate and modify it, etc. You can create a basic (and totally retarded but still) HTML wysiwyg in browser with almost no javascript code. And then you can build features on to of that (what most of the modern javascript wysiwygs have done).
In Flash/Silverlight developer would have to start from scratch and implement all this stuff. And it's difficult to compete in this area with teams at Microsoft/Mozilla/Opera/etc.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With