Absurd. If you wish to be a competitive farmer, you need a tractor. If you wish to be a competitive auto mechanic, you need a set of expensive tools and parts. If you want to be a competitive mobile app developer, you need a Mac. Every trade has a cost-of-entry.
EDIT: further, porting Xcode to another platform would be non-trivial. With the addition of Marzipan, you can forget about Xcode being on any third-party platform.
I dont think your analogy holds up. To farm, you can buy any decent tractor. You can install your own tires, have the freedom to repair how you see fit etc.
A better analogy is developing Apple Apps is like trying to farm where BigCo forces you to buy their expensive tractors with no option to use anything else.
Or to use your mechanic example, imagine BMWs can only be worked if you use their proprietary tools that nobody can make.
And mechanics all over the world must buy BMW tools if they want to work on BMWs for people that own BMWs. Nobody is preventing anyone from working on cars, just BMWs. And the reason is that when you get BMW service, you expect BMW standards. Don’t work on BMWs if you don’t want to pay for the tools.
I actually think this is an important point, as highlighted by someone else commenting "I've been programming for a decade and only Apple has this restriction".
No one is forcing developers to make apps for Apple. There are plenty of other platforms anyone can develop for without paying a fee or buying a Mac. Developing for Apple products is a business decision, just like choosing to work on import cars vs domestic cars. Plenty of repair shops only work on domestic cars because they're easier to repair and cost less. That's a business decision. Are you losing out on a particular market? Sure. But that's a business decision. If developing for iPhone will get you more than $XXX, then it's worth it to buy a cheap Mac and pay the developer fee because it will increase your profits more than you will spend. If that's not the case, then just develop for Android which only costs $25.
I don't like paying the $99 fee or having to develop on a Mac just to make iPhone apps, but if it bothered me that much I would just stop making iPhone apps. Tim Cook did not come to my house and force me to make an app for him, I made the decision by myself knowing that the platform had restrictions and everyone on the platform had to abide by them.
As long as everyone is subject to the same rules, everyone has the same decision to make. No one is forcing anyone to make that decision.
This "No one is forcing someone to do X" is not how monopoly rules work. By that logic, no company would ever be a monopoly. You dont like X? Have you consider not doing it?
Microsoft wasnt forcing anyone to buy PCs. It is for people who choose to do that ("the market") that the company is unfairly wielding the power.
Is Apple preventing anyone from buying a competing smartphone? Microsoft paid companies to only sell PCs with Microsoft operating systems, is Apple pushing Samsung to drop Android and use iOS? Microsoft undercut competitors and used their marketshare in the OS space to make their products (Internet Explorer) the dominant product in the space. Is Apple drastically undercutting Android phones on pricing?
Microsoft forced Windows into being basically the only OS on the market in the 90s, and dropped their prices to 'free' in order to destroy competition. They didn't force you to buy a PC, but if you wanted a computer, because of Microsoft's practices, Windows was basically your only option. Conversely, if you don't like Apple products, you're in luck because smartphones are an incredibly competitive market and Apple only reaches the very highest end of that market.
In what way is Apple pushing the market into buying more iPhones and locking out Android from the market? It doesn't matter how monopoly rules work unless the company actually has a monopoly.
> Is Apple preventing anyone from buying a competing smartphone?
Apple prevents everyone from using a competing app store. No, the Play Store does not compete with Apple's store. You cannot substitute either for the other so they're in different markets.
Xbox prevents everyone from using a competing game store. No the Playstation does not compete with Xbox's game store.
Walmart prevents everyone from buying products from competing stores. No, Target does not compete with Walmart, you can't buy Great Value products at Target so they're in different markets.
Hacker News prevents everyone from using a competing site. No, reddit does not compete with Hacker News. If I click the "reply" button it only posts to Hacker News and not reddit so they're in different markets.
I guess by that definition everything is a monopoly. I'm going to sue to get my Coca Cola bottles filled with Pepsi under federal anti-trust laws.
> Xbox prevents everyone from using a competing game store. No the Playstation does not compete with Xbox's game store.
Indeed. You cannot substitute an Xbox game for a Playstation game or vice versa. Xbox games and Playstation games are different markets.
> I'm going to sue to get my Coca Cola bottles filled with Pepsi under federal anti-trust laws.
Having a trademark technically constitutes a monopoly. But there are good reasons to have trademark law anyway.
> Walmart prevents everyone from buying products from competing stores. No, Target does not compete with Walmart, you can't buy Great Value products at Target so they're in different markets.
> Hacker News prevents everyone from using a competing site. No, reddit does not compete with Hacker News. If I click the "reply" button it only posts to Hacker News and not reddit so they're in different markets.
I'll pretend you kept these ridiculous strawmen to yourself. If you have any actual arguments, I'd love to read them.
There are languages,tools etc that can do cross compilation. Ex you can export Linux and Mac Unity games from Windows. For iOS even if you use different tools to generate the application you are still forced to use the Apple dev tools to publish them AFAIK and pay the Apple tax
The hardware is mostly irrelevant for these two OS's. You could install both on any PC. A copy of Windows Pro is $199 (or less if you buy a PC off the shelf).
Apple chains their OS to their computers. There's no reason MacOS can't run on regular PC hardware, aside from the fact they don't want you to. The cheapest, i3 based (which is shit, obviously), 128GB hard drive Mac computer is $799.
Finally, to compare apples to apples: Android Studio runs on Windows, Mac, and Linux. XCode could do the same. Even if it was for iOS only. Which, most people would be targeting anyways.
"Need"? Legally, yes, but practically, no. "Hackintoshes" exist. VM's capable of running macOS are a few Google searches away. You are trading time for money going that route though.
I think that’s probably taking a bit far to be honest. If someone really wants to develop for the Apple platform you can pick up a perfectly serviceable used Apple computer either used or refurbished for a reasonable price that is good enough, like a used Mac mini or iMac. It might not be the latest and greatest, but neither is a $400 windows machine either.
Apple prices out the lower class and third world countries from developing. They are actively contributing to income disparity.
Edit, anyone want to argue the opposite? The upfront cost to develop for Apple is terrible for the lowest income developers.