September 04, 2015
On Friday, 4 September 2015 at 00:11:02 UTC, Nick Sabalausky wrote:
> On 09/03/2015 01:51 PM, motaito wrote:
>>
>> Yeah, it's a shame that the mono framework does not support WPF.

> I thought Mono did support that. Like in GitExtentions which runs fine on Linux (well, aside from frequent crashing). Or is WPF different from "win forms"?

Yes, it's totally different. WinForms is based on good old WinAPI with classical windows, dialogs, controls and GDI for drawing. WPF is based on a new engine over DirectX with lots of vector graphics, transformations and effects, everything GPU-accelerated. They remade everything - windows, controls and layouts are described declaratively in XAML format (XML-based), then everything is rendered with that new engine, even text is drawn differently (and in first versions looked differently). Mono never had and probably will never have WPF because this DirectX-based rendering engine is too hard to port.
September 04, 2015
On Friday, 4 September 2015 at 03:36:37 UTC, Shannon wrote:
> Anyway, though I have so enjoyed the huge part of Qt that is non-gui, and especially their model/view components where I can do all my model manipulation behind the scenes and practically hot-swap or connect multiple views to a model.

I have rarely a need for non-gui apps myself. Maybe I have been looking at D with wrong expectations to begin with. QT has some nifty tools :) I have to admit that I became lazi with gui modeling, after having spent lots of time using c#. With WPF you practically get sorting and filtering of tables for free. I have come to really like the MVVM pattern with WPF. It is very convenient.

> And I've found a novel way to relatively easily hook up thin Qt graphical interfaces on top of the commandline app that interacts with JSON via stdin/stdout as it does on servers.

That sound very interesting!

> So, best of both worlds.  The D implementation is generally easier/more enjoyable for the actual guts of the tool, and I get a perfectly slick Qt user interface.

That's exactly was I was hoping for with D. Maybe I should try to give your approach a try.

> sorry, this is already too long.  I mean to open up and example repo/wiki with that pattern. RSN (Real Soon Now)

If you have the time, please to so!
September 04, 2015
On Thursday, 3 September 2015 at 15:15:47 UTC, motaito wrote:
>
> Thanks for the details! I was afraid, of something like this. To me D doesn't seam very competitive without a complete toolset :( Given that D has been around for a while now I am somewhat surprised it's not further along. I know it's a lot of work and not easy to do but clearly there has been a need for this for many years now. The resources I found were several years old (not including that they must have been working on it for a while before abandoning the project). It will be hard to compete with something like QT.
>
> I was hoping for a cross platform solution that would deliver good performance without the complexity of c/c++. But if there is no built in solution QT seams a better option. I wanted to avoid QT because of the added complexity and the QT-windows tend to lag on a windows platform. This may go away with updates and bugfixes though.
>
> Anyway, I hope you will be successful with alphaPhobos. I think D needs it, so don't abandon it! I will keep an eye out and check again in about a year or so. But for now I have to rethink whether to use D or not.
>
> Out of curiosity, why do you think that I wouldn't want a Phobos solution? Wouldn't an integrated solution be better? I would not have to maintain a build of an external third party project, that may or may not be abandoned in the future, not knowing whether there will be updates, bugfixes or missing features to be added. It seams like quite a bit extra management for my project if I have to keep a third party project up to date and may need to adjust my code due to an update in an external project.

Don't give up yet. I've learned that a D GUI is not so important. There is a plethora of platforms and devices (mobile phones, tablets, PCs etc etc), so it's better not to get married to one particular UI. Keep your program GUI-agnostic and then you can connect it to any GUI you want. And D is easy to connect to: C(++), Lua (LuaD) and Python (PyD).

With D you can concentrate on the program, the GUI could be anything. E.g. look at how the DCD/Dscanner plug-in works with Textadept and other editors.

https://github.com/Hackerpilot/DCD/wiki/IDEs-and-Editors-with-DCD-support
September 04, 2015
On Friday, 4 September 2015 at 09:12:23 UTC, Chris wrote:
> Don't give up yet. I've learned that a D GUI is not so important. There is a plethora of platforms and devices (mobile phones, tablets, PCs etc etc), so it's better not to get married to one particular UI. Keep your program GUI-agnostic and then you can connect it to any GUI you want. And D is easy to connect to: C(++), Lua (LuaD) and Python (PyD).
>
> With D you can concentrate on the program, the GUI could be anything. E.g. look at how the DCD/Dscanner plug-in works with Textadept and other editors.
>
> https://github.com/Hackerpilot/DCD/wiki/IDEs-and-Editors-with-DCD-support

At first I thought, yes your right. But on second thought that kind of brings me back to the initial question. I would prefer an integrated solution, so I don't have the hustle with dependencies. With your approach, I also have to maintain a dependency. E.g. if I choose PyD I also need to distribute it to the end user. I am not even sure, if I would also need to have python as separate dependency or if it's included in PyD. Either way while python may be common on Linux, it is not a standard on Windows. I have the same problem with something like GtkD. The Gtk Framework is common on Linux but not on windows. I don't have such issues with QT. There I have all in one package. All I have to do is include the required dll's. QT is also very common in many Linux distributions. So, I can just compile and give it to anyone who is interested without the hustle of more dependencies. BSD is certainly the most difficult to find a solution. Such a great OS so little support. But they too have QT. I was hoping to basically use QT with D instead of C++. Shannon made a post with an interesting approach. I think I will look more into that first. But thanks for the tip!
September 04, 2015
On 2015-09-04 15:23, motaito wrote:

