What inexpensive tools have you used to develop lightweight Windows GUI apps (that you would use again) [closed]
Asked Answered
Z

10

21

By lightweight apps, I mean the toolset can create a single executable file or set of files that can be copied into a folder and run as an EXE with no other installation process.

Of particular interest:

  • What's the programming language
  • what versions of Windows are supported
  • is there interactive debugging
  • are there GUI layout/design tools
  • other notable features and limitations
Zoon answered 26/2, 2009 at 6:38 Comment(5)
Just added AutoIt3.exe as a response to your commentIntussusception
Just added AutohotKey comment as a complement to my answerIntussusception
Most windows PCs these days have at least .Net 2.0 runtime, so I wouldn't really regard this as much of a hurdle or external dependency. It's as much a dependency as relying on Windows itself. Sure Win2000 machines might not have it, but that is a 10 year old OSPrudery
@csjohnst, I would really like to be able to rely on .NET 2.0 being on every windows PC but I have not found this to be the case. I deal with many non-technical users and it is always easier if I don't need to install some scary "Framework" on their PC, just to run my little app.Zoon
... And just added Autoit debug tools links, in answer to your commandIntussusception
I
8

For quick prototyping, Autoit is a viable option (but it is a scripting language though).

https://static.mcmap.net/file/mcmap/ZG-Ab5ovK1c1cw2hc7-vZ7-xW1IpbG3QWRft/images/gui_eg1.png

Combined with Scite as an Editor, and autoit to exe capability (AutoIt3.exe in Scite and Autoit3Wrapper.exe to actually produce exe), you have a full GUI development environment.


AutohotKey is an alternative, but based on old AutoitV2.

Still, you can execute AutohotKey scripts from Autoit ;)

Run("c:\Program Files\Autohotkey\Autohotkey.exe c:\scripts\devicesset.ahk")

While interactive debugging is not natively supported, they are (2008, but in 2014: was?) several debugging tools to facilitate the debug process. (from this ticket)

https://static.mcmap.net/file/mcmap/ZG-Ab5ovK1c1cw2hc7-vZ7-xW1IpbG3QWRft/forum/uploads/monthly_01_2008/post-3602-1199735240.png

Update 2014: the "AutoEditDebugger" might not be supported:

EDIT October 2009: NB This script has not been maintained since some time in 2008. Due to some problem with the editor it crashes in Vista.

Intussusception answered 26/2, 2009 at 6:44 Comment(4)
Does it compile the runtime into the output .exe?Shull
@VonC, I've actually used Autohotkey for key macros, shortcuts etc and know it can do basic GUI. It's just the actual language is rather "fiddly" and I find it a bit hard to debug. I'll check out Scite to see if it supports Autohotkey too, thanks.Zoon
Thanks for the extra info. I'm going to compare AutoIt and AutoHotkey. If I can interactively debug AutoIt script, that might be exactly what I'm looking for.Zoon
@VonC, You deserve a few extra votes for the updates you've made to this answer!Zoon
D
5

Delphi is definitely a good way to go. There is a free version called Turbo Delphi. The version available is a couple of years old, so it's a shame they haven't release Turbo versions of the new stuff.

There are also trials available of the full fledged RAD Studio, but I don't think that's what you're looking for.

Declinate answered 26/2, 2009 at 6:53 Comment(3)
Looks promising, thanks. Have you used it yourself? Also, how does it compare to Turbo C++ and Turbo Ruby, which is best for rapid GUI development?Zoon
I haven't used the Turbo version so couldn't comment on it. Delphi itself is a quick and easy way to develop although it has some quirks. I prefer C# personally. Haven't tried Turbo C++ or Ruby.Declinate
@Ash, Delphi is best in GUI Development also it's the most readable code you can write in any language, which is easier than other in maintenance if you leave it for long time. aslo Turbo C++ has the same Rad way as Delphi, because it's uses the same VCL framework. but I prefer to code in Delphi.Chavers
C
4

