Jump to page: 1 24  
Page
Thread overview
D "Swing"
Dec 23, 2012
Chris
Dec 24, 2012
evilrat
Dec 24, 2012
Chris
Dec 24, 2012
evilrat
Dec 24, 2012
Zz
Dec 24, 2012
Russel Winder
Dec 24, 2012
Chris
Dec 24, 2012
Jacob Carlborg
Dec 24, 2012
Jacob Carlborg
Dec 24, 2012
Jacob Carlborg
Dec 24, 2012
Jacob Carlborg
Dec 24, 2012
Chris
Dec 24, 2012
Chris
Dec 24, 2012
Jacob Carlborg
Dec 24, 2012
evilrat
Dec 24, 2012
Jacob Carlborg
Dec 24, 2012
Chris
Dec 24, 2012
Jacob Carlborg
Dec 25, 2012
Chris
Dec 26, 2012
Jacob Carlborg
Dec 26, 2012
Chris
Dec 26, 2012
Jacob Carlborg
Dec 26, 2012
Chris
Dec 28, 2012
Chris
Dec 28, 2012
Jacob Carlborg
Dec 28, 2012
Chris
Dec 28, 2012
Jacob Carlborg
Dec 28, 2012
Chris
Dec 28, 2012
Jacob Carlborg
Dec 28, 2012
Chris
Dec 28, 2012
Chris
Dec 28, 2012
Chris
Dec 29, 2012
Jacob Carlborg
Dec 28, 2012
Jacob Carlborg
Dec 29, 2012
Chris
Dec 29, 2012
Jacob Carlborg
Dec 29, 2012
Chris
Dec 29, 2012
Jacob Carlborg
Dec 29, 2012
Chris
Dec 29, 2012
Jacob Carlborg
December 23, 2012
There exist some GUI Toolkits for D, however, they are more or less all based on bindings to native toolkits.

Is anyone working on or are there plans to develop a pure Swing-like GUI Framework for D? While bindings have the advantage of using native widgets, they tend to lack behind as native widgets toolkits evolve and improve from version to version. Also, the full use of native features is not always easily accomplished (cf. SWT/JFace). A self-contained framework (like Swing) that could be extended as needed by a small set of native bindings - to implement os specific tasks - might be worth looking into.

D would have the benefit of hindsight in avoiding mistakes made in other GUI toolkits (such as Swing and SWT/JFace), and while this may sound like reinventing the wheel, catering for cross-platform bindings (Windows, Linux and OS X) is an endless race, and might not be real cross-platform after all, because either a whole platform is not (yet) catered for (cf. DWT), or some features are not yet implemented for one platform or another.

Programmers have to make practical decisions and from my own experience I know that nothing is worse than betting on the wrong horse, and at present I could not decide on a GUI toolkit for D.

Your comments and advice are more than welcome.
December 24, 2012
On Sunday, 23 December 2012 at 21:03:40 UTC, Chris wrote:
> There exist some GUI Toolkits for D, however, they are more or less all based on bindings to native toolkits.
>
> Is anyone working on or are there plans to develop a pure Swing-like GUI Framework for D? While bindings have the advantage of using native widgets, they tend to lack behind as native widgets toolkits evolve and improve from version to version. Also, the full use of native features is not always easily accomplished (cf. SWT/JFace). A self-contained framework (like Swing) that could be extended as needed by a small set of native bindings - to implement os specific tasks - might be worth looking into.
>
> D would have the benefit of hindsight in avoiding mistakes made in other GUI toolkits (such as Swing and SWT/JFace), and while this may sound like reinventing the wheel, catering for cross-platform bindings (Windows, Linux and OS X) is an endless race, and might not be real cross-platform after all, because either a whole platform is not (yet) catered for (cf. DWT), or some features are not yet implemented for one platform or another.
>
> Programmers have to make practical decisions and from my own experience I know that nothing is worse than betting on the wrong horse, and at present I could not decide on a GUI toolkit for D.
>
> Your comments and advice are more than welcome.

did you remember c++ lesson with qt? no, qt is good framework but in fact its better when used your custom styles(imho), native look and feel sometimes is just crappy, and custom cross platform look'n'feel for your professional oriented stuff is another plus, it instantly becomes recognizable and users don't need to adapt to version on another system.

