https://visualstudiomagazine.com/Articles/2022/06/16/csharp-...
Or its beloved Xamarin,
" Rewrites never go as planned.
Xamarin.Forms turning into Maui was supposed to be a quick change, fueled by hopium so strong it defied gravity.
Instead, at best, it set it back 2-3 years."
https://x.com/migueldeicaza/status/1610665502598127616
You will find other juicy remarks, after the deadline to not speak about the acquisition expired.
But this port could not have been done with Xamarin due to the lack of SwiftUI integration.
I’m signing up and gonna try it out, but I feel like I’ll need to put more than an afternoon of dabbling to get anywhere interesting.
I am not really familiar with the apple ecosystem, but my understanding is that they frown on open execution environments, that is emulators, virtual machines, interpreters etc. and a system that lets anyone develop and load games sounds like just that.
There are some tricks, like using curl | sh approach by the user for UNIX-like environments, or similar things for Python IDEs. But again it is something that the user have to do and learn about it from an outside source.
My plan is to ship something that is both a great iPadOS app and operates within the confines of the AppStore restrictions.
I find restrictions as a powerful motivator to think about a problem differently. Lots of great art (and software) is great when it explores and brings to light what’s possible with the limitations of a medium.
First of all, getting SDKs was akin to console devkits, back in 2004 getting a Symbian SDK was still a commercial only product for example, same for Windows CE/Pocket PC,...
Followed by about 80% tax, only to be listed on mobile phones magazines, with the SMS code to trigger the application download.
Hence why everyone rushed for the garden, it was indeed easier to be creative in Apple land.
Now 20 years later, there is another reality.
I could be wrong, but don’t you need to join the Apple developer program to get the sdk? It’s $100 a year, right?
I know you do to publish apps, which in the us is the only way to get apps to users.
They haven’t allowed emulators till this year, but Xodot isn’t an emulator.
But what you’re likely thinking of with regards to execution is that they don’t allow creating new executable code. Ie no JIT or compilers, but interpreters are fine. Hence you can do GDScript (which runs in an interpreter like Python does) but you won’t be able to use the other language backends which compile down.
The Metal compiler is embedded in the Metal runtime and runtime compilation of GPU kernels is part of the official API. So I'm not sure if Apple would actually prohibit JIT-ing GPU code.
Now that I think of it, I wonder if you could create a Metal IDE using nothing more than the Swift Treesitter module and a Metal definition for it. As of today, you can use the Swift Playgrounds app if you don't mind not having any compiler errors or warnings provided to you.
Here’s one that might catch your fancy https://youtu.be/4TiBP0loC7s?si=HUNUSg0KMwRbdcK3