Subaru Tashiro
Subaru Tashiro

Reputation: 2223

what are the disadvantages of using a cross-platform framework to develop for one platform?

Lately I've been contemplating whether I should start studying another framework since I only have a windows machine and I don't intend to make cross-platform software anytime soon. So to help me with that decision...

  1. Is there any disadvantage to using a cross-platform framework when I don't intend to develop cross-platform? Intuitively I would say that a framework specialized for a certain platform would perform better in said platform than a cross-platform framework. But I am just assuming that.

  2. Please enumerate frameworks and libraries that I can start studying for rapid application development on Windows using C++. One with lots of documentation is preferred. I would appreciate it if you included a link that can help me get started.

Upvotes: 1

Views: 827

Answers (4)

Ben Voigt
Ben Voigt

Reputation: 283733

By using a cross-platform framework, you will miss out on platform-specific frills, like programmatic control over Windows 7 Jump Lists. Because of these things, it won't quite feel like a native application, but like a port of an application written for another OS. In many cases this doesn't matter.

A modern C++ framework built using templates isn't going to perform any worse simply because it's cross-platform. You'll simply miss out on features that don't exist on multiple platforms.

Upvotes: 2

Zane
Zane

Reputation: 926

Just to second the other answers, Qt is a great framework (and is hopefully going to survive Nokia).

Cross platform frameworks have mainly two disadvantages: performance (often they add another layer that is not necessary in native platforms) and of course being cross-platform, i.e. often not supporting functinality that is specific to your target platform. With Qt, I never saw performance as a problem. Also Qt brings in so many libraries that actually extend what you can do natively in Windows, that also the second point is not really a disadvantage here.

The only problem with Qt is in fact the metaobjectcompiler (moc). In the beginning, you will stumble across some strange compiler errors, that come in the end from the moc. Just remember this and google for the errors, you will get used to this.

Upvotes: 0

Murtuza Kabul
Murtuza Kabul

Reputation: 6524

Generally the issue with cross platform frameworks are framework specific.

e.g. wxWidgets - They are fast, but not too many GUI classes available. Documentation is not excellent however updated properly.

GNome - It is widely used but requires a heavy runtime deployment, bit more heavy in terms of memory usage.

These both are UI Frameworks. both are GPL and hence you can use it.

Nokia Qt - It is an excellent cross platform framework and it is not just yet another UI but a complete framework for cross platform development. However, problem with Qt is metaobjectcompiler (mod). It is a kind of language extension.

I would recommend that you opt QT as your next framework. It is being actively developed, lightweight, recently being open sourced and is available under LGPL lic.

Upvotes: 0

Reed Copsey
Reed Copsey

Reputation: 564641

Is there any disadvantage to using a cross-platform framework when I don't intend to develop cross-platform?

It depends on the framework. Most frameworks limit themselves to functionality which is available across all platforms, which may limit you somewhat. You may also not be able to take advantage of the best features of a given platform or the best development environment on that platform.

Please enumerate frameworks and libraries that I can start studying for rapid application development on Windows using C++.

A good option here is Qt. It provides a very nice C++ based framework for Windows and other platforms. If you want Windows only, there are other options, including the Windows Runtime via C++ (for Windows 8 development), or the Microsoft Foundation Classes.

Upvotes: 3

Related Questions