The ARM move of Apple and its effect on CX

MikeHart

Administrator
Joined
Jun 19, 2017
Location
Germany
Today I was reading up on the processor architecture change of Apple, from Intel towards ARM. It make complete sense to me on why they do it. But what consequences will that have for CX?
It looks like I need at least a mac that can build ARM binaries. That might be possible with an INTEL machine but I could not find information about it.
In Juli Apple wants to release the macOS 11 calles Big Sur. From what information I gathered, it will be the first migration of the mobile and desktop world on their platform. So maybe they have some kind of mechanism to allow these ARM apps to run on an intel machine. I read about Rosetta 2 and Universal build 2.
I think I might have a mac mini that is compatible with macOS 11 as it is a 2014 machine. But it is slow as hell already. But will I be able to create ARM distributions on it?
Who knows.
Do you know anything more specific?
 
Last edited:

ddabrahim

Active Member
Joined
May 3, 2020
Location
Cyberspace
No they did not mentioned ARM->Intel translation but Intel->ARM and to give developers 2 years transition period to catch up whatever that means, I guess after 2 years they stop supporting Intel Macs altogether and maybe even drop Intel apps from their store or not sure.

Personally, I really like this move, sounds really awesome to be able to run the very same apps on all 3 platforms, iPhone, iPad and Mac. This is a really nice move. I never had a Mac, always wanted to buy one but could not justify the cost. It is time for me to upgrade my PC anyway, maybe next year when they ship the first Macs with ARM is going to be right time for me to make the move. I also need to upgrade my phone so it is going to be also just right time to get an iPhone instead of Android maybe and get my feet wet in the ecosystem. I can still run Linux and Windows if I need to and I can always buy a cheap Chinese Android device if I need one after. I think this is truly the right time for me I am almost excited for this.

I also like some of the security features they announced like apps no longer allowed to embed webpages and behave like a web browser, only certified web browser allowed to open webpages like Chrome, Firefox, Safari and also Safari getting some nice security improvements. Actually, I believe they already begin to remove apps from the app store that embed webpages, many devs hate this move, but I totally get it from a security point of view which is important to me. Of course it is also a way to force apps accepting payment to charge costumers through apple and pay 30% to apple instead of redirecting them to a web page within the app and pay nothing to apple, but from security point of view it is also somewhat understandable to avoid users being scammed if the URL the app is opening is hacked or something or the app itself is dodgy.
 

MikeHart

Administrator
Joined
Jun 19, 2017
Location
Germany
Of course it is also a way to force apps accepting payment to charge costumers through apple and pay 30% to apple instead of redirecting them to a web page within the app and pay nothing to apple, but from security point of view it is also somewhat understandable to avoid users being scammed if the URL the app is opening is hacked or something or the app itself is dodgy.
From the security point, yes. But they are also targeting apps that are free. Anything free where Apple doesn't make a dime has to be removed. I guess soon we can't provide CX on Apple anymore and the user has to build it iself. Besides the barrier that the ARM architecture holds up.
 
Last edited:

ddabrahim

Active Member
Joined
May 3, 2020
Location
Cyberspace
But they are targeting apps only in the store or not? And the one they famously removed after 8 years "because it is made no profit in 8 years" was opening a website for payment. Though that is interesting they did not claim to remove it for security reasons but told it straight it is because the app made no money in 8 years. Did Apple actually told that or just the devs of the app?

Anyway, So it is not going to be possible to provide an installer that I can download and install and give it permission to run, open-website..etc?
 

ddabrahim

