digitalmars.D.learn - Recommend: IDE and GUI library
- XavierAP (17/17) Feb 24 2017 Hi I've looked at wiki.dlang.org/IDEs, and I see that Visual D is
- Moritz Maxeiner (27/41) Feb 24 2017 I use Visual Studio Code on Linux and macOS, not sure how the
- evilrat (4/6) Feb 24 2017 Windows is fine, can also debug mscoff x86 or x64 projects with
- Jacob Carlborg (7/9) Feb 25 2017 There's no de factor library for creating GUIs in D. If you want a
- XavierAP (6/10) Feb 25 2017 It's not GUI projects that I would plan to work on, just
- Moritz Maxeiner (11/15) Feb 25 2017 Well, if you use dqml you can use the official QML designer "Qt
- thedeemon (7/12) Feb 27 2017 I don't think there is anything dominant, different people tend
- XavierAP (7/11) Mar 01 2017 I'm trying now DlangUI on Visual D. I'm getting different errors
- thedeemon (13/15) Mar 01 2017 If you're building your app with VisualD (as opposed to invoking
- XavierAP (34/41) Mar 01 2017 Thanks. With dub everything works straight forward. I just call
- evilrat (2/5) Mar 01 2017 TortoiseGIT maybe?
- Patrick Schluter (8/15) Mar 01 2017 Here [1] is the official git page listing all GUI clients for
- XavierAP (6/11) Mar 25 2017 Patrick thanks for the great recommendation! I'm using
- thedeemon (13/15) Mar 01 2017 The way I did on Windows:
- aberba (16/33) Mar 01 2017 Gtkd is obviously defacto for Linux ONLY, dlangui for cross
- Soulsbane (3/20) Mar 25 2017 I second this. I've been playing with this recently and it's
Hi I've looked at wiki.dlang.org/IDEs, and I see that Visual D is linked from dlang.org/download.html. Still I was looking for personal opinions and experiences beyond hard specs, I wonder if one of the IDEs is already dominant at least for each OS for any good reason. My requirements are quite ordinary: make x64, debug, go to definition, manage projects, code completion. My platform is Windows; interested if the choice would be different for Linux, if the same nice, otherwise I'd prefer to use whatever is best on each OS. And second question, is DWT the de facto standard for creating GUIs? Or are there good competitors. Sorry if I'm asking something too obvious, though I've looked around for answers before. And I've also searched the forum but really equivalent questions were over 2 years old and many things may have changed. Thanks!
Feb 24 2017
On Friday, 24 February 2017 at 22:44:55 UTC, XavierAP wrote:Hi I've looked at wiki.dlang.org/IDEs, and I see that Visual D is linked from dlang.org/download.html. Still I was looking for personal opinions and experiences beyond hard specs, I wonder if one of the IDEs is already dominant at least for each OS for any good reason. My requirements are quite ordinary: make x64, debug, go to definition, manage projects, code completion. My platform is Windows; interested if the choice would be different for Linux, if the same nice, otherwise I'd prefer to use whatever is best on each OS.I use Visual Studio Code on Linux and macOS, not sure how the experience on Windows is, but I'd expect it to be the same. With the dlang extension[1], the usual development tools dcd, dfmt, dscanner, dfix (see code.dlang.org for these), and the native debug extension[2] all your requirements are covered. After the setup everything has been working smoothly and I'm very happy with it. The *only* little gripe about it is that Visual Studio Code uses the Electron framework and drains about 10-20% more power than e.g. neovim, though the comparison is apples vs oranges.And second question, is DWT the de facto standard for creating GUIs? Or are there good competitors.AFAIK there is no standard in creating GUIs with D. I suppose if any one of them has what it takes to take that position in the future it'd be dlangui[3], but considering the issue tracker and the manpower available that'll likely still take a while. In the meantime I personally use dqml[4] (QtQuick 2.0 bindings) since I like MVC, and this allows me to write application logic and model in D, visual in QML, and controller in JS (and this also allows me to swap out the application core without changing a single line in the QML or JS).Sorry if I'm asking something too obvious, though I've looked around for answers before.If it's obvious, I missed it myself; I pretty much tried out all the GUI/TUI things on code.dlang.org until I found something I liked. [1] https://github.com/dlang-vscode/dlang-vscode [2] https://github.com/WebFreak001/code-debug [3] https://github.com/buggins/dlangui [4] https://github.com/filcuc/dqml
Feb 24 2017
On Saturday, 25 February 2017 at 00:45:24 UTC, Moritz Maxeiner wrote:I use Visual Studio Code on Linux and macOS, not sure how the experience on Windows is, but I'd expect it to be the same.Windows is fine, can also debug mscoff x86 or x64 projects with MS 'cpptools' plugin that has visual studio debugger for C++
Feb 24 2017
On 2017-02-24 23:44, XavierAP wrote:And second question, is DWT the de facto standard for creating GUIs? Or are there good competitors.There's no de factor library for creating GUIs in D. If you want a native look and feel, DWT is a good option. If you want the application to look the same on all platforms, there might be other better suited alternatives. -- /Jacob Carlborg
Feb 25 2017
On Saturday, 25 February 2017 at 20:03:17 UTC, Jacob Carlborg wrote:There's no de factor library for creating GUIs in D. If you want a native look and feel, DWT is a good option. If you want the application to look the same on all platforms, there might be other better suited alternatives.It's not GUI projects that I would plan to work on, just something easy with basic functionality that I can use for my own utilities or test clients for libraries. And if there's anything with any kind of designer support (in which IDE)...
Feb 25 2017
On Saturday, 25 February 2017 at 21:26:32 UTC, XavierAP wrote:It's not GUI projects that I would plan to work on, just something easy with basic functionality that I can use for my own utilities or test clients for libraries. And if there's anything with any kind of designer support (in which IDE)...Well, if you use dqml you can use the official QML designer "Qt Quick Designer"[1]. You can also use GtkD[2], which supports loading[3] Glade[4] files. [1] http://doc.qt.io/qtcreator/creator-using-qt-quick-designer.html [2] https://github.com/gtkd-developers/GtkD [3] https://github.com/gtkd-developers/GtkD/blob/master/demos/builder/builderTest.d [4] https://glade.gnome.org/
Feb 25 2017
On Friday, 24 February 2017 at 22:44:55 UTC, XavierAP wrote:Hi I've looked at wiki.dlang.org/IDEs, and I see that Visual D is linked from dlang.org/download.html. Still I was looking for personal opinions and experiences beyond hard specs, I wonder if one of the IDEs is already dominant at least for each OS for any good reason.I don't think there is anything dominant, different people tend to make different choices. For me Visual-D served well for years, and for GUI on Windows I've used DFL successfully (quite nice lib, very WinForms-like, with a visual editor) and now mostly use DLangUI (on both Windows and Linux).
Feb 27 2017
On Tuesday, 28 February 2017 at 06:16:08 UTC, thedeemon wrote:For me Visual-D served well for years, and for GUI on Windows I've used DFL successfully (quite nice lib, very WinForms-like, with a visual editor) and now mostly use DLangUI (on both Windows and Linux).I'm trying now DlangUI on Visual D. I'm getting different errors from missing Derelict library dependencies... I see at github.com these are "subrepos" but after cloning the subrepo directories are still empty. Sorry this is my first time using Git/GitHub (used Mercurial and TortoiseHg at work, which I think would have cloned the subrepos without additional action). What am I missing?
Mar 01 2017
On Wednesday, 1 March 2017 at 17:37:02 UTC, XavierAP wrote:I'm trying now DlangUI on Visual D. I'm getting different errors from missing Derelict library dependencies...If you're building your app with VisualD (as opposed to invoking dub externally), make sure you've set up import paths in project settings properly. Two paths must be there: one like C:\Users\...\AppData\Roaming\dub\packages\dlangui-0.9.46\dlangui\src\ and the other like C:\Users\...\AppData\Roaming\dub\packages\dlangui-0.9.46\dlangui\3rdparty\ and in linker tab of project settings make sure you link to the dlangui.lib you should have built beforehand. Also, if you use "minimal" configuration of DLangUI (which I recommend) you can remove mentions of SDL and GL from its dependencies in its dub.json, this way there are less things for compiler and VisualD to look for.
Mar 01 2017
On Wednesday, 1 March 2017 at 20:00:32 UTC, thedeemon wrote:If you're building your app with VisualD (as opposed to invoking dub externally), make sure you've set up import paths in project settings properly.Thanks. With dub everything works straight forward. I just call it blindly since it's the first time I use dub and I'm not sure everything it's supposed to do. Still I want to be able to be able to work and debug from Visual Studio. For this I found out how to clone the dependencies, sorry about that... (Only from the command line... Anyone recommends better free Windows Git gui clients than GitHub Desktop?) Import paths seem correctly setup in the project files from the repo, as I would expect. And once the dependency code is in its place it does build, both the library and the example applications. The problem I was having after all this was a runtime exception, but it happens only on 32-bit. Switching to 64-bit building and debugging works out of the box (after having cloned the subrepos). Here I have no idea if I have a drive issue, in any case 64-bit is enough for me. BTW the exception is: "derelict.util.exception.SymbolLoadException Failed to load OpenGL symbol [glEnableClientStateiEXT] "Also, if you use "minimal" configuration of DLangUI (which I recommend) you can remove mentions of SDL and GL from its dependencies in its dub.json, this way there are less things for compiler and VisualD to look for.I understand that in order to do this from Visual Studio, according to the instructions at github.com/buggins/dlangui, I should use configurations DebugMinimal instead of Debug, etc. But these configurations are not defined; I wonder if this documentation is out of sync with the current code. Otherwise I also though OpenGL wouldn't be used unless the version identifier USE_OPENGL was defined, but apparently it is not in VS as far as I can see? So in the end I'm not very sure whether OpenGL is kicking in in 64-bit when it works, or in general how to disable it (from Visual Studio instead of dub) -- or what are the consequences for performance or whatever. For now I can work like this and if I have additional problems that prevent me from advancing I will research it further... Thanks also aberba and everyone.
Mar 01 2017
On Wednesday, 1 March 2017 at 23:44:47 UTC, XavierAP wrote:For this I found out how to clone the dependencies, sorry about that... (Only from the command line... Anyone recommends better free Windows Git gui clients than GitHub Desktop?)TortoiseGIT maybe?
Mar 01 2017
On Wednesday, 1 March 2017 at 23:44:47 UTC, XavierAP wrote:On Wednesday, 1 March 2017 at 20:00:32 UTC, thedeemon wrote: For this I found out how to clone the dependencies, sorry about that... (Only from the command line... Anyone recommends better free Windows Git gui clients than GitHub Desktop?) Import paths seem correctly setup in the project files from the repo, as I would expect. And once the dependency code is in its place it does build, both the library and the example applications.Here [1] is the official git page listing all GUI clients for different plartforms. I use GitExtensions[2] and I like it a lot. It works very well and all the complicated stuff can be done from the GUI interface and also from command line. [1]=https://git-scm.com/download/gui/win [2]=https://gitextensions.github.io/
Mar 01 2017
On Thursday, 2 March 2017 at 06:16:09 UTC, Patrick Schluter wrote:Here [1] is the official git page listing all GUI clients for different plartforms. I use GitExtensions[2] and I like it a lot. It works very well and all the complicated stuff can be done from the GUI interface and also from command line.Patrick thanks for the great recommendation! I'm using GitExtensions now on Windows. In comparison I wonder how GitHub's desktop client is even allowed on the Internet. For Linux (Lubuntu) any recommendation among these? https://git-scm.com/download/gui/linux
Mar 25 2017
On Wednesday, 1 March 2017 at 23:44:47 UTC, XavierAP wrote:Still I want to be able to be able to work and debug from Visual Studio.The way I did on Windows: 1) get dlangui via dub 2) go to its folder in AppData\roaming\dub\packages and edit dub.json: * find "minimal" configuration * add "USE_WIN32" to "versions-windows", * remove mentions of "derelict-sdl2" and "derelict-gl3" from "dependencies" * remove "ForceLogs" from "versions" (just to avoid logspamming) 3) run "dub build --build=release --config=minimal" 4) use the result .lib file from my VisualD project This way no dependency on OpenGL which causes problems for you.
Mar 01 2017
On Friday, 24 February 2017 at 22:44:55 UTC, XavierAP wrote:Hi I've looked at wiki.dlang.org/IDEs, and I see that Visual D is linked from dlang.org/download.html. Still I was looking for personal opinions and experiences beyond hard specs, I wonder if one of the IDEs is already dominant at least for each OS for any good reason. My requirements are quite ordinary: make x64, debug, go to definition, manage projects, code completion. My platform is Windows; interested if the choice would be different for Linux, if the same nice, otherwise I'd prefer to use whatever is best on each OS. And second question, is DWT the de facto standard for creating GUIs? Or are there good competitors. Sorry if I'm asking something too obvious, though I've looked around for answers before. And I've also searched the forum but really equivalent questions were over 2 years old and many things may have changed. Thanks!Gtkd is obviously defacto for Linux ONLY, dlangui for cross platform app without native feel. But if you want something easy and flexible with native look and feel on all platforms, well tested, use LibUI (http://code.dlang.org/packages/libuid). Look inside the "examples" folder in their Github repository to see example usage. More like: auto hbox = new Box(false).setPadded(1); vbox.append(hbox); hbox.append(new Button("Button")) .append(new Checkbox("Checkbox")) ... Examples: https://github.com/mogud/libuid/blob/master/examples/example1.d https://github.com/mogud/libuid/blob/master/examples/example2.d
Mar 01 2017
On Wednesday, 1 March 2017 at 20:23:57 UTC, aberba wrote:On Friday, 24 February 2017 at 22:44:55 UTC, XavierAP wrote:I second this. I've been playing with this recently and it's really easy to use.[...]Gtkd is obviously defacto for Linux ONLY, dlangui for cross platform app without native feel. But if you want something easy and flexible with native look and feel on all platforms, well tested, use LibUI (http://code.dlang.org/packages/libuid). Look inside the "examples" folder in their Github repository to see example usage. More like: auto hbox = new Box(false).setPadded(1); vbox.append(hbox); hbox.append(new Button("Button")) .append(new Checkbox("Checkbox")) ... Examples: https://github.com/mogud/libuid/blob/master/examples/example1.d https://github.com/mogud/libuid/blob/master/examples/example2.d
Mar 25 2017