c++user-interfacecross-platformplatform-specific

Developing for different platforms individually, does anyone recommend it?


I know it is easy to recommend several cross platform libraries.

However, are there benefits to treating each platform individually for your product?

Yes there will be some base libraries used in all platforms, but UI and some other things would be different on each platform.

I have no restriction that the product must be 100% alike on each platform.

Mac, Linux, and Windows are the target platforms.

Heavy win32 API, MFC is already used for the Windows version.

The reason I'm not fully for cross platform libraries is because I feel that the end product will suffer a little in trying to generalize it for all platforms.


Solution

  • I would say that the benefits of individual development for each platform are:

    - native look and feel

    - platform knowledge acquired by your developers

    -... i'm out of ideas

    Seriously, the cost of developing and maintaining 3 separate copies of your application could be huge if you're not careful.

    If it's just the GUI code you're worried about then by all means separate out the GUI portion into a per-platform development effort, but you'll regret not keeping the core "business logic" type code common.

    And given that keeping your GUI from your logic separate is generally considered a good idea, this would force your developers to maintain that separation when the temptation to put 'just a little bit' of business logic into the presentation layer inevitably arises.