Mega Newbie Questions: Probably FAQs

Zeph zeph_zhang at yahoo.co.uk
Tue Aug 15 01:17:36 EDT 2006


Zeph wrote:
>> 3) Can someone recommend a good framework that will enable me to keep 
>> things well sorted out, and easy to maintain as my apps grow? (I'm 
>> considering MVC, but have no idea how to apply it until I've gone 
>> beyond "Hello World").

Yu-Xi Lim wrote:
> Framework for what kind of apps? Web, native GUI, client-server, etc?
> MVC is an abstract architecture rather than a specific implementation.
> Even so, many implementations rarely employ a purely MVC design.

Native GUI with some client-server abilities. Basically, it's a 
database-inventory sort of thing with some pretty intense reporting. 
Call it a productivity app--no need for intense graphics or massive 
computation. Fundamentally, what I want is to be able to distribute a 
"regular app", mainly for the Windows market, but I also want to offer 
it to the Mac and Linux crowd--on one code base if possible.

I have on a number of occasions downloaded apps that required that 
Visual Basic, or .Net or whatever runtimes be installed. I've never 
liked or trusted these kinds of apps. Regardless of the quality that the 
particular thing may have had, I didn't trust it and didn't like all of 
the extra clutter that went along with it. This is why I'd prefer to 
deliver some sort of stand alone solution--or at least something that 
appears as such. Fundamentally, I want to put out a solid, slick and 
professional product. Is Python still a good choice for me?

Back to the question: When I speak of framework, maybe I should have 
used the term "methodology". I have excellent methods for coding my 
web-apps (I like Fusebox) but not having created anything significant in 
another language from scratch for over 10 years, I wouldn't know how to 
start organizing my stuff so that it's long-term maintainable.

> The size of the Python community is huge compared to RealBasic. And
> you'll benefit from that alone by better answers to your questions,
> better documentation, and better 3rd party libraries.

Excellent points.

> Side note: You seem like you've researched a bit, but unfortunately been
> affected by the swirl of buzzwords. While there are usually valid
> reasons for particular technologies to have so much hype behind them,
> you should not neglect the alternatives. They may be the answer you seek.

Yes. That's the problem with being a newb: you don't know what you don't 
know, then when you do, it's obvious. I'm still seeing only the surface.

One question that does come to my mind is that of the notion of 
decompiling or reverse engineering. Based on a comment someone made 
earlier, is this a significant concern that I should have, if I want to 
ship commercial software?

The stage I'm at right now is that I'm on the fence between REALbasic 
and Python.

Here's how I see it, relevant to my situation:


REALbasic
Pros: A fairly rich system, excellent GUI, spits out a binary executable 
for Win, Mac and Linux. One code base. Well documented, ever evolving. 
Relatively reasonably priced for commercial purposes.

Cons: Closed source (what if they're bought out?) I'm not sure that I 
can trust my investment of time to last 10 years. The language and IDE 
is a tad strange to me. It has the word "Basic" (read: cheap, 
half-assed, not-a-real-app) in it, which is not a particularly good term 
to use in a pitch.

Unknown: Learning curve? Long-term value? Level of support?

Python
Pros: Free. Open source. Deep. Flexible. Rich community and third party 
stuff. Well documented.

Cons: Interpreted.

Unknown: Secure (meaning not easily reverse engineered) code? Performance?


Further thoughts?



More information about the Python-list mailing list