I have a macOS VM under VMWare running on Windows. It wasn't that difficult, found some guides online by googling obvious search words. The only thing I haven't gotten to work yet is the App Store, but I saw a guide for that, just haven't done it yet. You won't get graphics acceleration btw, but CPU performance is fine.
I believe the trickiest bit was running a macOS serial generation app and copying that value into the VM settings.
(I've purchased plenty of Macs over the years so pls Apple, this is just for dev purposes!)
By then, Windows 11+ will have moved onto ARM and whatever cross binary solution Microsoft is working on should be complete.
Also, with emulation/virtualization, it's still perfectly feasible
I don't want to destroy your hope but take a look at ARM support in linux. (TL;DR the ARM space is very fragmented so taking a running system from one machine with ARM to another is not possible).
It's a shame that web developers have to spend $500 to buy a bespoke web-browsing machine just to make their sites work better with Apple hardware. If Apple wanted people to treat their browser seriously, they should have simulators and developer tooling to spare.
Safari (not WebKit specifically; the rest of the browser) relies on OS libraries. Those libraries would have to be reimplemented for other OSes.
I don't mean that that would be an impediment to porting; Apple have done this before—Safari 5 was available for Windows. (And interestingly, vice-versa, IE5 was available for macOS!)
What I mean is that the differences in implementation of these OS libraries would mean that this version of Safari wouldn't be bug-for-bug compatible with macOS Safari; and therefore, testing on this version of Safari wouldn't necessarily get you what you want, if your goal is finding and squashing 100% of the bugs that testing on macOS Safari would allow you to find and squash.
To use a pretty close analogy, it would be like a development workflow for Windows executable that involved running them under Wine in Linux, and never actually under Windows. You've QAed for the API surface, sure; but you haven't actually QAed the software for how Microsoft's own library implementations work (and the bugs that those implementations introduce.)
You're not wrong, but in practice I'd imagine >99% of bugs are in the rendering / webkit layer, not in the OS integration layer.
Sure, if you're making a plugin that plays with bookmarks or 'Read Later', you'd likely run afoul of the issues you mention. But most web devs are concerned just about browser compatibility of rendering their web-app. In this context, as long as web page rendering and JS engine is identical between OS' it's fine.
This very much depends on the bugs. In the past I've found many bugs in text rendering (especially related to non-English text[1][2]), layering (inconstent opacity), audio and video playback, etc. which were dependent on the combination of browser, operating system, and, in some cases, hardware. The general trend has been for browsers like Chrome and Firefox to take over more responsibility but that's not what Apple has done in Safari so it looks like a lot more work to say they should duplicate OS functionality to make it easier for Windows-only web developers to test with Safari.
Rendering issues are OS issues too. For example, Safari's font rendering depends on the particulars of macOS/iOS's font-rendering framework. Safari on Windows would presumably use Windows' font-rendering framework, with drastically different results, due to the different frameworks supporting different subsets of e.g. ligature-pair width hinting or hyphenation, thereby causing text to wrap in different places, such that the layout at a given font size + viewport size on Windows wouldn't be predictive of the layout at the same font size + viewport size on macOS. (Which is not even to mention the fonts you'd have by default on Windows and not by default on macOS, that would interfere with the font family cascade, and yet couldn't be suppressed from the cascade because some macOS systems do have them.)
Or, for that matter, there could be certain exposed -webkit CSS selectors that are really just features of some or another macOS rendering-layer framework, with no Windows equivalent — the same way that IE's ancient CSS "filters" were really just exposed DirectX features (e.g. filter: progid:DXImageTransform.Microsoft.blur). For these cases, testing on "Safari on Windows" would essentially just get you what testing in Chrome on Windows already gets you (unless Apple created an entire software renderer that brings in all of macOS's Quartz and all its subsidiary libraries as a big ol' polyfill.)
The point at which Safari is guaranteed to work like it does on macOS, is the point at which you're bringing in a polyfill consisting of 99% of macOS's frameworks. May as well bring in the last 1% as well, and call it a VM. (Ideally a thin-as-possible paravirtualized VM where the display driver is written to directly make DirectX calls, etc. — but VM client software is already pretty good at providing these sorts of drivers.)
I don't know about the early versions, but I believe the final version of IE for Mac, though also numbered 5, used an entirely different browser engine from that on Windows. Tasman
The guy who wrote the book about the making of the iphone sent a bunch of emails to tim cook with tracking enabled and each time it was opened by a windows device. other comments in this thread have more links the story.
Seems a very good idea from a security POV. You get an email and your favourite Email program will be more than happy to open the link and execute the code. And because this is the CEO of Apple, you presume that he is using MacOSX and send him an Apple executable. Which will not run on a windows machine.
Now, ransomware on the other way ...
Debugging iOS-Safari issues on a web page requires:
1) Access to a Desktop Mac and a Desktop Safari.
2) An iOS device.
The Safari debugger recognizes a plugged-in iOS device and then allows to debug the iOS safari remotely. That's the only reliable way to find iOS specific JS or CSS issues. Browserstack alone does not help, unfortunately AFAIR.
Only reasonable option I've come across so far is buying used hardware. VM under Win10/AMD seems like a PITA.