View Full Version : Easy way to write a GUI for a n00b ?
TaZ4hvn
19th June 2003, 22:53
As the title says: I'd like to write a GUI for my app but I don't have the slightest clue about how to do it. A search on google did confuse me a bit more. I'm not a programmer (I'm ok to learn but not too much simulteanously) so can you advice some easy methods and comments what the pros and cons of it ?
Thanx.
zulu
20th June 2003, 10:43
Not that i like this language, but the easiest way for a newbie would probably be vb.
If you don't mind to rely on the .net framework (everyone here will jump on you ;)) you can create your GUI using C# or vb.net.
These lanuages are free and a free IDE can ne found here -> SharpDevelop (http://www.icsharpcode.net/OpenSource/SD/Default.aspx).
regards,
zulu
TaZ4hvn
20th June 2003, 12:07
Thanks zulu, you're right I fear to use .net framework, not because I don't like it, as *much* ppl here I don't even know what it is exactly :)
But by reading *numerous* post about it, just realize ppl are not ready to use it ...
I wonder how difficult it can be to go the hard way (cpp) ?
EDIT: I checked your URL, and I have to say it looks damnly tempting :p ... it looks so easy ... to .net or not to .net ??
Nocturno
20th June 2003, 12:26
i started vb in november (using google as a tutor!, just put VB infront of your question and you'll probably find an answer), and i'm on my third gui atm.
there's a lot of stuff on the net about vb, and i'm not a programmer either (did some quickbasic years ago but that's it.)
but i made my first gui within 2 weeks after starting (ok the source ain't pretty, but it works!).
i'm going to look into the .net stufff to , but i had some problems with not everyone having the same dll's in vb .. so i'm thinking .net will only make that worse (do you NEED to install the .net framework to make the app run? , i for one wouldn't want an app that requires an 15mb extra download but i don't know much about .net)
by januari i even wrote an ifoparser in vb (some binary to string conversions that will creep out most programmers.. but hey it works!, and i couldn't figure out the binary operator functions properly.. what the hell.. it works!)
so i would say it's easy to learn and fast enough for gui's (even if you programm as sloppy as i do.. 20 lines of code because i don't know the correct command to do it in one ;) )
i see a lot of people using delphi on these forums aswel.. you might want to check that out to
zulu
20th June 2003, 12:37
i'm going to look into the .net stufff to , but i had some problems with not everyone having the same dll's in vb .. so i'm thinking .net will only make that worse (do you NEED to install the .net framework to make the app run? , i for one wouldn't want an app that requires an 15mb extra download but i don't know much about .net)
One of the main advantages of .net is that you don't need to install any dlls/components anymore.
After you installed the framework all you have to do is to copy a .net program to your HD and run it..
sekxx
20th June 2003, 12:44
IMHO Delphi is much better than VB to write GUI.
Basic Programming is "A Pain In The As", while pascal programing is nice.
avih
20th June 2003, 13:40
GUI programming ("visual"), is indeed a black hole in the open source community. tools do exist, but not as good or as integrated as VB/Delphi (although i never tried delphi myself).
devC++ is good for actual programming but has no 'designer' module.
one can use wxWindows or fltk or GTK+, but these are not n00b friendly. on linux i think Kylix ("delphy on linux" from borland) should be ok, and is basically free, but only for linux. another linux only solution is KDevelop+QTDesigner which is free for non-commercial usage. imho it's not too newbie friendly, and is nearly a bloatware (DO NOT start a flamewar, that's only MHO).
imho, the closest thing to VB/Delphi would be java using netbeans. it's has a full visual designer, and it's a complete integrated IDE. and free (and also the free JavaOne studio from sun which is based upon netbeans with branding and one or two more modules). the latest netbeans (iirc 3.5) is known to be quite faster than previous releases.
my greatest hope though lies in XUL which is the mozilla way. XUL is a cross platform user interface language. it's based on xml and javascript, and should be REALLY easy to write xul apps. the gui is defined in simple XML (some visual designers exist in various early stages), and the code is plain and simple javascript. plus, you get all mozilla/javascript network stuff. you can use the network, use local files (via jslib javascript ready-made code) and much more.
an example of how strong can XUL be is the Mozilla-Firebord browser (formerly known as phoenix) which is entirely written in XUL and uses the gecko engine as the actual html renderer. the new thunderbird project (the mozilla-mail as a stand alone) is also entirely written in XUL. that's how strong XUL is.
i forsee that in the not-so-distant future one will have a free fully working visual IDE to design and program XUL based apps. and it's totally cross platform since the code is XML+Javascript, and can be ran on any machine with mozilla/firebird installed (win/linux/bsd/osx/solaris/etc).
that's where the future lie imho.
stax76
20th June 2003, 14:15
GUI programming ("visual"), is indeed a black hole in the open source community. tools do exist, but not as good or as integrated as VB/Delphi (although i never tried delphi myself).
I think you are right, maybe because open source developer are not very interested in RAD tools. SharpDevelop was thrown together by a single guy incl. a neat form designer, it's a nice RAD tool. It was easy because he could use the same components VisualStudio uses provided by the .NET framework. Currently the whole thing get's portet to Mono using #WT which is a C# port of SWT. I also heard there is a new eclipse plugin to create SWT GUI's so there is progress in creating GUI's with open source tools
on linux i think Kylix ("delphy on linux" from borland) should be ok, and is basically free, but only for linux
problem is Linux folks stick rather to real GNU tools
imho, the closest thing to VB/Delphi would be java using netbeans. it's has a full visual designer, and it's a complete integrated IDE. and free (and also the free JavaOne studio from sun which is based upon netbeans with branding and one or two more modules). the latest netbeans (iirc 3.5) is known to be quite faster than previous releases.
I've heard sun is working on a new IDE and there is also a new JBuilder. I don't know much about Java. I've heard it is not very good for interop with the plattform in runs on, it requires wrappers etc. NET is absolutly great here
my greatest hope though lies in XUL which is the mozilla way. XUL is a cross platform user interface language. it's based on xml and javascript, and should be REALLY easy to write xul apps. the gui is defined in simple XML (some visual designers exist in various early stages), and the code is plain and simple javascript. plus, you get all mozilla/javascript network stuff. you can use the network, use local files (via jslib javascript ready-made code) and much more.
I like this one as well. It's plattform independent and skin able
TaZ4hvn
20th June 2003, 14:16
Well, ok guys reading your answers and the 'thoughts on C#' in this same forum I understand there's no consensus on the question :p
If I understand well, the easiest ways are C# or Delphi but the first is not fully portable nor accepted so far while the second is not the preferred programming language in this place ...
Others options are VB or newbirth XUL.
I'm still very confused about what to use, I think I have to do further research on each and find what's the best to my taste, but yet this way I have no garantee on how good my choice will be.
I mean I feel like I had to learn each languages and try each IDE to determine what's the best to me, obviously I can't do that :(
Finally, I thanks god I wrote my app in a plain DOS commands batch file :D
stax76
20th June 2003, 14:49
If I understand well, the easiest ways are C# or Delphi but the first is not fully portable nor accepted so far while the second is not the preferred programming language in this place ...
C# is fully portable but since you want to create a GUI for programs like AviSynth that are not portable it's not a issue for you. The main problems of Delphi is it is not open source although it's free and there is also a open source IDE for Linux and it's Pascal syntax, almost all other languages uses C syntax. It's not easy to learn and get used to a new syntax so probably best you start with a C syntax language for instance Java or C#, Java and C# are modern strong typed and fully object oriented languages a lot easier than C/C++ which is very important to learn programming imo
I'm still very confused about what to use
me too ;)
avih
20th June 2003, 17:17
imho you should use:
1. if you have access to any of the IDEs, and only intend writing for windows, use VB or Delphi. don't be put off by the pascal syntax of delphi or the Basic syntax of VB. once you know either syntax (c/pascal/basic) the you can learn the others in probably less than a day. if you're quick to learn, 10 mins is more than enough to learn the new syntax. the important thing is learning how to PROGRAM. the syntax is only the way in which you describe your programmable solution. C# is better (that's an understatement) than VB, but it requires the .NET [huge] runtime which many people, including myself, are reluctant to install onto their PC.
2. if you prefere using free (really free) tools, i suggest using java and netbeans. netbeans is completely open source, has a good visual designer, cross platform, and you learn the ways of modern OO languages (very similar to c# and c++). but you need the jre installed to run your apps, and it takes a bit longer to execute. btw, it supports internalization pretty well. also, netbeans is a bit less 'professional' than delphi/vb, but only a bit.
3. if you're the experimental guy and have some time to explore new stuff (prefferably but not compulsury, with prior programming experience) go for XUL. ppl have done really nice XUL apps, including the mozilla irc client, mozilla-firebird browser, jabber client and many more. very simple to program and totally cross platform, but very new and lacks the large knowledge base the other solutions have on the internet. OTOH, ppl at the mozilla community are VERY helpful and will be glad to help you as much as they can.
good luck.
ps.
what do u want to program anyway? ;)
TaZ4hvn
20th June 2003, 17:34
Well thanks for this good summary, even if I don't choose a method yet :)
what do u want to program anyway?
Well, if you follow my sign you'll see I already did a working DVD to XCD conversion tool with (I think) nice automation features.
Even if it's working it's only a batch file *sic* and I don't feel satisfied with this, I mean intellectually this is not satisfactory you know ...
So I'm willing to start with some real language for the beauty of it but also cause I'd like to code some nice feature i can't right now, one of them beeing a nice GUI, so the title of this thread :)
Nocturno
21st June 2003, 08:26
One of the main advantages of .net is that you don't need to install any dlls/components anymore.
After you installed the framework all you have to do is to copy a .net program to your HD and run it..
"installed the framework " isn't that the same as installing dll's? ;)
that's just what i meant.. my gui is 200kb.. one would have to install the 15mb framework..
now i just integrate needed dll's in my installer.. whole package including all tools it needs for dvd2svcd conversion is under 5 mb.
but with a lot of people on broadband i guess i doesn't matter much..
@TaZ4hvn - my tool ran from a batchfile too .. worked great but i also wanted a nice gui.. so i started with multimediabuilder mp3, wich allowed for some low level programming to be integrated..but when i got into vb i realised it's just batchfile for windows, only with all windows tools at your disposal.
excellent N00b tool .. hehe , but i can't say i've tried any of the other so i'm really not an expert
Blight
21st June 2003, 09:45
Let me throw a few words in favor of Delphi:
1. As powerful as C++ (not as optimized, but your GUIs don't need to have tight loops).
2. Stand alone executables! (most GUI C++ can't say that).
3. Language is more text oriented, easier to read (compared to C).
4. Lots of good sample code sites and free components.
You should also look at upx.sourceforget.net to shrink your EXEs once you're ready to release.
I think Delphi Personal used to be freely downloadable off borland's site as long as you were only using it for free software, but I think it may cost $60 now (from amazon).
TaZ4hvn
21st June 2003, 11:04
excellent N00b tool .. hehe , but i can't say i've tried any of the other so i'm really not an expert
That doesn't matter, I won't object you're not an expert as long as you say it's great :D
Let me throw a few words in favor of Delphi:
Well, certainly the quality of what you achieved makes your opinion an heavy one :)
I'm still not sure, I just started reading my old C/C++ tutos, you know just to calm me down until I'm confident in some choice ...
Blight
21st June 2003, 14:05
It all depends on how complex your interface is... the options dialog on ZP would be horrid to do in C++, but a simple form shouldn't be too difficult in MFC or similar.
It would be A LOT easier to do in delphi though, just drag and drop a few component, set the code to the events and you're done.
Guest
21st June 2003, 14:11
I strongly second Blight's recommendation of Delphi. I use it for all of my GUI apps. It has excellent on-line help with example code linked to each help entry. There is a large Delphi community and you'll easily find help and advice about it.
You say it is not "the preferred programming language around here". What is important is what *you* prefer. Anyway, there isn't too much GUI work being discussed here, so I don't know how you could have concluded that.
Delphi is fully object-oriented like C++. It is considered to be a modern full-featured language. Believe me, you can't go wrong with it.
TaZ4hvn
21st June 2003, 15:03
@ neuron2 and Blight:
You're certainly guys I can trust for this kind of stuff, so I will give delphi a try for sure.
Is there a way I can 'merge' Delphi and C, I'd like to stick to C/C++ for the main prog and use Delphi for the GUI, is this possible (sorry I realize this may look like a very newbish question :) )
Anyway, there isn't too much GUI work being discussed here, so I don't know how you could have concluded that.
I agree that was a bit prematurate conclusion, I just say that cause apps I use and prefer the most are usually cpp.
zulu
21st June 2003, 16:39
Originally posted by TaZ4hvn
Is there a way I can 'merge' Delphi and C, I'd like to stick to C/C++ for the main prog and use Delphi for the GUI, is this possible (sorry I realize this may look like a very newbish question :) )
It is possible to write the GUI interface in delphi, and the actual program logic in C/C++. The C/C++ code is compiled into a .dll and then called by the GUI.
This exactly the way how vSrtip GUI (http://www.maven.de/code/index.html#vstrip) does it (which is coded in delphi, too).
TaZ4hvn
21st June 2003, 16:57
Sounds like a good solution finally :)
@zulu:
Yes, I guess this is not difficult when GUI task is only to call main prog and pass it arguments, but I mean is this possible if I want a deeper interaction, like execute selective part of code, changing variable values and so on ?
Also do you have a good (preferably free :)) win32 IDE to recommend ?
zulu
21st June 2003, 17:22
Yes, I guess this is not difficult when GUI task is only to call main prog and pass it arguments, but I mean is this possible if I want a deeper interaction, like execute selective part of code, changing variable values and so on ?
A dll provides this "deeper interaction". You can "import" desired functions/variables into your delphi app.
A dll is not executed via commandline ;)
As for the IDE, i guess you have to wait for recommendations from the delphi cracks here.
TaZ4hvn
23rd June 2003, 02:03
Well, finally I decided to go with Delphi/Pascal.
I'm still in the reading and learning process, but I already know it will perfectly suit my needs :)
And no need to answer the silly IDE question :D
True thanks to all for the help and advice given.
avih
28th June 2003, 01:55
eventhough you've chosen delphi, i though ppl might benefit from this new (version) XUL visual editor: XUL Maker at http://xulmaker.mozdev.org/
screenshots (http://xulmaker.mozdev.org/releases/xulmaker050/screenshots.html)
sekxx
28th June 2003, 13:05
avih do you know if there's a runtime only for XUL,
I mean no need for the user to download the all mozilla.org[my Browser/Mail/IRC for a while now ;)] but just a simple runtime that can be "bundeled" with an application that use XUL as a visual user interface???
avih
28th June 2003, 22:07
Originally posted by sekxx
avih do you know if there's a runtime only for XUL,
I mean no need for the user to download the all mozilla.org[my Browser/Mail/IRC for a while now ;)] but just a simple runtime that can be "bundeled" with an application that use XUL as a visual user interface???
they're working on a GRE (Gecko Runtime Environment) which will be the base for mozilla-firebird (browser), mozilla-thunderbird (email) and the rest of the apps (composer, irc, etc). i don't know the roadmap for this, but i do know it's not ready yet.
youre 2nd best would be mozilla-firebird (formerly known as phoenix) which is about 6M (mozilla is 10+M) and doesn't include the mail/composer/irc, and can be used to run any xul based app.
you can check out an xul app here (web desktop a-la- win95):
http://robin.sourceforge.net/
mozilla-firebird:
http://www.mozilla.org/projects/firebird/
sekxx
29th June 2003, 15:25
thank's
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.