3 ms·
> Apple doesn't give a toss if your app is cross platform. Maybe but they sure as hell don't make it easy for cross-platform software to target their platforms
by supernintendo 7y ago
> Apple doesn't give a toss if your app is cross platform.
Maybe but they sure as hell don't make it easy for cross-platform software to target their platforms. As far as I'm concerned, the only feasible way to target Apple platforms at this point is to:
1. Buy a Mac so you can officially run macOS and Xcode.
2. Spend $99 every year for an Apple developer license.
3. Spend the time to learn Swift, a language which despite being touted by Apple fanboys as being cross-platform is basically useless unless you're targeting the official Apple APIs.
4. Learn and stay up-to-date with Apple's ever-changing APIs (just wait until Cocoa and Cocoa Touch are completely deprecated in favor of some other API that is only accessible via SwiftUI... calling it now)
5. Keep up with Apple's ever-changing policies around what and what is not acceptable within their walled garden.
6. Give 30% of your profits to Apple.
Fuck that shit. Look, I don't use Electron applications as a general rule and I do agree with your gripes about "web based cruft". But at least it's possible for developers to learn that cruft and use their knowledge to write software without spending a ton of money and having everything they know be limited to Apple's walled garden. As much as Hacker News loves to hate on JavaScript, guess what? It's free and accessible. Anyone in the world can learn to use web based technologies to build software and enrich themselves (and maybe even others). If you're writing software for Apple platforms, you're only working to enrich Apple's ecosystem and investing your own time and money to do so. Maybe it's just my Linux / FOSS fanaticism but this perspective toward software development just doesn't resonate with me. I want anyone who wants to use the software I write to be able to use it, not just Apple's customers.
- matt4077 7y agoApple really doesn't care about those $100/year or even all the hardware all developers in the world together buy. So you have to wonder why they require people to jump through these hoops, and a wish to focus on native, high-quality software does seem to be the best explanation I can come up with.
- threeseed 7y agoThat is all just nonsense. You don't have to use Swift as there are plenty of alternatives many of which run on Windows or Linux. So in theory you could do all your development on a non-OSX platform and then just use one of the Mac hosting providers for CI/CD. And you don't have to give Apple 30%. Just notarise your app and add a link from your website.
- supernintendo 7y ago> You don't have to use Swift as there are plenty of alternatives many of which run on Windows or Linux. I'd use an application written in Java or one built with a cross-platform GUI toolkit like Gtk+ or Qt in Windows or Linux. I wouldn't in macOS and most users won't either. They're ugly in macOS. They stick out like a sore thumb. It's not that it's impossible for a cross-platform approach to produce an application that is nice to use in macOS, it's that there is technical debt in the libraries and frameworks that attempt cross-platform and usually it's a failure to keep up with the constant changes in the Apple ecosystem. A few years ago Apple removed support for OpenGL so now if you want to write 3D applications you have to use Metal. Thankfully, there's MoltenVK so if you want to target multiple platforms you can use Vulkan but how do you know that approach is sustainable? MoltenVK only uses public APIs so its safe to use for the time being. That said, any number of decisions Apple makes moving forward could potentially rule it out as a viable option. > And you don't have to give Apple 30%. Just notarise your app and add a link from your website. That's a fair point although maybe not the best UX for all purposes.
- wrboyce 7y agoWhy are you so angry, to the extent of blurring the truth, about something which apparently has zero impact on you? I think listing “need to learn to program” as a negative prerequisite of “want to build apps” is somewhat disingenuous.
- supernintendo 7y ago> Why are you so angry I'm not angry although I am somewhat frustrated with some of the fragmentation that exists in software, especially when so many on Hacker News are quick to dismiss projects that try to bridge that gap. I understand why Electron is hated but why isn't there a better alternative? How many attempts have there been at providing a good cross-platform UI toolkit that can build applications which look and feel "right" on the platforms they target? Gtk+, Qt, WxWidgets, etc. all suffer the same fate over time and a lot of it has to do with growing technical debt as a result of endless domain-specific iteration. New UX patterns to account for, more OS-specific APIs to learn, etc. Compare Apple's strategy to that of Microsoft. macOS Catalina has this new feature called Catalyst which lets you run apps written for iOS on macOS. Very cool although you'll have to write your app in Xcode which only runs on a Mac and that app you wrote won't run on any other platform. Meanwhile, Microsoft maintains a free IDE that works on all of the major operating systems (Visual Studio Code), they let you easily set up a Linux environment in Windows using WSL, they're focusing on languages like TypeScript etc. With how profitable Azure is for the company, it makes sense the company is not interested in locking you into a Windows-only world. In the same way, I'm not surprised that Apple development is so specific to the Apple ecosystem. > I think listing “need to learn to program” as a negative prerequisite of “want to build apps” is somewhat disingenuous. If you think "need to learn to program" and "need to learn Swift, Apple-only APIs, etc." are equivalent, then you're the disingenuous one.