Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipse-incubator-e4-dev] CSS and declarative UI round up

XSWT is pretty well known.  Kevin McLaren invented it and several others and myself have maintained it over the years.

I have quite a bit of business travel coming up and I'll demo it if the schedule fits in with my travels.  Failing that, Tom Schindl and I have a pretty shared vision of where it should go and he can demo his version (EXSWT) if he's available, wants to, and it doesn't work out for me to demo.

For those who haven't seen XSWT yet, XSWT:

- Is a simple external DSL based on XML for describing SWT user interfaces.
- Has a 1:1 mapping between XML syntax and Java constructs.
- Automatically supports every SWT control that has the standard (parent, style) constructor argument list, including those that haven't been written yet.
- Reduces code about 30% based on actual examples.
- Integrates cleanly with other JVM-based languages, particularly Scala, which has XML syntax baked into the language.

More information is available at:

http://www.coconut-palm-software.com/the_new_visual_editor/doku.php?id=xswt:home


Dave Orme


On Mon, Jun 23, 2008 at 2:25 PM, Angelo zerr <angelo.zerr@xxxxxxxxx> wrote:
Hi Kevin,

I would like if it's possible speak about my  TK-UI project .It' is not finished but TK-UI start manage several features like :

* describe UI with XML and render it into Swing or SWT :
  => use XHTML (input, table layout)
  => use XUL (listbox, textbox,box layout)
* mix several XML markup, so you can describe UI with XUL and XHTML and other markup if you want.
* DOM and UI are totally synchronized, by using JFace Databinding. I have some sample where you have TextArea bounded with DOM document (XHTML and XUL) and if you type into TextArea XML markup (input,....), it modify UI. If you type value into Text (coming from input HTML), it modifies the attribute value of the input element. So you have DOM -> UI and UI -> DOM.
* use _javascript_ to manage logic.
* use Java Backing bean (instanciate with Spring) to manage logic.
* use CSS styles.
* use DBEL (Databinding _expression_ language) which give capability to describe with String the Databinding. I have implement DBEL with XAML syntax, so you can write this XML markup  :

<xul:slider id="sliderId" />
<xhtml:input width="{Binding ElementId=sliderId, Path=value}" />

So with attribute is bounded with slider value. When you move slider, width of the input is modified.

* implement XMLHttpRequest, so I have intention to manage XHTML form submit to communicate with Server side (and call for instance Struts2 Action and render it into SWT the server result).

I have descirbed TK-UI features but I think it's not enough. What I can do (write some documentations....) to that TK-UI interest you?

Regards Angelo

2008/6/23 Kevin McGuire <Kevin_McGuire@xxxxxxxxxx>:

Hi folks,

Over the course of discussions, many folks have come forth with a favorite CSS/ declarative-UI implementation.  So much to choose from!  So much to know!  As a first step, I thought it'd be helpful for us to have a roundup of them all so we can discuss their pros and cons.  Eventually we'd all like to see some working CSS code in e4 eclipse.org repo and at the moment it seems the main problem is we have too many to choose from (a great problem to have!).

What I had in mind was:
  • Those who have some technology they'd like to bring forth prepare a small presentation of its pros and cons.
  • We have a call where they are presented.  We can as a group then better understand our requirements and which technologies fit those.
  • Ideally we would have three presentations of 1/2 hour each (including discussion), plus wrap up discussion, so two hours max for the call.  I'd prefer a shorter call but I don't think that's realistic.  If we have more than three presentations then we can split it into two calls, since I don't know about you but my attention span nears zero after 2 hours.
  • Our goals should be selecting the technology which will be the initial commit for the purpose of investigation.  We may change our minds later, but we need to start with something.  If there are two (or more) favorite technologies we can commit both, like we have the EMF/non-EMF modelling work.  

What do folks think?


If we like this approach, I'd suggest we aim for a call in approximately two weeks, to folks time to prep.

Kevin

_______________________________________________
eclipse-incubator-e4-dev mailing list
eclipse-incubator-e4-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev



_______________________________________________
eclipse-incubator-e4-dev mailing list
eclipse-incubator-e4-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev



Back to the top