Xcode Vs Visual Studio For Mac

Posted on  by 

I often see questions about asking how to get XCode for Windows, and really what people want is to develop iOS apps directly on a windows platform. All of us at ItsMonkie Solutions have asked ourselves this question when we started app development for Android, iOS and Windows, and we were really looking for a way to develop iOS apps on the Windows platform.

  • Xcode includes the Instruments analysis tool, iOS Simulator, and the latest Mac OS X and iOS SDKs.The Xcode interface seamlessly integrates code editing, UI design with Interface Builder, testing, and debugging, all within a single window.
  • Visual Studio已经不仅仅是一个编程的IDE了,它是一套Application Lifecycle Management (ALM) 工具,结合它背后的比如说Visual Studio Online,你可以用VS来管理你的项目,从设计,开发,到测试,部署和维护的整个生命周期。.

Having given this a try I have to say the whole process of making XCode work in a windows environment is very uncomfortable, and not really fulfilling. This is really no fault of Apple – they designed XCode to be used only on Macs and in that space I’m sure its great. But as a Windows user primarily I want to be able to develop my apps to run on the iPhone and iPad – its a fantastic device, with a huge market share!

I've yet to work on any iPhone projects although I'm planning to but have done some Mac software, and while Xcode is definitely behind Visual Studio it has proven perfectly workable.

Is it even possible

In short – of course it is! But one thing that I should say is that even if you successfully get XCode running on your Windows environment, you will not be able to build and deploy an app to the Apple app store. Even if its technically possible, Apple’s terms and conditions strictly prohibit this. So if you want to develop an iPhone or iPad app you’re going to need a Mac, whether its be a Mac mini or an iMac, you going to need to compile and deploy your app directly from an Apple device.

Whats Involved in Running XCode for Windows?

Running XCode on Windows basically requires you to simulate an instance of Mac OS X on your windows machine – this means virtualisation. These days technologies like VMWare and VirtualBox make creating a virtual machine fairly easy…once you know how! In order to run a virtual machine you’ll need to have a decent PC with a reasonable level of resources as the machine will be effectively running 2 operating systems – Windows and Mac OS X. You’ll also need a copy of the Mac OS X installation media which you can purchase from the Apple store.

Once you have Mac OS X running on your virtual machine installing XCode should be pretty straight forward – you can pretty much just open the app store and install it directly from there.

Visual studio

Xcode Visual Studio 2017

For a detailed guide on getting XCode running on windows see this article from the udemy blog about emulating Mac OS X on a windows machine.

In order to be able to compile and deploy your apps to the app store you’re still going to need to own a Mac (or have once available). A compromise is to purchase a low end Mac mini – you can then do all the heavy lifting on your Windows machine, and just copy the code to your Mac mini when you want to compile and deploy it to the app store.

To me I find the idea of the whole process a bit cumbersome, especially when I have something like Xamarin available.

Using Xamarin to Build iOS Apps

Visual studio

Let me say first off that Xamarin in no way helps with the whole needing a Mac issue – theres no way arround that, its in the app store terms and conditions. It does however allow me to develop on my pc and leverage a Mac as a build server to build and iPhone/iPad simulator. The general workflow goes something like this –

X Code

  • You build your apps using C# and Visual Studio (or Xamarin Studio)
  • When you build and instruct Visual Studio to deploy the solution, the Xamarin plug-in communicates with the Mac build server to build the code, and deploy it to the correct simulator
X code

The whole process is almost seamless and works incredibly well. This review of the whole process by Peter Bright covers the process in more detail.

For some developing in C# and using Visual Studio is a negative, but as we focus on developing cross platform apps (i.e. apps with a share code base between platforms), Xamarin definitely wins out. Whilst this definitely isn’t XCode for Windows it is a viable, well supported and workable solution.

Wrapping up

We at ItsMonkie Solutions have approached app development from numerous angles such as

  • Purely native using Eclipse for Android apps (and Android Studio), Visual Studio for Windows Apps and XCode for iOS.
  • Hybrid apps using PhoneGap and Cordova that leverage Javascript and HTML5 on the devices browser
  • Developing native apps using a cross platform framework i.e. Xamarin

Visual Studio For Mac

In the end we have found that Xamarin provides the best combination of native performance, code reuse and general development workflow. It enables us to get to more platforms, more quickly with a more maintable code base.

What are your thoughts about running XCode for Windows? Is it worth the effort or is adopting a cross platform framework your preference or would you just rather developer straight on your Mac?

Related

Coments are closed