WPFfor d
Adam Wilson
flyboynw at gmail.com
Sun Feb 17 14:29:14 PST 2013
On Sun, 17 Feb 2013 11:21:54 -0800, rumbu <rumbu at rumbu.ro> wrote:
> On Sunday, 17 February 2013 at 19:01:14 UTC, Adam Wilson wrote:
>> On Sat, 16 Feb 2013 19:28:27 -0800, js.mdnq <js_adddot+mdng at gmail.com>
>> wrote:
>>
> ... if you're interested in helping let me know. I'd love to
>> put together a team and starting hacking out some code....
>
> I'm interested, especially in databinding features of WPF. Right now I
> have no idea how this can be implemented in D without runtime reflection.
I think it could be easily implemented if instead of using runtime XAML
deserialization and reflection we used a specialized GUI definition
language that is translated into D at compile time. This would give the
required flexibility to work around D's lack of the deep reflection
capabilities that .NET has and make the app much quicker at runtime. I'd
prefer to avoid reflection as much as possible due to the associated
performance hits.
I love the ideas behind WPF, but as usual at Microsoft, WPF is a very poor
implementation of a fantastic idea.
Thumbnail sketch of my vision for a WPF-like GUI Library in D, for now
I'll call it Horizon:
- Purpose built domain specific language for GUI declaration
- Pluggable language compiler back-end to support different target
languages.
- Dependency Property system similar to WPF to support flexible
databinding.
- Concurrent Dependency Properties to allow multi-threaded access to the
UI. (Needs specialized container support in Phobos.)
- Pluggable rendering core to support multiple operating systems.
Make no mistake, this will be a huge undertaking, WPF is massive! But it
could very well be the killer app for D. The ability to make GUI apps that
function at native speeds while retaining much of the ease of WPF is
highly attractive to a lot of developers, myself included...
--
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/
More information about the Digitalmars-d
mailing list