Ideal D GUI Toolkit
Adam Wilson
flyboynw at gmail.com
Mon May 20 22:21:50 PDT 2013
On Mon, 20 May 2013 20:32:30 -0700, Tyler Jameson Little
<beatgammit at gmail.com> wrote:
>> So the basic premise of the argument is that if we can't make everyone
>> happy we shouldn't do anything at all?
>
> That's the initial feeling I get, but I think it comes more from the
> idea that a large piece of software they didn't write might be dumped on
> them. It's a legitimate concern, so I think a GUI library should not be
> included in Phobos if a group has not agreed to maintain it.
>
>> Also, mobile, particularly WinRT, but also Android, do not enforce a
>> look, in fact Android enshrines the idea of many different looks for
>> widgets, my S3 is NOT the vanilla Android look. Only iOS enforces a
>> "look" but it's still overridable. And WinRT doesn't even have the
>> concept of OS enforced widgets looks, all it has a default style.
>
> Trying to cover all bases seems like a headache that doesn't make sense
> in a standard library. For me, a standard library would provide a simple
> way to get basic tasks done; anything more complicated should be built
> on top if possible, but the core shouldn't be too bloated.
>
> I'm thinking something closer to Clutter, not WPF. WPF is fine, but as
> you mentioned earlier, it has something like 40,000 classes. I'm sure
> much of it is just OO baggage (stupid little 20-line classes), but that
> still translates to a lot of code. Browsing Ohloh.net, here's an idea of
> the scope of other FOSS GUI toolkits:
>
> * Qt 5 - ~7.7 million SLOC
> * wkWidgets - ~1.3 million SLOC
> * Gtk+ - ~769k SLOC
> * EFL - ~535k SLOC
> * Clutter - ~133k SLOC
>
> As for my opinionated ideals (doesn't affect the overall design much):
>
> * no XML (yaml maybe, but XML just isn't user-friendly)
> * very limited number of default components (external libraries can
> provide more)
> * liberally licensed (Phobos requires Boost, so that's a minimum; I
> prefer BSD)
>
> I also don't like the idea of external processes interfering with the
> UI. I can only see security holes that cannot be plugged because of the
> design decision. This can, of course, be provided by a developer, but it
> should not be provided by default in the library code.
I actually find WPF too be far to heavy to be realistic for our purposes
too. I know why they choose XML for XAML (they had existing XML
parser/serialization libraries to leverage) but it ends up being
frighteningly verbose. I am think a DSL and CTFE/mixins would be a MUCH
more compact system and would be much more in line with D's principles. I
personally have no problem with Boost, the goal is to get people using it
in all scenarios, not restricting it to one licensing ideology or another.
--
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/
More information about the Digitalmars-d
mailing list