Ideas for a brand new widget toolkit
Tyler Jameson Little
beatgammit at gmail.com
Tue Aug 13 22:46:49 PDT 2013
On Tuesday, 13 August 2013 at 13:23:07 UTC, Paul Z. Barsan wrote:
> Hello everyone,
>
> These days I've been searching for a cross-platform IDE for D
> and I found out that there aren't any viable standalone
> options. After a few clicks, I've ran over this topic:
> http://forum.dlang.org/thread/astrlgbptrlvcdicqxux@forum.dlang.org
> and it wasn't a surprise to see there are other people
> searching for the very same thing.One of the reasons for the
> absence of such IDEs is that there are no widget toolkits
> written in D except DWT, but some people are complaining about
> DWT for being a clone of SWT and that clients will want DWT to
> be in sync with SWT since SWT is a "marketing paradigm". As
> such, I want to embark on a long journey of writing a new
> widget toolkit from scratch.
I already opened this can of worms:
http://forum.dlang.org/thread/vtaufckbpdkpuxyztyoi@forum.dlang.org?page=1
There's some good feedback there. Not sure if you saw this one.
> Here are the ideas that people came up with so far(sorry if I
> omitted something):
>
> snip...
>
> Think of this topic as writing letters to Santa, so: what say
> you ?
I'm a web developer, and CSS+HTML works quite well. The DOM
sucks, but the idea of separating markup, style and code has
worked out pretty well. QML uses this model pretty well, and I
think we can do something pretty nice with D's awesome template
support and CTFE.
My general preferences:
- simple, orthogonal, efficient
- theme-able at runtime
- simple event model
Opinions:
- no XML
- few abstractions (i.e. avoid Java-esque OO obsession)
Features I'd really like:
- direct frame buffer support (like qingy on Linux, but not sucky)
- no GC (in an ideal world)
- I'm not a big fan of Phobos relying on the GC
- removes a barrier to writing bare-metal applications (only
have to implement a new backend, not the whole ecosystem)
- less expensive to link into a non-D project
- CTFE
- entire API accessable from C
- so I can reuse it in another language (i.e. Rust, Go, Python,
etc.)
Overall design:
- simple buffer layering strategy, with bottom up and top-down
message passing
http://swtch.com/~rsc/thread/cws.pdf
- scene graph (like clutter):
http://en.wikipedia.org/wiki/Clutter_%28toolkit%29
I'd be interested in helping out, but I can't promise I'll be
dependable enough to be a major maintainer, since I don't have
any real projects that use D. Writing a UI toolkit is on my
already long list of TODOs.
More information about the Digitalmars-d
mailing list