[REBOL] Re: Windows GUI apps: Rebol/SDK vs. Visual C++ 2003
From: greggirwin:mindspring at: 24-Jan-2003 12:41
Hi Jose,
j> I am considering writing some Windows GUI apps for
j> profit and would like to get input from you on which
j> platform is best for the job.
The best tool for the job will depend on the product you're developing,
its target market, and other factors; e.g. what features you need, are
existing third party tools available (or needed), do you want or need
to be cross platform, if working with other developers, what skill-set
do they have, etc.
I moved to REBOL from VB, so that's where I'm coming from.
j> 1.- I am a mostly scripting developer who has recently
j> started learning C++ . To my astonishment, I found
j> that for Core tasks, C++ & STL is not really that
j> difficult but my interest is in the GUI side so I
j> should really be comparing Visual C++ (which I haven't
j> used before) to View and the SDK.
You need to look at what it will take to build the app you want. BASIC
is easy to grasp. VB was easy for me because I did it for 11 years,
but people new to VB found some things very hard. Windows development,
in general, has added so much complexity that the core language you
use is only a small part of things now (in some cases). Whether your
ease with the kernel of C++ will translate into a larger context, I
can't say for you. If you're doing Windows, have you also considered
C#?
Don't forget little things like deployment either. What will it take
to build an installer, how sensitive is it to different versions of
Windows or your target OS, etc.?
j> 2.- C++ compiler sells for $109 vs SDK for $249 (I
j> think I won't need to be part of MSDN because there is
j> plenty of info available in the web).
If you're selling a commercial product, the small difference in
up-front costs shouldn't be much of an issue. If it is, use the free
versions of REBOL to build your app and test the waters (i.e.
controlled demos so you aren't giving away source). If you go to
Visual C++, you may find that your first add-on tool costs more than
either of them.
j> The most important point is that there are no strings
j> attached to C++ apps that I build vs Rebol cumbersome
j> licensing ($500 + 10% of sales above $5000)
This is a mind-set issue. I've had it too. RT is very easy to work
with (IMO) so, if you write a wildly successful application, you could
always talk with them about a custom licensing arrangement. If the
app is so popular, and you can't work something out with them, you
could always rewrite it in C++. You have to decide if it's going to be
a show-stopper for you. It isn't for me.
j> Components: the 2003 C++ includes a forms designer
j> with all the std widgets (trees, ..). Although you
j> could have something like this in Rebol/SDK, I haven't
j> seen it ! I assume using the components is more work
j> in C++ but at least the basic ones are available and
j> with no licensing.
No forms designer in the SDK, sorry. Coming from VB, I should be
screaming for this kind of thing, but I'm not. :) REBOL does things
differently, to be sure, and there are things I've done in VB I would
have a hard time doing with VID. OTOH, there are things I've done with
VID that would have been a *lot* more work with VB. VID doesn't work
exactly like native Windows stuff, so there's that to consider. It's
cross plaform though which, if you try to do that with C++, will
probably be a lot more effort.
j> Third party components: I like Rebol's PDF/Maker but
j> licensing and future development are not clear. Really
j> don't like having to pay for third party quality
j> components but there is very little Windows quality
j> stuff in the public domain and GNU doesn't cut it
j> (because you can not sell a traditional product with
j> it).
Yes, with ActiveX tools, you'll pay for all of them pretty much.
Again, it depends on your needs. If you need PDF output, how would you
do it from C++? The REBOL community is small enough (right now), that
you can contact and negotiate with the authors of these tools. Yes,
that's more work, but it's doable. It's just a different world.
j> 3.- Based on my experience, I tend to build more
j> quality code when it's compiled (vs interpreted) and
j> the performance is normally better (when compiled)
j> although I do not think this is a big issue on today's
j> client machines.
Once again, how much performance do you need and, as for quality,
that's entirely up to you. My development style is completely
different in REBOL than VB, and is evolving daily. Reliability also
doesn't stop with you. Your app is only as reliable as the weakest
link in the chain of tools used to build it.
Ultimately, you need to analyze your needs for each particular project
and match them to the tools you have available.
Best of luck!
-- Gregg