Active Member
Joined
May 3, 2020
Location
Cyberspace
I guess soon we can't provide CX on Apple anymore and the user has to build it iself. Besides the barrier that the ARM architecture holds up.
That is actually concerning indeed if we can build ARM apps only on ARM Macs. Wondering if Apple plan to do anything about it but they did not mentioned anything only that devs can pre-order now a development kit so they have their apps ready for ARM when it launches, I guess it means no, it is not possible to target ARM from Intel :(
 

MikeHart

Administrator
Joined
Jun 19, 2017
Location
Germany
They mentioned universal binaries 2, so that means apps should support both architectures for a while. How they are build is the interesting part.
 

AndyAndroid

Active Member
Joined
Jun 28, 2017
How they are build is the interesting part.
Seems like they will provide the capability to target compiles MacOS ARM on Intel machines. Especially since we already compile for ARM devices iPhone and iPad today on Intel based Macs. Maybe the simulator will just get MacOS simulator images similar to the current iOS simulator images?

There are a lot of high end Intel based Macs out there (and new ones in the Apple sales pipeline) so I would be really surprised if you suddenly could not compile for the new ARM based Macs that will come on the market towards the end of this year. So for Mac targeted apps those could be compiled as Universal 2 on an Intel based app, then test on (the supposed) MacOS ARM Simulator, then cross your fingers if you put the app in the store and someone runs on an actual ARM based Mac. That approach should work though for a while as there will be fewer ARM based Macs out in the wild until the Intel based Macs are finally deprecated sometime in the future.

So I think for CX it looks pretty good since it already targets iOS on iPhone and iPad, that makes the MacOS ARM just another compile. The real challenge will be initially getting the tooling running on the ARM based Macs, but there is some time to make that happen and with Universal 2 it should be easy to support through an XCode build. Dropping the Ted Qt connection in favor of VSCode now makes even more sense because of the MacOS ARM migration that is coming. Based on the path that Electron has taken over the years it looks like ARM support is already there for other OS's so MacOS ARM would seem like a feasible target.

For the near-term I would approach MacOS ARM similar to how CX approaches iOS apps.
 

Jimmy

Active Member
Joined
Jan 2, 2020
As I understand Xcode will produce Universal 2. The x86-64 version will be executed on an x86-64 machine and the
"ARM64" code on an Apple Silicon machine. You will never actually emulate ARM on X64.
Only legacy non-recompiled apps needs to ever be emulated on ARM. All native apps are already recompiled using Xcode,
including automator and stuff like that. So they are all good, optimised for both platforms.

"For the transition, developers will likely continue to use existing x86 systems to
build and cross-compile Arm Mac apps, as they do for iOS and iPad OS now."

If I understand it correctly Rosetta 2 will never used on x64 and only as a last resort on arm64)
but no x86 virutalization so Boot camp and Virtualbox is not an option on ARM macs.
(Microsoft still only licenses Windows 10 on ARM to OEMs)

Apple has stated that it will support x86 Macs “for years to come,” as far as OS updates are concerned.

Big Sur has a nice compability list :
MacBook – 2015 and later models
MacBook Air – 2013 and later models
MacBook Pro – late 2013 and later models
Mac mini – 2014 and later models
iMac – 2014 and later models
iMac Pro – 2017 and later models
Mac Pro – 2013 and later models
 

Jimmy

Active Member
Joined
Jan 2, 2020
I guess this is the next step coming from the current Catalyst framework. An evidence of that is that Metal will perform
better if you ignore the "desktop features" and only use what one could call currently to be the "ios features

Some version of OpenGl will still be available (although deprecated) but I'm not sure if will be Opengl ES or
OpenGL, I don't think both will be there.
 

MikeHart

Administrator
Joined
Jun 19, 2017
Location
Germany
Did you saw the passage that Swift might become mandatory for targeting ARM? That would be a blow.
 

AndyAndroid

Active Member
Joined
Jun 28, 2017
Did you saw the passage that Swift might become mandatory for targeting ARM? That would be a blow.
I saw that, but I also saw that a lot in the article were "thought experiments", and unfortunately at this time we just don't know for sure. I have done a fair amount of Swift development and less objective-C, but yeah, TRANS-lating from CX to Swift from the current obj-C would be some work. Yeah, this whole thing could throw a "Monkey Wrench" (pun intended) into the development of CX for the Apple targets going forward.
 

MikeHart

Administrator
Joined
Jun 19, 2017
Location
Germany
Ok i heard from one user outside the forum that OSX already complains about CX not being signed and TED asks for Keyboard permission.
Guess it is time to take these downloads down. The Github script works just fine.

Edit: Maybe it is time...
 
Last edited:

ddabrahim

Active Member
Joined
May 3, 2020
Location
Cyberspace
Guess it is time to take these downloads down.
I don't believe it is really necessary to remove the download and force people to compile from source. I understand it is a security risk from users point of view, but forcing people to compile from source not going to change this IMO.
 

dawlane

Well-Known Member
CX Code Contributor
Joined
Jun 21, 2017
OSX already complains about CX not being signed and TED asks for Keyboard permission.
Could be Qt accessing disability features, which as I understand it, now needs adding to the exceptions list in the Security and Privacy system settings. Or developer mode not being enabled.

Apple are eventually going to make it so that you will only be able to use their little ecosystem to develop and distribute software for Apple devices.
 

ddabrahim

