Generally, AWT/swing fails because it creates a set of user interfaces (UIS) that are incompatible with the local user interfaces of the operating system ". The eclipse SWT, which was born on this premise, successfully implemented the local user interface of the operating system. However, this does not prove that "non-local user interface" is the main cause of AWT/swing failure.
Now let's take a look at the flash-based RIA to implement flex and Laszlo. Why didn't they create a set of user interfaces "? But in most people's minds, what flash makes is that word, beautiful! Two beautiful words !! Three words !!!
It is also a non-operating system local user interface. Why is flex and Laszlo accepted, while AWT/swing being resisted? It's nothing more than the latter's appearance!
I personally think that flex, Laszlo, and so on, even if they are more beautiful than AWT/swing, are also limited. They all feel "weird. However, it can at least be explained that as long as the appearance and user experience are well done and well done, it can be fully recognized by the user, regardless of whether the local user interface of the operating system is used. In this regard, AWT/swing, flex, and Laszlo have the opportunity to succeed. AWT/swing is not dead yet.