Jump to page: 1 2 3
Thread overview
How to proceed with learning to code Windows desktop applications?
Jan 29, 2018
I Lindström
Jan 29, 2018
welkam
Jan 30, 2018
rikki cattermole
Jan 30, 2018
thedeemon
Jan 30, 2018
rikki cattermole
Jan 30, 2018
Patrick Schluter
Jan 30, 2018
Kagamin
Jan 30, 2018
DanielG
Jan 30, 2018
rjframe
Jan 30, 2018
I Lindström
Jan 31, 2018
thedeemon
Jan 31, 2018
Arredondo
Feb 01, 2018
I Lindström
Aug 11, 2018
I Lindström
Jan 30, 2018
I Lindström
Jan 30, 2018
aberba
Jan 30, 2018
Guillaume Piolat
Jan 30, 2018
Kagamin
Jan 30, 2018
Andre Pany
Jan 31, 2018
rumbu
Jan 31, 2018
John Chapman
Jan 31, 2018
DanielG
January 29, 2018
Hello all!

I've been doing console apps for about a year and a half now, but my requirements are reaching the limits of easy to use with ASCII-based UI and typed commands so I'm thinking of moving into GUI-era with my projects. I was wondering if some one could help me into the right direction. I've been Googling a ton these past few days for some kind of a book or a course on how to code desktop applications for Windows, but either there isn't one, or it's very well hidden. I've found bits and pieces but nothing to give me a coherent approach.

The other way I've been thinking is to do the thing browser-based, but for some reason that doesn't feel right.
January 29, 2018
On Monday, 29 January 2018 at 22:55:12 UTC, I Lindström wrote:
>
> The other way I've been thinking is to do the thing browser-based, but for some reason that doesn't feel right.

Well it didnt felt wrong for Microsoft to use modified internet explorer to make calculator. You can read more on universal windows apps and XAML

To learn GUI development first find GUI framework like GTK, QT etc. then watch and/or read tutorials on how to use them. For D language a list of libraries could be found here
https://wiki.dlang.org/GUI_Libraries
January 30, 2018
On 29/01/2018 11:56 PM, welkam wrote:
> On Monday, 29 January 2018 at 22:55:12 UTC, I Lindström wrote:
>>
>> The other way I've been thinking is to do the thing browser-based, but for some reason that doesn't feel right.
> 
> Well it didnt felt wrong for Microsoft to use modified internet explorer to make calculator. You can read more on universal windows apps and XAML
> 
> To learn GUI development first find GUI framework like GTK, QT etc. then watch and/or read tutorials on how to use them. For D language a list of libraries could be found here
> https://wiki.dlang.org/GUI_Libraries

But since Windows is the only platform mentioned or desired for, everything you need is in WinAPI!
January 30, 2018
On Tuesday, 30 January 2018 at 03:07:38 UTC, rikki cattermole wrote:

> But since Windows is the only platform mentioned or desired for, everything you need is in WinAPI!

It's like saying "everything you need is assembly language" when talking about languages and compilers. Pure WinAPI is a cruel advice for a novice.

January 30, 2018
There are far too many options for Windows GUI programming, so we probably need a bit more information about any constraints that are important to you.

For example:

- do you specifically want something that works well with D? or are you open to other languages?

- are you just wanting to learn desktop programming in general? (Like the concepts involved) Or do you have a specific thing you want to create?

I would personally suggest Delphi to somebody who wants to write Windows desktop apps and learn about event-driven development, howeverrr the language (Object Pascal) is insufferably archaic compared to something like D. But it is definitely the cleanest, least-overwhelming method of writing native Win32 applications for somebody with no prior experience.

Then there's all the modern Microsoft stuff (WPF/XAML/WinRT/etc), but you pretty much have to use either .NET or C++ for that.
January 30, 2018
On 30/01/2018 5:47 AM, thedeemon wrote:
> On Tuesday, 30 January 2018 at 03:07:38 UTC, rikki cattermole wrote:
> 
>> But since Windows is the only platform mentioned or desired for, everything you need is in WinAPI!
> 
> It's like saying "everything you need is assembly language" when talking about languages and compilers. Pure WinAPI is a cruel advice for a novice.
> 

There are libraries such as[0], so it isn't cruel, but it is something worth while at least to look into for someone who might be interested in it, but doesn't know where to begin.

[0] https://bitbucket.org/dgui/dgui
January 30, 2018
On Tuesday, 30 January 2018 at 06:25:52 UTC, rikki cattermole wrote:
> On 30/01/2018 5:47 AM, thedeemon wrote:
>> On Tuesday, 30 January 2018 at 03:07:38 UTC, rikki cattermole wrote:
>> 
>>> But since Windows is the only platform mentioned or desired for, everything you need is in WinAPI!
>> 
>> It's like saying "everything you need is assembly language" when talking about languages and compilers. Pure WinAPI is a cruel advice for a novice.
>> 
>
> There are libraries such as[0], so it isn't cruel, but it is something worth while at least to look into for someone who might be interested in it, but doesn't know where to begin.
>
> [0] https://bitbucket.org/dgui/dgui

There's also DWT which has the advantage of being portable.
January 30, 2018
On Tue, 30 Jan 2018 05:56:51 +0000, DanielG wrote:

> Then there's all the modern Microsoft stuff (WPF/XAML/WinRT/etc), but you pretty much have to use either .NET or C++ for that.

VS release builds compile to native now by default; for easy Windows programming, you really can't beat C# and drawing the GUI (Windows Forms, not necessarily the new stuff). If the OP wants to learn what's needed for more complex GUI tasks (like for most non-simple applications), learning to build a GUI from source is kind of necessary though.

If/when .NET Core becomes something people can rely on and are willing to try, I think we'll see more people using C# outside the enterprise; you get easy when you want it, power when you need it, native code generation on Windows, and OS portability.
January 30, 2018
On Monday, 29 January 2018 at 22:55:12 UTC, I Lindström wrote:
> The other way I've been thinking is to do the thing browser-based, but for some reason that doesn't feel right.

Ironically the trick for native programming is to depend on the OS as less as possible, with a small "API surface".
January 30, 2018
On Tuesday, 30 January 2018 at 05:47:11 UTC, thedeemon wrote:
> It's like saying "everything you need is assembly language" when talking about languages and compilers. Pure WinAPI is a cruel advice for a novice.

He's not a novice: he wrote console applications that pushed through complexity limit. Writing complex GUI application in winapi is cruel, but for hello world it's fine and gives good understanding of principles. To use GUI frameworks one must understand both underlying principles and abstractions rolled on top of them.
« First   ‹ Prev
1 2 3