Can i create application in visual studio that can be run on Mac, windows and iOS? My client asked me to create a line of business application that can be run on Mac, Windows or iOS through one click installation, and his precious application was developed as a Windows application in C#, that currently runs only on windows. I have seen xamarin, is any other option? Any help or suggestion would be greatly appreciated. Thanks.
Yes and NO ;)
it's possible (and brand new) through Visual Studio and Mono (as far as I understood it is an open source implementation of .NET) but you will still need a mac to compile the iOS / OSX versions, an iPhone/iPad/iPod touch to test on device, etc.
Honestly, I would go with creating an OSX app, iOS app and Windows app separately. Willing to do everything at once is nice (and often a cost question) but it is not a real option (unless cost is the major concern).
Even between iOS and OSX there are numerous differences, different concepts (option to have multiple windows on OSX / only one in iOS, different API even for common stuff, the "touch" of an iOS app will make you work differently, screen size will make you think of different functionalities or not all would fit in the iOS app). "UserFriendlyness" is a thing to take into account. a windows user and a mac user are not used to same interface, same application concepts, gestures on phones or trackpads, mac apps are generally not using the (F1,F2, etc. keys), etc.
There are stuff like phoneGap (ok not the desktop part of your question) that says everything works on all phones but it does not benefit of the advantages of a plateform, it goes to the lower common denominator, meaning that your app is often less efficient than if made natively.
Even more hazardous, you inherit from bugs of these tools, and some can be really tricky to understand (is there a problem in my code, in phoneGap/xamarin ?) and you could loose much time on stuff like these.
In the end it's just a matter of cost.
Even Excel from Microsoft is different between OSX and Windows plateforms, they even fixed a bug in excel 2011 for mac, that is still present in windows versions ;) (they have different business units if I remember correctly)
So yes, business logic, but mac apps is not only objective-C, you can import/work with C or C++ files in Xcode.
just my 2 cents.