You can Get Turbo Delphi and Turbo C++ Builder explorer editions for free, and you can develop with them native application that you can have only .exe file without any dependencies on any windows version from (win98 to win7), both of them include more than 200 components, and you can use more (without installing to IDE that the only restriction), and you develop with them free and commercial software.

Delphi is the most RAD(Rapid Application Development) IDE that you can use to produce windows application in very easy and efficient way, you get fast developing application with fast execution time compared to speed of C++.

Another option to use Lazarus IDE, which based on FreePascal compiler, so you can have your application running on windows/linux/MacOS/Unix and more.

Chavers answered 26/2, 2009 at 7:8 Comment(1)
Thanks, Ray also mentions this. I'm a .NET developer primarily but I worked for a while on a migration at a Delphi company. I agree that the Dektop RAD tools Delphi provides are very powerful and probably quicker then WindowsForms etc.Zoon
U
4

Visual C++ Express + WTL. Both are free. WTL is a relatively good(1) windowing library. No wizards, though, and you have to have good understanding of the Win32 windowing system.

You can also use Visual C# Express along with Mono to build WinForms app. While the end result is not technically a standalone executable and requires a framework, Mono dlls can be distributed along your exe (2), so you can just have a single folder for xcopy deployment. (And I think on Windows with .Net installed, your exe will be run on .Net automatically)

  • (1) I am spoiled by WPF. :-)
  • (2) Read on the intertubes. I have not personally tried it, though.
Unproductive answered 26/2, 2009 at 7:15 Comment(2)
I appreciate the WTL link, I hadn't heard of it. I already have full VS2008 so I would use that instead of the Express version. The mono suggestion is interesting, I wonder if it would work on a Windows machine without any .NET Framework (ie just using the XCopied mono dlls).Zoon
That's what various people claimed on the internet - that you can just copy the Mon dlls side-by-side with your app and it'll run just fine on machines with no .Net. I have no such machine :-), and I have no tried this scenario, though.Unproductive
T
4

Perhaps not an option given your statement regarding C++, but if you are developing an open source / free application then Qt is a very nice GUI toolkit with designer.

Also, wxWidgets is a very functional toolkit that will allow you to deploy a single exe, although the best GUI designers are not free.

Tricycle answered 26/2, 2009 at 7:51 Comment(3)
Qt 4.5 will be LGPL, so it will be able to be used for closed-source development at no cost.Gertrudegertrudis
You can also use Qt and wx from a whole bunch of other languagesFlask
this requires QT to be installed in client machine no?Chrestomathy
K
1

You should use Digital Mars C/C++ in pure C and program with GDI32 functions of WIN32 API (Just #include ). Don't forget to link your binary object executable with gdi32.lib.

Kaolack answered 26/2, 2009 at 6:38 Comment(0)
B
1

Maybe D is an option? A friend of mine blogged about a GUI Designer for D here and I believe that the resulting executable has no dependencies.

Belvia answered 26/2, 2009 at 7:7 Comment(0)
H
1

Just use VS.NET with C and Win32 api.

No runtime needed of course, as the CRT is native.

Heddi answered 26/2, 2009 at 13:25 Comment(0)
T
0

Check out Microsoft's Express editions of their developer tools.

Tullis answered 26/2, 2009 at 6:40 Comment(3)
VC++ Express in particular, since, after all, C# et al require the .NET runtime. Which is something he already discounted. This answer doesn't provide anything new as far as I can tell.Decant
Yes, .NET is not an option and I explained why C++ is not ideal.Zoon
My bad, missed the reference to external runtime or libs. Devin, thanks for the great subjective assessment. ;-)Tullis
E
0

If you're doing very simple applications, AutoIt might be an option as it requires no runtime files and its executables will even run on WinPE. It's a bit primitive though and not exactly object-oriented. It works a bit like the old VB. It is, however, free and easy to learn and apart from something like NSIS (NullSoft Install System) there aren't many free, standalone GUI creators.

Edva answered 26/2, 2009 at 6:50 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.