As far as Visual Studio, it's not required, either. 3rd party compilers have always been a thing for MS operating systems. In fact, for a long time, you weren't even able to use VS to build drivers for Windows. Microsoft is also currently going out of its way to create neutral tools to enable developers to use the workflow and tools they desire. Omnisharp exists for providing intellisense to editors and IDEs. VS Code is a new, cross-platform IDE that works for both node and C#, among other languages. MonoDevelop still exists and can be used to write Windows-compatible applications.
But for Apple, you have to own a mac or, as is common, lease a mac to build and sign on. So, no, these things aren't even in the same realm of control. MS treats Windows as its primary platform for innovation. Apple treats OSX as the only platform in existence.
Sure, develop for Windows without using Windows. But why spend time developing for a platform that you don't use regularly? What about testing? How far can you go without Windows?
> As far as Visual Studio, it's not required... VS or Windows is not required but the majority of developers develop using VS on Windows. You could cheap-out by avoiding these but you're being penny-wise and pound-foolish.
> But for Apple, you have to own a mac But for Windows/Linux you still have to buy an Intel machine. You just don't want to buy another machine to develop iOS or OSX apps.
Anyhow, I think Windows/Linux owners are complaining they have to spend more money to develop on a different platform. You never hear this from Mac owners who want to develop for Windows or Linux.[Edit: Not trying to start a flame war. I'm really trying to understand the outrage...]
Besides, Windows machines are much cheaper, so if you're from a developing country or a student, you have access to a Windows machine, not a Mac.
I am developing iOS apps on a 2012 Macbook Pro. Those aren't expensive nowadays.
I would be willing to bet that a used Thinkpad is even cheaper, and has the benefit of having more upgrade options.
To make a car analogy, your argument boils down to, "Well, you need a car anyway, so why not buy a Lexus?" I think a lot of the people replying to your posts are arguing that requiring luxury hardware (and, let's face it, Macs are luxury hardware) adds a pretty huge barrier to entry for software development. Trying to argue that the price difference between Apple hardware and Windows/Linux hardware is "insignificant" in the long run just doesn't cut it. Even the cheapest Apple laptop is a thousand dollars in the US. It costs even more overseas. Meanwhile, you can get similarly spec'd Windows machines for a half to three quarters of the price.
There is a Mac premium, and it is a barrier to entry for developers. You can't make that barrier disappear by blindly asserting that it doesn't matter.
Linux VM on a Windows machine was a thing in the early 2000s.
1: "Running Mac OS X as a QEMU/KVM Guest"
By contrast, you can just create an OSX VM in VMWare Fusion in OSX and then copy it over to VMWare Workstation on Windows (or an ESXi server, or whatever else) and it'll work fine after being convinced[1] that it's allowed to try.
[1] http://www.insanelymac.com/forum/files/file/339-unlocker/
[1] https://blogs.msdn.microsoft.com/interoperability/2012/12/21...
> For all those developers sitting on the sidelines refusing to develop iOS apps...
I've made a ton of money building Ionic and Xamarin apps and recommend those to anybody building for iOS because both of them will let you spend as little time using OS X as possible. The way my workflow is now, I could totally rent a cloud Mac and just compile and publish stuff from there.
Anyway, even though I think OS X and iOS are quite possibly the worst operating systems I've ever had the displeasure of using and even though I know for a fact that Apple is hostile to developers and users, I don't mind making apps for them because I figure anyone who uses there stuff must not care about wasting money and it should be easy for me to grab some...and it is :)
And, like Spotify, all of my apps are subscription based with out-of-app signup, so Apple doesn't get 30% of my money. I also only buy used Macs because Apple doesn't get your money that way either. Right now I'm running a Mid-2012 Mac Pro with 32GB RAM that I got for ~$1,200. It was about double the money that I spent for a similar PC server, but I made all that back by taking money out of Apple's ecosystem and not putting it back in, so I feel like that's a win for everybody (except Apple of course, but hey - fuck them - if they're going to be hostile to me, I'm going to be hostile to them.)
If you used Microsoft's tool chain to build Windows apps, you can do so with a VM under the Dream Spark license for free.
The barrier to entry for OSX/iOS development is hundreds to thousands of dollars.
You can pickup a Windows PC and an Android phone for half the cost of just a Mac Mini that still requires a display.
The toolchain isn't expensive or obsoleted frequently. A new Mac mini is $499 and can last more than five years. When you consider a professional iOS developer can easily make $100/hr, a cost of $100/yr for equipment is beyond negligible.
Not sure where you get "requires lots of maintenance" from – he doesn't seem to have said anything about that?
Obviously in rich Western country terms.
A new Apple device could potentially last you 5 years but Apple has also been known to obsolete hardware in as little as a year.
The majority of developers making iOS apps do not make $100 and that's not assured income, its potential.
If you happen to work for a professional shop with a team, chances are you want to do CI or automation. It's a pain. If your IT department manages your machines then they need someone dedicated to maintaining enterprise security policies on your Macs, it's a pain for the user and the admin.
I think labelling a $499 computer as "incredibly expensive" isn't accurate when you're talking about typical Western countries. That's a pretty normal cost for a computer.
> and assumes you have a monitor and an iOS device already.
Most platforms require you to have an instance of the platform available to you. Yes, people who want to develop for iOS should reasonably be expected to have an iOS device, just like people who want to develop for Android should reasonably be expected to have an Android device, and people who want to develop for BlackBerry should reasonably be expected to have a BlackBerry device. Apple are not unusual in this respect – you appear to be holding them to a different standard to other platforms here.
> Apple has also been known to obsolete hardware in as little as a year.
I can't think of a case where this has happened – can you give an example?
> The majority of developers making iOS apps do not make $100 and that's not assured income, its potential.
I'm trying to put the cost/benefit into perspective. The cost of iOS development is minuscule in context.
> If you happen to work for a professional shop with a team, chances are you want to do CI or automation. It's a pain. If your IT department manages your machines then they need someone dedicated to maintaining enterprise security policies on your Macs, it's a pain for the user and the admin.
Again, you seem to be holding Apple to different standards than other platforms. If you have employees using computers, then IT needs to manage them. Yes, of course – but this is true for Windows developers, Android developers, and all other developers as well.
That might be the normal cost of one of 50 different Dell laptops but for Apple it's their lowest end unit and it lacks a display.
> Most platforms require you to have an instance of the platform available to you.
Nope they don't, but it is better if you do. It's also considerably cheaper.
> I can't think of a case where this has happened – can you give an example?
The PPC MacBook after the Intel Switch, the first gen Core Duo MacBook after the 32-64bit switch, non-retina iDevices... I'm on a phone or I'd keep going.
> I'm trying to put the cost/benefit into perspective. The cost of iOS development is minuscule in context.
If your context is "successful developer with a hit app" then yes, but the reality is that the majority of devs won't be anywhere near that successful.
> Again, you seem to be holding Apple to different standards than other platforms.
See that's where you're confused. I'm holding them to the same standards. Microsoft offers tons of free tools for managing large pools of enterprise machines, maintaining their patch levels, group policies, access control, etc. Linux has similar support.
Apple on the other hand makes you invest in countless 3rd party tools to achieve the same level of control. And at the end of the day it's still Flaky and error prone.
Now you're shifting the goal from the cost of the toolchain to the cost of Apple's lineup as a whole. It doesn't matter what the top of the range Apple lineup costs, to get started with iOS development, you just need the cheapest Mac mini.
You can pick up a monitor for next to nothing. Here's a Dell monitor for under $40: https://www.amazon.co.uk/DELL-Monitor-Computer-Screen-Inch/d...
> The PPC MacBook after the Intel Switch, the first gen Core Duo MacBook after the 32-64bit switch, non-retina iDevices... I'm on a phone or I'd keep going.
Wait, you've moved the goalposts again. We're talking about the ability to buy a computer and continue to use it for development for a reasonable period of time. We're not talking about your computer not being the latest model. Just because Apple introduced retina screens on the iPhone 4, it doesn't mean that you had to go out and buy a new Mac to develop for it.
> If your context is "successful developer with a hit app" then yes, but the reality is that the majority of devs won't be anywhere near that successful.
I'm talking about typical professional iOS developers. The majority of them are successful. I suspect you're talking about app entrepreneurs, which is a whole different ballgame. Most iOS developers aren't making their own applications, they are making applications for other people. And yes, the cost of iOS development is trivial for them.
It's true, lots of applications don't make money – that's because they fit into the business in other ways. For instance, your bank's application is free, but I can assure you that the developers who built it aren't worried about the cost of an entry-level Mac mini.
The context is this: If you do this professionally, then you can afford the developer toolchain easily. If you're not employed as an iOS developer and you're just making applications for yourself? Sure, I can see how you'd consider it a moderately expensive hobby if you didn't already own a Mac. But we're really talking about two different things there.
> I'm holding them to the same standards. Microsoft offers tons of free tools for managing large pools of enterprise machines, maintaining their patch levels, group policies, access control, etc. Linux has similar support.
You've shifted the goalposts again. You were talking about having to hire somebody to manage Apple computers. IT manpower is required for any platform, so singling Apple out as special for requiring IT manpower is holding them to a different standard.
I really don't think the enterprise is relevant to your argument here. If a company employs enough iOS developers to require large pools of machines and more than a basic $2/month MDM solution, then they really aren't going to consider a $499 machine "incredibly expensive", whether it comes with or without a monitor.