> BSD is certainly the most difficult to find a solution.

I tried compiling DWT on PC-BSD and it compile just if I remove one check for Linux. Although it doesn't link because I haven't managed to install the necessary libraries yet.

-- 
/Jacob Carlborg
September 04, 2015
On Friday, 4 September 2015 at 13:23:47 UTC, motaito wrote:
> On Friday, 4 September 2015 at 09:12:23 UTC, Chris wrote:
>> Don't give up yet. I've learned that a D GUI is not so important. There is a plethora of platforms and devices (mobile phones, tablets, PCs etc etc), so it's better not to get married to one particular UI. Keep your program GUI-agnostic and then you can connect it to any GUI you want. And D is easy to connect to: C(++), Lua (LuaD) and Python (PyD).
>>
>> With D you can concentrate on the program, the GUI could be anything. E.g. look at how the DCD/Dscanner plug-in works with Textadept and other editors.
>>
>> https://github.com/Hackerpilot/DCD/wiki/IDEs-and-Editors-with-DCD-support
>
> At first I thought, yes your right. But on second thought that kind of brings me back to the initial question. I would prefer an integrated solution, so I don't have the hustle with dependencies. With your approach, I also have to maintain a dependency. E.g. if I choose PyD I also need to distribute it to the end user. I am not even sure, if I would also need to have python as separate dependency or if it's included in PyD. Either way while python may be common on Linux, it is not a standard on Windows. I have the same problem with something like GtkD. The Gtk Framework is common on Linux but not on windows. I don't have such issues with QT. There I have all in one package. All I have to do is include the required dll's. QT is also very common in many Linux distributions. So, I can just compile and give it to anyone who is interested without the hustle of more dependencies. BSD is certainly the most difficult to find a solution. Such a great OS so little support. But they too have QT. I was hoping to basically use QT with D instead of C++. Shannon made a post with an interesting approach. I think I will look more into that first. But thanks for the tip!

I see what you mean. As far as I know, the libraries (PyD, LuaD etc.) would be in the static build of the executable, so you wouldn't have to "distribute" them, only Python or Lua. But that's no problem either, just include lua5.x.so/dll. Please guys, correct me, if I'm wrong here, I don't wanna give motaito any wrong information.

This said, the GUI should only be a very very thin layer on top of your actual program, regardless. What if your users say that they want a different GUI (Mac users for example, they don't accept anything that is a bit different), or the D-GUI doesn't work on a given OS for some reason, or a new GUI is introduced with a new OS. That's why I said that your program should never get married to a specific GUI.
September 05, 2015
On Friday, 4 September 2015 at 15:03:59 UTC, Chris wrote:
> I see what you mean. As far as I know, the libraries (PyD, LuaD etc.) would be in the static build of the executable, so you wouldn't have to "distribute" them, only Python or Lua. But that's no problem either, just include lua5.x.so/dll. Please guys, correct me, if I'm wrong here, I don't wanna give motaito any wrong information.

I'll just try it and see if it works. If I can simply include the .so/dll I guess it would work well enough. It's more of a hustle if e.g. python has to be installed by the user.
September 05, 2015
On Friday, 4 September 2015 at 14:47:47 UTC, Jacob Carlborg wrote:
> On 2015-09-04 15:23, motaito wrote:
>
>> BSD is certainly the most difficult to find a solution.
>
> I tried compiling DWT on PC-BSD and it compile just if I remove one check for Linux. Although it doesn't link because I haven't managed to install the necessary libraries yet.

Glad to see someone giving an effort for BSD. It would be awesome to have more developers keeping it in mind.
September 05, 2015
On 2015-09-05 13:41, motaito wrote:

> Glad to see someone giving an effort for BSD. It would be awesome to
> have more developers keeping it in mind.

It links now when I manged to install all the dependencies, but it doesn't run :(. Segfaults for some reason, I haven't looked in to it.

-- 
/Jacob Carlborg
September 05, 2015
On Saturday, 5 September 2015 at 19:13:12 UTC, Jacob Carlborg wrote:
> It links now when I manged to install all the dependencies, but it doesn't run :(. Segfaults for some reason, I haven't looked in to it.

Bummer... However, I appreciate that you are giving it a shot!

But you see my point. An out of the box solution like QT would be worth gold. That's the one thing Microsoft got right. They have awesome developer tools. Or in the words of Steve Ballmer: "Developers! Developers! Developers!" :)

Instead of loosing time you could just focus on building some software. Imagine D would have a kick ass IDE like visual studio but cross platform like QT. Productivity, efficiency and performance in one. Too bad D doesn't have the option for paid developers to create something like this. It's just too much work for your spare time. So, it's unlikely to happen any time soon :(

Still, I very much appreciate people like Rikki Cattermole who builds a base to work of for others. The problem is for a few individuals that just takes a long time to complete.