sorry if it still unclear, i'm  not against bindings to native ui i'm just trying to say it is good for simple stuff only and only when ur program targeting one system(again, imho).

so i think HTML/JS is the really(but not only, yes) crossplatform(phones, set top boxes, pc's, just about everywhere...), fast, cost effecient(the only tool you need to start develop is text editor and browser with developer tools, almost all if not any has such tools, there is lot of designers and JS programmers, and so on) and modern UI, so you can take a look at my recent project - http://forum.dlang.org/thread/azrwqdorulvwhjcmmrxx@forum.dlang.org though it still in alpha


sorry if that's not what you expect for gui framework stuff such as gtk or qt.
December 24, 2012
On Monday, 24 December 2012 at 02:17:51 UTC, evilrat wrote:
> On Sunday, 23 December 2012 at 21:03:40 UTC, Chris wrote:
>> There exist some GUI Toolkits for D, however, they are more or less all based on bindings to native toolkits.
>>
>> Is anyone working on or are there plans to develop a pure Swing-like GUI Framework for D? While bindings have the advantage of using native widgets, they tend to lack behind as native widgets toolkits evolve and improve from version to version. Also, the full use of native features is not always easily accomplished (cf. SWT/JFace). A self-contained framework (like Swing) that could be extended as needed by a small set of native bindings - to implement os specific tasks - might be worth looking into.
>>
>> D would have the benefit of hindsight in avoiding mistakes made in other GUI toolkits (such as Swing and SWT/JFace), and while this may sound like reinventing the wheel, catering for cross-platform bindings (Windows, Linux and OS X) is an endless race, and might not be real cross-platform after all, because either a whole platform is not (yet) catered for (cf. DWT), or some features are not yet implemented for one platform or another.
>>
>> Programmers have to make practical decisions and from my own experience I know that nothing is worse than betting on the wrong horse, and at present I could not decide on a GUI toolkit for D.
>>
>> Your comments and advice are more than welcome.
>
> did you remember c++ lesson with qt? no, qt is good framework but in fact its better when used your custom styles(imho), native look and feel sometimes is just crappy, and custom cross platform look'n'feel for your professional oriented stuff is another plus, it instantly becomes recognizable and users don't need to adapt to version on another system.
>
> sorry if it still unclear, i'm  not against bindings to native ui i'm just trying to say it is good for simple stuff only and only when ur program targeting one system(again, imho).

I agree. If it gets a bit more sophisticated, it can be quite annoying when using bindings.

>
> so i think HTML/JS is the really(but not only, yes) crossplatform(phones, set top boxes, pc's, just about everywhere...), fast, cost effecient(the only tool you need to start develop is text editor and browser with developer tools, almost all if not any has such tools, there is lot of designers and JS programmers, and so on) and modern UI, so you can take a look at my recent project - http://forum.dlang.org/thread/azrwqdorulvwhjcmmrxx@forum.dlang.org though it still in alpha
>
>
> sorry if that's not what you expect for gui framework stuff such as gtk or qt.

I'd prefer a fully-fledged pure D solution for desktop apps. With D's ability to integrate C code native extensions should be manageable. But the framework should be self-contained like Swing. With extensions I mean things like using a Mac menu bar, use system services etc but the widgets should be D's own.

However, I also like HTML/JS solutions but am not sure whether they can replace a real GUI framework like Cocoa or Swing. JS is at times cumbersome to use for user interfaces.
December 24, 2012
On Monday, 24 December 2012 at 10:34:42 UTC, Chris wrote:
>>
>> so i think HTML/JS is the really(but not only, yes) crossplatform(phones, set top boxes, pc's, just about everywhere...), fast, cost effecient(the only tool you need to start develop is text editor and browser with developer tools, almost all if not any has such tools, there is lot of designers and JS programmers, and so on) and modern UI, so you can take a look at my recent project - http://forum.dlang.org/thread/azrwqdorulvwhjcmmrxx@forum.dlang.org though it still in alpha
>>
>>
>> sorry if that's not what you expect for gui framework stuff such as gtk or qt.
>
> I'd prefer a fully-fledged pure D solution for desktop apps. With D's ability to integrate C code native extensions should be manageable. But the framework should be self-contained like Swing. With extensions I mean things like using a Mac menu bar, use system services etc but the widgets should be D's own.
>
> However, I also like HTML/JS solutions but am not sure whether they can replace a real GUI framework like Cocoa or Swing. JS is at times cumbersome to use for user interfaces.

i'd try to clarify... my project IS just another bindings project but it binds to HTML stuff library. inside this library one could do anything using only declarative language(HTML+CSS) and bind that declarative code using JS to D part, that way one would focusing on making UI elements, UI style(look'n'feel), UI JS glueing code(and thats all separatedly, MVC in effect) apart from native D code, so writing cocoa menu's or other stuff and present it to HTML world should be simple, actually it even doesn't need to do this, since D part would contain business logic and HTML part is just all UI code isolated.

so it's more likely one may want just make programmaticaly-like UI framework(like qt/gtk) on top of HTML/CSS/JS written in D which does all declarative and glueing stuff behind the scene to mimic "truly D ui's", at least from programmers point of view there would be no difference.
December 24, 2012
On Mon, 2012-12-24 at 11:34 +0100, Chris wrote:
[…]
> However, I also like HTML/JS solutions but am not sure whether they can replace a real GUI framework like Cocoa or Swing. JS is at times cumbersome to use for user interfaces.
[…]

Possibly worth noting that the hope is that Swing goes away very soon now. JavaFX is the current offering for graphics and GUI on the JVM. Of course writing UIs in Java is a pain, hence GroovyFX (http://www.groovyfx.org). But, of course, writing UIs manually is a pain so the generator to use is Griffon (http://griffon.codehaus.org).

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


December 24, 2012
On Monday, 24 December 2012 at 11:12:15 UTC, Russel Winder wrote:
> On Mon, 2012-12-24 at 11:34 +0100, Chris wrote:
> […]
>> However, I also like HTML/JS solutions but am not sure whether they can replace a real GUI framework like Cocoa or Swing. JS is at times cumbersome to use for user interfaces.
> […]
>
> Possibly worth noting that the hope is that Swing goes away very soon
> now. JavaFX is the current offering for graphics and GUI on the JVM. Of
> course writing UIs in Java is a pain, hence GroovyFX
> (http://www.groovyfx.org). But, of course, writing UIs manually is a
> pain so the generator to use is Griffon (http://griffon.codehaus.org).

Yes, I agree Java is a pain when building GUI's. I only mentioned it as an example of an independent framework. Personally I'd prefer HTML(like) solutions for both desktop and mobile. There is simply no time for endless platform support, especially in small teams. But JS has its limitations as to UI development. So a solution that uses HTML for rendering and allows any language to implement the application logic would get my vote. I think the D community should look in that direction too. I am simply not convinced that DWT will take off (much as I appreciate the work that has been put into it), because I remember the huge effort it took SWT/JFace developers, although they were supported by a large community and a big company. Also, it seems a bit absurd that we have a good compilable cross-platform language like D and cannot fully use it as such due to GUI issues.

December 24, 2012
On 2012-12-23 22:03, Chris wrote:
> There exist some GUI Toolkits for D, however, they are more or less all
> based on bindings to native toolkits.
>
> Is anyone working on or are there plans to develop a pure Swing-like GUI
> Framework for D? While bindings have the advantage of using native
> widgets, they tend to lack behind as native widgets toolkits evolve and
> improve from version to version. Also, the full use of native features
> is not always easily accomplished (cf. SWT/JFace). A self-contained
> framework (like Swing) that could be extended as needed by a small set
> of native bindings - to implement os specific tasks - might be worth
> looking into.

Am one of those who prefer to use native widgets compared to something like GTK. But as you say they don't all provide all features. I think a good idea is the use a cross-platform GUI library for the common widgets that exists on all platforms, i.e. buttons and windows. There's not reason to use the native API for those. Then extend that with platform specif code using the native API, i.e. unified tool bar, sheets and so on, that is found on Mac OS X.

> D would have the benefit of hindsight in avoiding mistakes made in other
> GUI toolkits (such as Swing and SWT/JFace), and while this may sound
> like reinventing the wheel, catering for cross-platform bindings
> (Windows, Linux and OS X) is an endless race, and might not be real
> cross-platform after all, because either a whole platform is not (yet)
> catered for (cf. DWT), or some features are not yet implemented for one
> platform or another.

I agree that it would be really nice to have a cross-platform GUI framework written explicitly for D. But as you say that would be an enormous task to do.

I'm working on the Mac OS X port of DWT. It all compiles but a lot is not working. Some snippets are working:

https://github.com/d-widget-toolkit/dwt-mac

Any help is appreciated.

> Programmers have to make practical decisions and from my own experience
> I know that nothing is worse than betting on the wrong horse, and at
> present I could not decide on a GUI toolkit for D.
>
> Your comments and advice are more than welcome.


-- 
/Jacob Carlborg
December 24, 2012
On Monday, 24 December 2012 at 11:59:31 UTC, Jacob Carlborg wrote:

>
> Am one of those who prefer to use native widgets compared to something like GTK. But as you say they don't all provide all features. I think a good idea is the use a cross-platform GUI library for the common widgets that exists on all platforms, i.e. buttons and windows. There's not reason to use the native API for those. Then extend that with platform specif code using the native API, i.e. unified tool bar, sheets and so on, that is found on Mac OS X.
>
>
> I agree that it would be really nice to have a cross-platform GUI framework written explicitly for D. But as you say that would be an enormous task to do.
>
> I'm working on the Mac OS X port of DWT. It all compiles but a lot is not working. Some snippets are working:
>
> https://github.com/d-widget-toolkit/dwt-mac
>
> Any help is appreciated.
>

Perhaps the link you just posted could provide a HTML-based solution: http://forum.dlang.org/thread/yfmgvgprfpiquakiyjlk@forum.dlang.org

That'd be pretty cool.

December 24, 2012
On 2012-12-24 12:12, Russel Winder wrote:

> Possibly worth noting that the hope is that Swing goes away very soon
> now. JavaFX is the current offering for graphics and GUI on the JVM. Of
> course writing UIs in Java is a pain, hence GroovyFX
> (http://www.groovyfx.org). But, of course, writing UIs manually is a
> pain so the generator to use is Griffon (http://griffon.codehaus.org).

Java is one of the best supported language. There exist many GUI builders for the Java platform, example:

https://developers.google.com/java-dev-tools/wbpro/

-- 
/Jacob Carlborg
December 24, 2012
On 2012-12-24 12:56, Chris wrote:

> Yes, I agree Java is a pain when building GUI's. I only mentioned it as
> an example of an independent framework. Personally I'd prefer HTML(like)
> solutions for both desktop and mobile.

How is that working? You display a window with an HTML view and renders the complete GUI in that? Or are we just talking web applications?

> There is simply no time for
> endless platform support, especially in small teams. But JS has its
> limitations as to UI development.

I don't agree with that. In my experience a quite a lot of platform specific code is required anyway if you want to have a good application. Mobile applications have a very different GUI and look-and-feel compared to desktop applications. It's not just that the buttons are bigger and look different you might have a completely different structure of the mobile application. You just don't physically have the same amount of space on a mobile application and therefore cannot have the same content (or all the content).

> So a solution that uses HTML for
> rendering and allows any language to implement the application logic
> would get my vote. I think the D community should look in that direction
> too.

I can tell you right now that most of the developers in the D community don't share your ideas. Most people here seem to prefer a native approach. I mean, that's why we use D, otherwise we could use Java, JavaScript, Python, Ruby or something similar.

> I am simply not convinced that DWT will take off (much as I
> appreciate the work that has been put into it), because I remember the
> huge effort it took SWT/JFace developers, although they were supported
> by a large community and a big company.

The positive thing is that they already done most of the work. We just need to port it.

> Also, it seems a bit absurd that
> we have a good compilable cross-platform language like D and cannot
> fully use it as such due to GUI issues.

That I can agree with.

-- 
/Jacob Carlborg
« First   ‹ Prev
1 2 3 4