28 ms·
I think this is a mistake. iOS is not a normal platform, it offers no backwards compatibility guarantees. Apple can add new restrictions or remove APIs at any t
by zarzavat 2y ago
I think this is a mistake. iOS is not a normal platform, it offers no backwards compatibility guarantees. Apple can add new restrictions or remove APIs at any time. This means that Python can’t offer backwards compatibility guarantees either.
Moreover it’s expensive to develop for iOS as you need a semi-recent Mac. You can’t even virtualize MacOS because Apple bans virtualizing it except on Apple hardware. That matters for an open source project where everybody should be able to contribute.
The better way to do this would be for Apple to contribute iOS support themselves. To have a good experience with Apple you really need someone on the inside who can cut through the BS (though sometimes even that doesn’t help).
- RicoElectrico 2y agoHonestly so is macOS. Literally not providing any open graphics API - and all the signing shenanigans - are preposterous. The Stockholm syndrome is strong. Oh, and did I mention the ridiculous restore mode which often necessitates using another Mac? Is this a productivity device or an overgrown iPhone? Now I was about to say maybe MS will offer something similar ARM-based, but then I realized it will also hamstring the devices in some way, not to mention their CPU partner is Qualcomm...
- cqqxo4zV46cp 2y agoIt’s very telling when people tell me that I have Stockholm syndrome instead of considering the possibility that different people have different preferences and priorities. Especially when your preferences seem to revolve around a particular ideological bent. I have no idea what “ridiculous restore mode” you’re referring to, but in 15 years of full time Mac use, including using Apple Silicon Macs from around 6 months after release, however many years ago that was, I haven’t run into a situation where this has been necessary. Please don’t devolve another discussion into 2000s Mac bashing. Especially when your ostensible worldview is predicated on a bunch of people being stupider than you.
- xg15 2y agoIf you have never used the restore mode, how can you judge whether it's usable or not?
- deleted 2y ago[deleted]
- rahkiin 2y agoOpenGL is available on macOS. The best-on-platform for Windows is DirectX12, also closed. There are many things to complain about but spearheading a new type of graphics apis with Metal (before Vulkan and dx12) should not be one.
- adamomada 2y agoThe ridiculous restore mode you’re speaking of is a break glass in case of last resort type thing, where you the user have screwed up your disk so badly that you have messed up the recovery partition and system , which is as simple as holding cmd and R during boot to get into. In fact they really went the extra mile to ensure that you cannot possibly brick a Mac (or iDevice) no matter how hard you try. Having to do an emergency restore usually needs specialized hardware anyway; they ensure you can do it with widely available equipment. Go the Apple store if all else fails you.
- jojobas 2y ago> The better way to do this would be for Apple to contribute iOS support themselves. Why would you wish Embrace-Extend-Extinguish onto Python?
- servus45678981 2y agoIt would be even a bigger mistake not to. Such platforms should not be ignored as they are big enough to be important.
- KeplerBoy 2y agoPython seems to do pretty well ignoring iOS.
- servus45678981 2y agoWell Android and Windows are starting to struggle with marketshare so… not everyone wants to be converted to Linux and that is a fact
- amelius 2y agoSince I cannot install stuff from a third party on my iPhone without paying Apple (unless Apple says I can), it is clear that I don't own my phone. So it seems fair that Apple then is the one paying for the efforts of getting FOSS support on their device.
- cqqxo4zV46cp 2y agoThankfully, you and Apple aren’t the only two choices here. That’s the thing about open source, isn’t it? Someone else is free to go and do it. And they are. The system is working as it should.
- Aaargh20318 2y ago> Since I cannot install stuff from a third party on my iPhone without paying Apple That’s weird. When I browse the App Store it’s full of free apps.
- amelius 2y agoYou stopped reading at "(unless Apple says I can)"
- cqqxo4zV46cp 2y agoI’m sure it’d upset you to find out that macOS itself is a current first class Python target. The fact that Python on macOS seems to be doing just fine should probably serve as an indication that your concern is rooted in ideology rather than any actual issues.
- phoronixrly 2y agoIsn't macos POSIX? Is iOS POSIX?
- saagarjha 2y agomacOS is POSIX. iOS is clearly not (though it provides many POSIX APIs).
- servus45678981 2y agoiOS is using Posix tech in the background. It is surprisingly even using gnu tools in the background
- geraldwhen 2y agoA Mac mini is a few hundred dollars. All development is expensive. The hardware has little bearing on the total cost.
- xg15 2y agoDeveloping for any other platform is zero dollars in terms of hardware cost.
- blurrybird 2y agoHow exactly do you write/test your code on free hardware?
- servus45678981 2y agoThat is bullshit. You always need the hardware, most need a server. There is a difference between programs and applications - ffmpeg for example is not an app, but a program.
- xg15 2y agoOf course you do - but it's not a development cost per platform for any other platform except apple. If you already have a PC (which even for hobbyist devs can be taken for granted), then developing for any additional platform will not incur additional costs - except for apple.
- geraldwhen 2y agoI don't have a PC. I have a mac. If I wanted to do serious game development, I would be forced to buy a PC, if for no other reason than testing. This is just the cost of development.
- xg15 2y agoYou can emulate Windows or Linux on a Mac [1]. You can't emulate MacOS on a PC, because Apple specifically disallows it, as the GP already mentioned. [1] https://www.macworld.com/article/668848/best-virtual-machine-software-for-mac.html https://www.macworld.com/article/668848/best-virtual-machine...
- Aaargh20318 2y ago> it’s expensive to develop for iOS as you need a semi-recent Mac I'm so tired of this bullshit argument. No it's not expensive to develop for iOS. You can get an M2 Mac Mini for $599. Upgrade it with more memory and storage and you're still well under $2k. How is that expensive? If you can't afford the $2k for a Mac then you certainly can't afford the developer who has to use it. There are few professions that require at little investment in tools as a fraction of the salary of the professional using those tools as software development. Go ask a carpenter how much they spent on tools and how much they get paid. "But what about people who program as a hobby" I hear you say. Again, it's one of the cheapest hobbies you can possibly have. Have you ever talked to anyone who had any kind of hobby? Ask anyone who is a hobby musician how much they spend on instruments. Ask a hobby photographer how much their equipment is worth. Ask anyone who's into arts and crafts what they spend on their hobby. Hobbies cost money, and most cost a lot more than a new Mac every couple of years.
- deleted 2y ago[deleted]
- progbits 2y agoSheet music doesn't require me to buy an instrument from a specific manufacturer, nor do the instruments come with EULA that limit how I can use them. Price is not the point. Some of us simply refuse to buy such products.
- Aaargh20318 2y agoWay to move the goalposts there. We went from “it’s too expensive” to “price is not the point”
- xg15 2y ago$2000 is expensive for an open source project where people are contributing in their free time. Are you suggesting that EVERY person that wants to work on the iOS support of python buys themselves a $2000 mac, switches their entire workflow to MacOS etc? > Again, it's one of the cheapest hobbies you can possibly have. No, definitly not, ESPECIALLY not for open source development.
- dadoum 2y agoAlso iOS development doesn't require a Mac, you can do apps without one on Linux, you will just be on your own for tools (but for example if you make an app with theos on CLion you will get completion for Objective-C, and it was not that bad imo)
- lostmsu 2y agoHow do you build and distribute them?
- fragmede 2y agoGitHub.com as source. This is currently possible today, with iOS ides like Pythonista, Beeware, and Kivy. you don't get a neat app to s distribute but you can run python code on iOS today. This PEP is to make iOS a supported platform for the reference implementation, CPython.
- dadoum 2y agoWith theos, and I install them through SideStore or directly sideload them as a dev on my device. I could use App Store Connect if I had a dev account for that too
- saagarjha 2y agoiOS is for the most part backwards compatible. Sure, they can remove APIs and make your life miserable in theory, but in practice they usually don't–at least, not on purpose. macOS is far worse at this actually because it started from a place of promising the world and Apple slowly realizing they didn't want to do that, while iOS has mostly come from "you get nothing" and every year you get a few new things.
- _lvbh 2y agohttps://github.com/sickcodes/Docker-OSX https://github.com/sickcodes/Docker-OSX Not sure about the law but I’ve been running MacOS in a VM for a while for compiling things
- Cupprum 2y agoThe author in PEP mentions, that you can use Github Actions for building of the libraries [0]. [0] - https://peps.python.org/pep-0730/#ci-resources https://peps.python.org/pep-0730/#ci-resources
- curt15 2y agoDoesn't that mean renting Microsoft VMs to develop Python for iOS? Github Actions don't fall from the sky like rain. They are a commercial service that happens to offer a free tier.
- dvfjsdhgfv 2y ago> Apple bans In practice, Apple can't enforce it. The maximum they can do is to ban sales of products with iOS on non-Apple hardware like Hackintosh etc. But they are powerless against the law in many countries, especially in Europe, which explicitly allow modification of software for interoperability purposes.
- musicale 2y ago> iOS is not a normal platform, it offers no backwards compatibility guarantees. Apple can add new restrictions or remove APIs at any time Oh, like macOS you mean? > Moreover it’s expensive to develop for iOS as you need a semi-recent Mac It seems to be possible to create an App Store app on an iPad using Swift Playgrounds: "And when you’re done, it’s easy to share your creations with friends, or even submit your app to App Store Connect."[1] [1] https://developer.apple.com/swift-playgrounds/ https://developer.apple.com/swift-playgrounds/
- Ferret7446 2y agoOSX is POSIX, is it not?