Large app to port

I am wondering how much it could take me to port my app over from Windows to Mac and Linux. I have not had either Mac or Linux to test my app on. I have put a lot of work into this project and there are a lot of controls I have used. I have not used any or many declares apart from with code written by others (from what I remember). I am not so worried about the code. I think a very large portion of it will function well. But how likely is it that my UI will not look right?

If I have a lot of these containercontrols layed out in a similar way, would there be an reasonably easy and quick way of me coding layout changes using IDE scripts or something like that.

Has anybody on these forums gone through the process of porting a large app from Windows to other platforms without even making one test on platforms other than Windows.

When I first release the software I am pretty sure that it will be temporarily a Windows-only app.

What are your thoughts?

Thanks

Oliver - the UI will definitely need some attention if porting to a mac!
If you send me a built version - I am happy to run it on my Mac, and send you some screenshots.

If you are releasing your app on another platform, you HAVE to have a way to test that app yourself on the platform in question.

Oliver if you download VirtualBox (free) and then download any good ISO of your favorite linux distribution you can have a linux VM up and running within 20-30 minutes. Note that your host machine must have enough memory to allocate to this new VM.

https://www.virtualbox.org/

http://www.linuxmint.com/
http://www.ubuntu.com/

HTH

My Experience is, that each platform needs more or less optimization because of different UI guidelines.
It starts with the positioning and size of “Ok” or “Cancel” Buttons and continues in Menus, Icons etc.

Without these Optimization your app will feel kinda “alien” esp. on Mac OS X.

Yep, especially from Windows to Mac with all the sandboxing and digital signatures, etc. to get in the App Store, etc. This basically made me abandon porting to Mac, as you really need an actual Mac to do it right, and the potential payoff may not be worth the money I would spend (Macs ain’t cheap!)

Thanks for your suggestions. I have tried compiling for Linux but when I transfer the files into my virtual machine they lose the app’s file loses it’s icon and does not open for some reason.

Thanks

On Linux, once you have copied the app and it’s associated library folder etc, you have to set execute permission for your program file. Via the UI this is just a matter of doing right-click → Permissions → and setting the Execute option ( probably a checkbox )

If it still does not seem to run, then it can be useful to open a terminal window, cd to the folder containg the program, and run it using from there ( you will usually have to preceede the program name with ./ in this case )
eg: > ./myprogram

You may then see some messages, for example: if there are some missing libraries.

[quote=120099:@Chris Carter]On Linux, once you have copied the app and it’s associated library folder etc, you have to set execute permission for your program file. Via the UI this is just a matter of doing right-click -> Permissions -> and setting the Execute option ( probably a checkbox )

If it still does not seem to run, then it can be useful to open a terminal window, cd to the folder containg the program, and run it using from there ( you will usually have to preceede the program name with ./ in this case )
eg: > ./myprogram

You may then see some messages, for example: if there are some missing libraries.[/quote]
Thanks. I forgot about the libs for 64bit Ubuntu.

I presumed that already but thanks anyway. I would never release an app for an OS I have not tested on that is why I specifically said I may release Windows-only to start.

Thanks

You have to test on all platforms you want to run your application.

Cheap is a matter of taste and a matter of sales. How many sales do you feel to do on the OS X market and what can be the cost of a OS X machine to test your project on?

Nota: this goes from OS X to Windows too (but I will do not talk about money for the Linux platform as I do not have any sales number for that platform).

At last: use #If Target<specific_token> to enclose your Windows (platform you wrote the declare to) declare or specific code, so you will avoid to get a ton of errors for… nothing ! The earlier you do that, the better you will feel.