> How do you test on Safari if you don’t have Apple devices?
How do you test a Playstation game without a Playstation (dev kit)? How do you test some hardware firmware without having the hardware? How can you run a program without the hardware required to run the program, if no emulator/simulator is available?
I'm almost lost at words how these are questions, unless they're theoretical and some diatribe comes afterwards that has the actual point trying to be made, but it never came.
Yes, some things run only on specific hardware and without virtualization/emulation, you're not supposed to test those things outside of the hardware. Been a thing for decades, probably since the beginning of computing.
> How difficult can it be for Apple to make barebones virtual machines with just Safaris?
Almost nothing Apple does is seemingly decided by how difficult it is, for better or worse, but are strategic decisions. If you haven't caught up with that they're building a walled garden for themselves, I'm not sure what could convince that they are. I think this is extremely clear for most people. If you don't like it, don't play there, like the rest of us.
I don't think it's fair to compare development for web, which is supposed to be an open standard, with developing for a proprietary piece of hardware like the Playstation.
If you want to develop a game for the Switch and ignore the Playstation entirely, you can, and then you don't need a Playstation (dev kit).
When you're developing for the web, you're ideally making something that runs regardless of the user's browser. When you start getting bug reports in from Safari users, how else are you supposed to fix them? Cheapest option is detect if they're a Safari user and tell them to use another browser, but that's not really ideal for anyone except Google.
If you're developing for the web and you're not testing you're site on real hardware, including a handful of iPhones and a handful of Android devices, your not actually testing your software.
You can't just check Chrome and assume everything else will exhibit the same behaviors. Standards exists, but so do bugs.
Having access to a representative spread of devices is the reality of web development. As a web developer that doesn't own any Android devices, I was "forced" to buy a couple of Android devices so that I could squash bugs (some of which couldn't be replicated in emulators) and to refine aspects of the physical touch experience that emulators cannot emulate. I don't resent these purchases, because I understand it's the reality of developing for a diverse open web.
And yet, oh how often I hear developers resent having to buy an Apple device. Every time, I look at my little stack of Android devices and instinctively roll my eyes.
> Cheapest option is detect if they're a Safari user and tell them to use another browser
I suppose the cheapest option for me was to detect if they're an Android user and tell them to use another device. It sounds silly to say it — it is silly to say it — but that's exactly the same logic.
A lot of folks want to run tests off a GitHub action I.e. on a server somewhere.
Ideally you want your test stack to fit in a docker image. So this does suck for developers in the respect and you could imagine apple releasing a special docker image that just ran safari if they wanted to really make it easy to develop for thier platform.
However, I imagine someone will fill a server rack with cheap old macs and offer and safari mcp as a service…
> A lot of folks want to run tests off a GitHub action I.e. on a server somewhere.
Understandable, but also if you're dealing with these sort of projects, you kind of have to setup that sort of automation yourself in an office/someone's house, unless you find some provider that already hosts that sort of thing, like the various Apple/vendor-specific services for that.
It's also not a very new thing really, MacStadium for example been around since like 2010 sometime.
How do you test a Playstation game without a Playstation (dev kit)? How do you test some hardware firmware without having the hardware? How can you run a program without the hardware required to run the program, if no emulator/simulator is available?
I'm almost lost at words how these are questions, unless they're theoretical and some diatribe comes afterwards that has the actual point trying to be made, but it never came.
Yes, some things run only on specific hardware and without virtualization/emulation, you're not supposed to test those things outside of the hardware. Been a thing for decades, probably since the beginning of computing.
> How difficult can it be for Apple to make barebones virtual machines with just Safaris?
Almost nothing Apple does is seemingly decided by how difficult it is, for better or worse, but are strategic decisions. If you haven't caught up with that they're building a walled garden for themselves, I'm not sure what could convince that they are. I think this is extremely clear for most people. If you don't like it, don't play there, like the rest of us.