Active Member
Joined
May 3, 2020
Location
Cyberspace
Could be Qt accessing disability features,
I don't know anything about QT and Mac but It is not that the app is not signed and so it is considered suspicious by the security modul of macOS? Even Windows complain sometime if an unknown, unsigned app is executed that trying to access input devices and desktop, you have to manually allow it to run. Even Chrome complain sometime if you download an unknown file that not many times have been downloaded yet and you have to confirm that you want to keep the file. So it is about being "unknown" I would guess...
 

AndyAndroid

Active Member
Joined
Jun 28, 2017
Once the new Xcode and macOS Big Sur are available, it looks like you can just compile a Universal2 binary and you should be all set. Also, this was a pretty good video watch at 18:00 for about 3 minutes:

Check the platforms state of the union, around 18:00.

Also in the video, around 20:15, there is talk about all the open source projects Apple is contributing to. Of note is Bgfx and Electron among others. I guess you decided to go with Sokol, but I just found it interesting that Bgfx made the cut, likely based on popularity. At any rate, this transition all seems a bit less disturbing as more information is gathered.
 

ddabrahim

Active Member
Joined
May 3, 2020
Location
Cyberspace
It is looks like a piece of cake to build a Universal 2 binary. It is also really nice of them they did contribute to many popular open-source tools and frameworks to help them with the transition.

Wondering though how long they are going to support Universal 2, I did recently read an article about they dropped support for PowerPC and Universal 1 binary after 4 years releasing the first Intel Macs so the author of the article did predict it is going to be the same, maybe they drop support for Intel even sooner because they told they expect the transition to take only 2 years this time which is make it a bit scary to buy a new Intel Mac now.

I am considering to buy an Intel Mac for now and use it as long Universal 2 is supported because I am worried there will be few things may not run on ARM though they did show lots of staff already running but never know. Hoping Universal 2 will be supported at least 4 years from now.

What do you guys think? Is it safe to buy an Intel Mac now that the first ARM ones coming later this year?
 
Last edited:

dawlane

Well-Known Member
CX Code Contributor
Joined
Jun 21, 2017
What do you guys think? Is it safe to buy an Intel Mac now
It's never safe to buy any Mac if your strapped for cash. You could spend £2k on one and the following year you could end up with a very expensive paper weight. I'm surprised that I managed to get near enough ten years out of the mid 2007 iMac with how Apple operate. I could get a little bit more out of it, if I can get hold of a compatible CPU that Catalina supports and a bit of trickery.

Apple rely on rabid fan boys with no sense, that come complete with wallets so full of cash that you could bludgeon a whale to death, or use as a platform to wash the top windows of the Burj Khalifa if the need arises.

I've just recently bought an ASUS Vivobook MD509DA (specs Ryzen 7 3700U 8GBRam 512 NVMe) SSD laptop. I'm impressed with how it handles as a development machine, but one thing that seems to plague ASUS laptops are dodgy power connectors. The only reason that I bought this laptop was to replace my trusty Sony VAIO VGN-AR51SU that finally died after 13 years of use. That little gem cost near £2k, let's just say that when I spend serious money on a product, I like to get my monies worth out of it.
 
Last edited:

ddabrahim

Active Member
Joined
May 3, 2020
Location
Cyberspace
when I spend serious money on a product, I like to get my monies worth out of it.
Yes, this is exactly why I am a little concerned because Mac is ridiculously expensive, even if I look at second hand ones that is just slightly better than my current rig it is cost $1.2k and if I choose to buy a new recent model it is $2-3k if I want to get one with much-much better specs considering I can not upgrade after, may even can't upgrade the RAM. Even if I just look at ones second hand that is about the same spec as my current rig only to get the wheel going it is cost $600. Obviously I can not afford this much money to waste. if I decide to get one, I am definitely want to look into iOS development maybe even Swift to make it worth the money and would like to use it as my daily drive at least for 4 years if I get a more expensive one but worried if Apple pull the plug just after 2 years especially after reading that article.

It's never safe to buy any Mac...could end up with a very expensive paper weight.
Yes, this is also the reason why I would like to get an Intel one because if macOS and iOS development doesn't work out, I can still run Windows and Linux on it, I doubt I could do that with the ARM, I know Windows 10 do support ARM but it is Apple's own ARM based staff so it might not work, probably not.

I am not desperate to get a Mac but I did want to for a very long time but never really had a really good reason to spend that much money. Now I got a little interested in iOS dev because iOS apps be able to run on macOS too and I do need to upgrade both my PC and my mobile so it is feels just the right time to get a taste of it maybe but yeah I don't want to end up with an expensive paper weight for sure.

Thanks for sharing your thoughts.
 
Top Bottom