Is Xojo really AppleSilicon native?

I can run the IDE on my M1 Mac, but I am not able to debug or build without Rosetta.

Or am I wrong?

Not native enough: Heads up – Writings from the sticks

1 Like

At the moment you still need Rosetta for linking. However, that’s a tiny fraction of the build time.

I wouldn’t exactly call “every single run” a tiny fraction.

3 Likes

But it is not completely M1 native then? I thought you guys said something like this in your latest blog post?

Allright, we are forced to use 2019R2.1 anyways. Would just have been nice to run some build pipelines for internal tools on M1 native.

But for some user this might be just another bullet point on their list of promises not kept. Doesn’t feels so good to me. Just my opinion.

2 Likes

Every single line of code, your application rely on, is an important tiny fraction. If it doesn’t work, the whole app doesn’t either.

Seemed to be a very important tiny fraction.

1 Like

Even with Rosetta, linking is faster on the M1 than it is on the Intel-based MacBook Pro.

Individual lines of code are not linked. The linker occurs after all code is compiled.

What people ultimately care about is speed and even on Rosetta linking is faster than it is on an Intel-based Mac.

1 Like

This is nice!

(But if you try to keep your Mac clean from Rosetta, this is not really an advantage)

yea, I know, this was more meant as a metaphor, you know? Sorry

1 Like

Not installing Rosetta does not make your Mac more clean though.

Completely agree. Your points are all valid, I see that too.

But, Xojo is still not completely M1 native, in my opinion. Its not really a technical discussion, it is more the thing that Xojo Inc. repeatedly stated one thing, but if you look closer it is either not really true or its only spoken from a marketing perspective.

I understand that, we‘ve done that too. But it remains not really true for some customers.

2 Likes

Ah, there you go. I missed that in the first place.

Our press release did not state that Xojo is completely native. We were careful to state what IS native. Imagine however if we had called our the linker. That would (more most users) create more confusion than any good it might do those who understand the difference.

One thing I learned from teaching programming, but really it applies to teaching anything and communication in general, only communicate what the other person really needs to know. Unimportant details don’t make things clearer. The reason someone cares about being native on the M1 is speed. Linking IS faster on M1 even through Rosetta so it’s not like you’re suddenly going to hit a slow down. Obviously we want each and every part of Xojo to be native but calling out a tiny fraction of the process that’s not (for reasons of Apple’s timing more than anything else) would not be useful.

We could have decided to wait and not ship the M1 support until the linker was native but I don’t think users would have appreciated that. They want to get the most out of their new machines so we shipped M1 support as soon as we could and well before most other tools.

Adding the mention of the linker to a press release would be akin to me introducing myself to someone as Geoff but then stopping to explain that technically my name is Geoffrey since that’s what is on my birth certificate and is my legal name but no one calls me that except my mother. That kind of extra detail detracts from a conversation rather than adding to it.

But have no fear. We will get that last tiny bit native as soon as we can.

2 Likes

I’m sorry, this is disingenuous. You can’t even debug run your app in native mode! What’s the point of having a native IDE if you can’t run? It’s like porting the IDE to an iPad for only project editing. The IDE is significantly less functional in native mode. How is it useful without being able to test your code?

I literally just ran into this today. Rented an M1 mini, downloaded 2021r1, wrote a couple lines, and pressed run. There it is, the linker error in the errors panel. This is a terrible first experience for a new user. The only saving grace is that there aren’t a ton of M1 users yet.

2 Likes

It’s not. You install Rosetta and go on with your day. And even if you did time just the linking, you’d find it to be faster than your previous Mac.

You’re making a distinction without a difference.

only when you are naughty


1 Like

Emulation is not native.

Isn’t this thread about dependencies and not speed tho ?

2 Likes