Thread overview | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
March 03, 2015 Standard GUI framework inspired by Qt | ||||
---|---|---|---|---|
| ||||
Hi all I've been thinking over a GUI framework for D for some time, and ended up with idea expressed by Andrew Fedoniouk here: http://www.digitalmars.com/d/archives/digitalmars/D/32633.html. That is, having a separate drawing layer, and widgets built on top of it. But since it has already been discussed 9 years ago, I wonder if such a framework has ever been implemented. In that duscussion many participants agreed that Qt would be a good foundation, but had very restrictive license. Things have changed since then, and Qt now is available under LGPL, which, to my undestanding, makes it suitable for the purpose of standard GUI library (please correct me if I am wrong on this). The license, of course, may change in the future, preventing us from using their updates for our drawing engine. But if we are able to start using the engine now, in the future we can maintain the updates ourselves. Now, how I envision the library's design: The library will be mostly implemented in D, except for drawing engine and event loop, which are system-dependent. Those two parts will be extracted from Qt into a separate library which will be linked to by the rest of framework either statically or dynamically. There will be bindings for sending drawing instructions to drawing engine, as well as for retrieving system and GUI events from event loop. The system-independent part will mimic architecture of Qt. However, for maximum flexibility and customizability, GUI will utilize QML+CSS approach, and Qt's layout manager classes will be dropped completely. Also there is no need to port classes that are available in D, such as collections and strings. If there is no standard GUI for D yet, and if LGPL license fits our purpose, then I am looking for 2-3 Qt experts to join me and build the framework. Thanks, Aram |
March 03, 2015 Re: Standard GUI framework inspired by Qt | ||||
---|---|---|---|---|
| ||||
Posted in reply to Aram | On Tuesday, 3 March 2015 at 18:43:50 UTC, Aram wrote:
> Hi all
>
> I've been thinking over a GUI framework for D for some time, and ended up with idea expressed by Andrew Fedoniouk here: http://www.digitalmars.com/d/archives/digitalmars/D/32633.html. That is, having a separate drawing layer, and widgets built on top of it. But since it has already been discussed 9 years ago, I wonder if such a framework has ever been implemented.
>
> In that duscussion many participants agreed that Qt would be a good foundation, but had very restrictive license. Things have changed since then, and Qt now is available under LGPL, which, to my undestanding, makes it suitable for the purpose of standard GUI library (please correct me if I am wrong on this). The license, of course, may change in the future, preventing us from using their updates for our drawing engine. But if we are able to start using the engine now, in the future we can maintain the updates ourselves.
>
> Now, how I envision the library's design:
>
> The library will be mostly implemented in D, except for drawing engine and event loop, which are system-dependent. Those two parts will be extracted from Qt into a separate library which will be linked to by the rest of framework either statically or dynamically. There will be bindings for sending drawing instructions to drawing engine, as well as for retrieving system and GUI events from event loop.
>
> The system-independent part will mimic architecture of Qt. However, for maximum flexibility and customizability, GUI will utilize QML+CSS approach, and Qt's layout manager classes will be dropped completely. Also there is no need to port classes that are available in D, such as collections and strings.
>
>
> If there is no standard GUI for D yet, and if LGPL license fits our purpose, then I am looking for 2-3 Qt experts to join me and build the framework.
>
> Thanks,
> Aram
So I don't speak for the community, but I like the idea of having a gui abstracting front end that targets backends, like Qt or GTK or Winforms. I know some people probably don't care as much about dependencies as me. But for me its always best to target a platforms native toolkit, I think it looks better. We should do a poll or something.
|
March 03, 2015 Re: Standard GUI framework inspired by Qt | ||||
---|---|---|---|---|
| ||||
Posted in reply to Aram | On Tuesday, 3 March 2015 at 18:43:50 UTC, Aram wrote: > Hi all > ... > However, for maximum flexibility and customizability, GUI will utilize QML+CSS approach, and Qt's layout manager classes will be dropped completely. Also there is no need to port classes that are available in D, such as collections and strings. I've done a GUI toolkit with CSS support in D for my editor. Should probably put it on github at some point. http://deadcodedev.steamwinter.com/ No QML-like thing because I feel that belongs in code. For now anyway. /Jonas |
March 03, 2015 Re: Standard GUI framework inspired by Qt | ||||
---|---|---|---|---|
| ||||
Posted in reply to Aram | On Tuesday, 3 March 2015 at 18:43:50 UTC, Aram wrote: > Hi all > > I've been thinking over a GUI framework for D for some time, and ended up with idea expressed by Andrew Fedoniouk here: http://www.digitalmars.com/d/archives/digitalmars/D/32633.html. That is, having a separate drawing layer, and widgets built on top of it. But since it has already been discussed 9 years ago, I wonder if such a framework has ever been implemented. > > In that duscussion many participants agreed that Qt would be a good foundation, but had very restrictive license. Things have changed since then, and Qt now is available under LGPL, which, to my undestanding, makes it suitable for the purpose of standard GUI library (please correct me if I am wrong on this). The license, of course, may change in the future, preventing us from using their updates for our drawing engine. But if we are able to start using the engine now, in the future we can maintain the updates ourselves. > > Now, how I envision the library's design: > > The library will be mostly implemented in D, except for drawing engine and event loop, which are system-dependent. Those two parts will be extracted from Qt into a separate library which will be linked to by the rest of framework either statically or dynamically. There will be bindings for sending drawing instructions to drawing engine, as well as for retrieving system and GUI events from event loop. > > The system-independent part will mimic architecture of Qt. However, for maximum flexibility and customizability, GUI will utilize QML+CSS approach, and Qt's layout manager classes will be dropped completely. Also there is no need to port classes that are available in D, such as collections and strings. > > > If there is no standard GUI for D yet, and if LGPL license fits our purpose, then I am looking for 2-3 Qt experts to join me and build the framework. > > Thanks, > Aram I'm not much of a gui person,but what is the advantage of using QML over D's import statements(http://dlang.org/expression.html#ImportExpression) and CTFE. |
March 03, 2015 Re: Standard GUI framework inspired by Qt | ||||
---|---|---|---|---|
| ||||
Posted in reply to Freddy | On Tuesday, 3 March 2015 at 22:16:36 UTC, Freddy wrote:
> On Tuesday, 3 March 2015 at 18:43:50 UTC, Aram wrote:
>> Hi all
>>
>> I've been thinking over a GUI framework for D for some time, and ended up with idea expressed by Andrew Fedoniouk here: http://www.digitalmars.com/d/archives/digitalmars/D/32633.html. That is, having a separate drawing layer, and widgets built on top of it. But since it has already been discussed 9 years ago, I wonder if such a framework has ever been implemented.
>>
>> In that duscussion many participants agreed that Qt would be a good foundation, but had very restrictive license. Things have changed since then, and Qt now is available under LGPL, which, to my undestanding, makes it suitable for the purpose of standard GUI library (please correct me if I am wrong on this). The license, of course, may change in the future, preventing us from using their updates for our drawing engine. But if we are able to start using the engine now, in the future we can maintain the updates ourselves.
>>
>> Now, how I envision the library's design:
>>
>> The library will be mostly implemented in D, except for drawing engine and event loop, which are system-dependent. Those two parts will be extracted from Qt into a separate library which will be linked to by the rest of framework either statically or dynamically. There will be bindings for sending drawing instructions to drawing engine, as well as for retrieving system and GUI events from event loop.
>>
>> The system-independent part will mimic architecture of Qt. However, for maximum flexibility and customizability, GUI will utilize QML+CSS approach, and Qt's layout manager classes will be dropped completely. Also there is no need to port classes that are available in D, such as collections and strings.
>>
>>
>> If there is no standard GUI for D yet, and if LGPL license fits our purpose, then I am looking for 2-3 Qt experts to join me and build the framework.
>>
>> Thanks,
>> Aram
> I'm not much of a gui person,but what is the advantage of using QML over D's import statements(http://dlang.org/expression.html#ImportExpression) and CTFE.
*import expression.
|
March 03, 2015 Re: Standard GUI framework inspired by Qt | ||||
---|---|---|---|---|
| ||||
Posted in reply to Freddy | On Tuesday, 3 March 2015 at 22:16:36 UTC, Freddy wrote:
> On Tuesday, 3 March 2015 at 18:43:50 UTC, Aram wrote:
>> Hi all
>>
>> I've been thinking over a GUI framework for D for some time, and ended up with idea expressed by Andrew Fedoniouk here: http://www.digitalmars.com/d/archives/digitalmars/D/32633.html. That is, having a separate drawing layer, and widgets built on top of it. But since it has already been discussed 9 years ago, I wonder if such a framework has ever been implemented.
>>
>> In that duscussion many participants agreed that Qt would be a good foundation, but had very restrictive license. Things have changed since then, and Qt now is available under LGPL, which, to my undestanding, makes it suitable for the purpose of standard GUI library (please correct me if I am wrong on this). The license, of course, may change in the future, preventing us from using their updates for our drawing engine. But if we are able to start using the engine now, in the future we can maintain the updates ourselves.
>>
>> Now, how I envision the library's design:
>>
>> The library will be mostly implemented in D, except for drawing engine and event loop, which are system-dependent. Those two parts will be extracted from Qt into a separate library which will be linked to by the rest of framework either statically or dynamically. There will be bindings for sending drawing instructions to drawing engine, as well as for retrieving system and GUI events from event loop.
>>
>> The system-independent part will mimic architecture of Qt. However, for maximum flexibility and customizability, GUI will utilize QML+CSS approach, and Qt's layout manager classes will be dropped completely. Also there is no need to port classes that are available in D, such as collections and strings.
>>
>>
>> If there is no standard GUI for D yet, and if LGPL license fits our purpose, then I am looking for 2-3 Qt experts to join me and build the framework.
>>
>> Thanks,
>> Aram
> I'm not much of a gui person,but what is the advantage of using QML over D's import statements(http://dlang.org/expression.html#ImportExpression) and CTFE.
No need to recompile (ie. have the source code) the app you are doing when you change the QML. This in turn also speeds up design iterations.
|
March 03, 2015 Re: Standard GUI framework inspired by Qt | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jonas Drewsen Attachments: | On Tue, 03 Mar 2015 20:21:29 +0000, Jonas Drewsen wrote:
> I've done a GUI toolkit with CSS support in D for my editor. Should probably put it on github at some point.
>
> http://deadcodedev.steamwinter.com/
to be honest, it's the most wanted part for me. ;-) i don't need the editor, but i definitely want to take a look at it's gui, 'cause i'm too lazy to finish any of my own libraries (i HATE writing gui libraries! ;-).
|
March 04, 2015 Re: Standard GUI framework inspired by Qt | ||||
---|---|---|---|---|
| ||||
Posted in reply to Aram | On 4/03/2015 7:43 a.m., Aram wrote: > Hi all > > I've been thinking over a GUI framework for D for some time, and ended > up with idea expressed by Andrew Fedoniouk here: > http://www.digitalmars.com/d/archives/digitalmars/D/32633.html. That is, > having a separate drawing layer, and widgets built on top of it. But > since it has already been discussed 9 years ago, I wonder if such a > framework has ever been implemented. > > In that duscussion many participants agreed that Qt would be a good > foundation, but had very restrictive license. Things have changed since > then, and Qt now is available under LGPL, which, to my undestanding, > makes it suitable for the purpose of standard GUI library (please > correct me if I am wrong on this). The license, of course, may change in > the future, preventing us from using their updates for our drawing > engine. But if we are able to start using the engine now, in the future > we can maintain the updates ourselves. > > Now, how I envision the library's design: > > The library will be mostly implemented in D, except for drawing engine > and event loop, which are system-dependent. Those two parts will be > extracted from Qt into a separate library which will be linked to by the > rest of framework either statically or dynamically. There will be > bindings for sending drawing instructions to drawing engine, as well as > for retrieving system and GUI events from event loop. > > The system-independent part will mimic architecture of Qt. However, for > maximum flexibility and customizability, GUI will utilize QML+CSS > approach, and Qt's layout manager classes will be dropped completely. > Also there is no need to port classes that are available in D, such as > collections and strings. > > > If there is no standard GUI for D yet, and if LGPL license fits our > purpose, then I am looking for 2-3 Qt experts to join me and build the > framework. > > Thanks, > Aram Also, you can drop Qt almost completely for wanting its window creation functionality. http://github.com/Devisualization/window I've got a bunch of other projects, image, model loading, scene graph. Google Material design GUI toolkit but it is a LONG way off. I also have started (locally) a new GUI toolkit that uses the Buffer2D context instead of OpenGL. And yes, Devisualization.Window works on the three big platforms. |
March 04, 2015 Re: Standard GUI framework inspired by Qt | ||||
---|---|---|---|---|
| ||||
Posted in reply to Aram | On Tuesday, 3 March 2015 at 18:43:50 UTC, Aram wrote: > I've been thinking over a GUI framework for D for some time, and ended up with idea expressed by Andrew Fedoniouk here: http://www.digitalmars.com/d/archives/digitalmars/D/32633.html. That is, having a separate drawing layer, and widgets built on top of it. But since it has already been discussed 9 years ago, I wonder if such a framework has ever been implemented. See also Harmonia http://www.terrainformatica.com/2014/07/10-years-road-to-sciter/ for an older (now dead) attempt at abstracting a GUI backend. |
March 04, 2015 Re: Standard GUI framework inspired by Qt | ||||
---|---|---|---|---|
| ||||
Posted in reply to ketmar | On Tuesday, 3 March 2015 at 23:45:36 UTC, ketmar wrote:
> On Tue, 03 Mar 2015 20:21:29 +0000, Jonas Drewsen wrote:
>
>> I've done a GUI toolkit with CSS support in D for my editor. Should
>> probably put it on github at some point.
>>
>> http://deadcodedev.steamwinter.com/
>
> to be honest, it's the most wanted part for me. ;-) i don't need the
> editor, but i definitely want to take a look at it's gui, 'cause i'm too
> lazy to finish any of my own libraries (i HATE writing gui libraries! ;-).
Yeah. Driving people away from the editor they know is a tough quest. Luckily that is not my goal.
Writing GUI libraries is definitely a lot of work and have a lot of corner cases so I completely agree that it is not the most fun thing to do. On top of that it is hard to do proper automated tests for GUI.
|
Copyright © 1999-2021 by the D Language Foundation