tags:

views:

388

answers:

4

Hello,

I am a 10year+, C++ linux/windows developer and I have been asked to estimate the effort to port the windows application to OS X.

I haven't developed on OS X before,so I don't know what to expect.

It is a C++/Qt application, so I want to ask: what are the de facto tools like editor, IDE, compiler, make tool, etc ? Which tools are commercial and need to be purchased ?

How much time would it take for me to get used to the environment and be productive ?

Thanks in advance,

Paul

+7  A: 

You're in luck that your app is in Qt, TrollTech has a lot of documentation on how to do this; developing on OS X can be very similar to developing on Linux, make sure to check out the MacPorts project (http://www.macports.org), which is like apt-get/yum for Mac. Your toolchain is the usual suspects - gcc/make/autoconf, etc...

Paul Betts
+2  A: 

As for IDE/editor, Apple's XCode comes with the OS (http://developer.apple.com/Tools/xcode/).

However, all the people I've spoken to about this prefer to use the Textmate editor whenever possible (shareware, €48.75, http://macromates.com/).

How long it takes to get productive depends a lot on your previous experience with Macs. It's simply a lot of little user interface differences making life hard for the newcomer, similar to moving from Windows to Gnome or from Gnome to KDE.

The default shell is bash, so that should be very familiar. Most command line tools are the same as on other BSD systems and very similar to the usual GNU/Linux-tools.

jakber
+2  A: 

As jakber already posted, XCode is the standard IDE for MacOSX, and is free (comes with the install DVD or can be downloaded from apple.

The XCode IDE is quite different from that of Visual Studio, and it seems to me as if it were more familiar to Codewarrior. I don't know if there are any tools to convert VS projects to XCode, but there are tools as CMake where you can describe your project and make it generate both Visual Studio solutions and XCode projects (well, and many more).

It is quite hard to estimate the time it will take a particular person to be productive in an environment, and even more when you don't define how you are used to work. For example, if you used KDevelop, then it is directly available under MacOSX. Also, some people are more dependent than others on the tools the IDE provide (source navigation, for example).

Finally, compiler errors are different in Microsoft compilers and g++ (used both in linux and MacOSX) and you will have to get used to it.

Afterpost:

As an answer to your comment, there are more than one compiler for MacOSX. The standard that comes with the OS is gcc (4.0.1) but you can buy the Intel compiler or other frontends like comeau to gcc.

David Rodríguez - dribeas
Great answers, thank you folks.So do I understand correctly that there is a different compiler on OS X ?
Paul Baumer
+1  A: 

If all your code is Qt, it would not be a big job to make it compile and run on OSX or linux, but if you use other windows specific things, it might take some time. How mutch depends on how much you have programed, how big the project is, your experience with g++ and so on.

Trolltech has released a beta of there own IDE Qt Creator that you can download, I downloaded and tested it on linux and OSX last week, it workes, but I have just tested it.

If it is a open source project you do not need to buy anything, if it's not, you will need to buy Qt.

Remember to estimate how long you tink it will take and then time that by 3, and you might be close to the time you need.

Rolf Anders