So let's compare the two directions: abstraction model UI and
1. SWT Centric
This approach consists of mapping directly from XML <->
SWT. It is true SWT is already an abstraction of the different UI technologies:
Win32, GTK, etc. But it is low level abstraction: UI Widgets. It doesn't cover
more advanced concepts.
Could someone tell me why Eclipse invents a new UI Library
SWT, instead of using Swing, which is already cross platform? From my point of
view, SWT respects the native Look and Feel, particularly, in Windows. And
Swing had some problems of performance, ugly look and complexity in
development. This is a good example of courage to replace the out-of-date
solution by a new one. Are we in the same situation? SWT is designed mainly to
create the UI via programming. It is created several years ago. Its API doesn't
full respect neither the model constraint, non JavaBean specification. Using it
as main model, the new component will inherit its limitations and we have to
add outside components to support other features such as style, data binding.
Does it become a hybrid framework?
Since the birth of SWT, the UI technology evolves quickly to
markup language. Microsoft has the courage to give up the Win32 and invent a
new component-based framework WPF for providing common and full integrated UI
platform not only for Developer, but also for graphic designer and business
analyst. It focuses on content presentation, instead of low level basic UI
widgets. It really simplifies the UI Development.
I think SWT should stay where it is designed for.
2. Abstract UI model
Simply, it will give us a new land with maximum freedom to
develop a complete, extensible UI "Presentation" Framework.
Just a thought
Great discussion guys. I'm only beginning to
understand this area and the thread has been helpfu...