Jeff
Jeff

Reputation:

Pros and Cons of the available Visual Studio 2008 c++ project platforms?

If choosing between:

Specifically the application will be:

Again, c++ specifically - not C#.

Thanks, Jeff

Upvotes: 0

Views: 466

Answers (4)

Roel
Roel

Reputation: 19642

I have extensive experience with both WTL and MFC and wouldn't choose WTL over MFC anymore. MFC isn't so bad, once you learn which parts to ignore (doc/view, CArchive, containers, ...) MFC gives you a much wider selection of UI controls that will never be matched by WTL, and there is much more help available for MFC. With WTL, you're pretty much on your own (apart from the WTL mailing list and sample code on viksoe.dk).

That being said, if you'll be doing the heavy lifting in DirectX anyway, the UI toolkit won't matter that much. Both MFC and WTL will do for a few forms and dialogs; win32 is too much work without added value over MFC or WTL, and Windows Forms from C++ is a pita, and slow. Plus Windows Forms is oldschool already, at least MFC won't change much anymore :)

Upvotes: 1

NascarEd
NascarEd

Reputation: 1390

I don't think C++ Windows Forms is a valid combination. At least it's not in my installation of VS 2008.

So that leaves us with ATL, MFC and Win32. All are old, but Win32 is the oldest, so I would eliminate that.

There is a lot of external support for MFC (CodeProject.com, etc.), its fairly well documented and there's lots of people out there with MFC experience. Look at the number of topics on this website for ATL vs. MFC. MFC has an order of magnitude more posts.

MFC seems to be much more common than ATL. IMO, MFC would be the way to go (given the limited choices).

Upvotes: 1

avakar
avakar

Reputation: 32635

Stay clear of MFC. Granted, it's used a lot, but it's a great example of non-idiomatic C++ use. Notably, it implements its own RTTI system and reimplements parts of STL.

ATL is not very feature-rich, but there is a good extension called WTL. It's not exactly great C++ either, but much better than MFC. If you're not interested in GTK, Qt and the like (presumably because you'd like the framework to be thin so as to permit easy integration with DirectX etc.), WTL is probably the best option for you.

Upvotes: 2

Nemanja Trifunovic
Nemanja Trifunovic

Reputation: 24561

If you don't mind tying yourself to VC++, I would go for ATL+WTL. It is very lightweight and still adds some abstraction to raw Win32. MFC is OK as well, I guess, although I don't really like it, but it is better documented than WTL.

As for Windows Forms, i would stay away from it, especially if you know you are going to use C++.

Upvotes: 3

Related Questions