DEV Community

Shohei Kameda
Shohei Kameda

Posted on

Apple Silicon for developers?

It seems that the performance is great on Apple Silicon macs. iOS developer can jump in the new hardware but what about others, like Web developers? Homebrew is not fully Arm'ed yet and CLI tools via terminal app runs through Rosseta?

Then virtualization? It might be hard at this moment.

And more importantly, our production services are running on x86 servers. It may be a discrepancy between servers and the dev environment.

Or go with VPS+SSH? This doesn't use Apple silicon architecture at all but you can show off your new mac devices to your friends without worrying about the development environment.

Any thoughts?

P.S. As an indie developer, I created Online Linux Terminal, Wazaterm which you just need a browser to have a Linux terminal. You can check this out if you choose VPS+SSH :)

Top comments (11)

Collapse
 
joelbonetr profile image
JoelBonetR đŸ„‡

Being honest I'm enough old to ensure that the performance on Apple products never was a point of sale.
Never using the latest CPUs on the market, never using the fastest RAM, nor the best GPUs. Also not the best keyboards and for sure not the best batteries or IO connections count and diversification according to the industry standards.
I have never seen anyone buying an Apple product for performance (at least anyone on IT) for obvious reasons and for not sounding ridiculous.

They sell design. Not that kind of design that ensures good airflows and the best performance on a stock hardware, only looking good design.

The only reason for a developer using a Mac or MacBook is that this developer is coding iOS or MacOS Apps. If it's not your case, you lost money on your work tool because you can get much more performant laptop or desktop rig at the same price. More performance means you can use it for long time without being outdated and that you'll be able to work faster from the first minute of use.

Nowadays you can choose either having any Linux distro or using Windows + WSL2 if you need to use photoshop or any other non-Linux software for any unknown reason (still not understanding how there's people doing web designs using photoshop but that's a thing to discuss on another thread).

Now answering your question it will depend on your software entirely. If your code uses complex instruction sets it will probably run better over CISC architecture than on a RISC one (ARM), no matter if there's a translation layer or a built-in way to run them as RISC instruction sets, as you'll need much more clocks to compute the same result.
Of course there's much more about that, the electricity costs of a RISC should be noticeably less in comparison to a CISC -x64 architecture, or x86 if someone still uses that with its limitations-. The question would be if you prefer to save some money on electricity bill to run your code on RISC devices or you prefer to stay safe on a CISC one at its cost.
The future will be RISC for sure, at the end it's a much more modern technology and architecture, made for the market needs (smartphones) and can be extrapolated properly into computers and servers, but I think there's a long way to go before this could happen. You need intel, AMD and nvidia researching about that. OS developers working about that much harder and finally we, devs using that.

On a web dev point of view, we should be agnostic about the OS architecture behind our code unless you are doing something on high computation jobs and custom OS platform (which is usually a sysadmin job, not a developer one), as we'll run a part on a server interpreter/engine (usually) and other part on a browser interpreter.

Collapse
 
mileswatson profile image
Miles Watson

Thanks for the insight! I was looking in to buying an ARM MacBook for university (CompSci) next year, but I think I'll stick to Windows laptop with WSL2.

Collapse
 
joelbonetr profile image
JoelBonetR đŸ„‡ • Edited

That's a good decision unless you plan to code iOS and/or MacOS APPs.
If you need to pick a new laptop I really recommend this one which deals awesome performance for the job with a contained price:

consumer.huawei.com/en/laptops/mat...

16Gb RAM, 512Gb SSD M.2, Ryzen 4600H (4800H model will be released on a near future) and 14" with an awesome 1440p panel with 100% sRGB color range support, which makes it compact and portable everywhere, priced at 899€. I'm with the 2019 model which has a 3500u + 8Gb RAM and it can deal with big javascript projects without issues so this 2020 model could be nice for long term usage. Of course, if you can get the 4800H model it would be even better (Huawei usually releases the lower CPU first, then the higher one, you can ask to support to see when they plan to release it, I assume it will be priced at 949 or 999€).

Also I'm glad there are no bloatware coming from Huawei, only an utility that is really nice to have (specific driver and BIOS firmware updates, full hardware check and some features) which also makes me to recommend this laptops.


For reference and being not the most important thing to me, I can play Path of Exile at 1080p 38-33fps on my laptop with a 3500u (4 core 8 thread) and 8Gb RAM with default graphic settings which is more than I expected. That being said I would expect significant increase on performance, being the 4600H a 6 core 12 thread, with double the cache and clocked at +300Hz more than the 3500u on both CPu and integrated GPU, specially on those tasks that are more CPU demanding. Also if you pick the 4800H it's around 12-20% more powerful than the 4600H (and also being a 8core 16thread CPU, clocked a bit more and with a bit more of cache).

Best regards

Collapse
 
moopet profile image
Ben Sinclair

If I had to use one, I'd go with the "ssh into a real computer" technique.

Once containers work properly, I'd do that. I mean, all my development on my work Mac at the moment is really on Linux in containers anyway.

Collapse
 
ugglr profile image
Carl-W

Sitting here researching the exact same thing! Funny I was also thinking about VPS+SSH solution for doing server stuff. And then there's Docker, and all of that other stuff we use on a daily basis. At the same time we don't want to be left behind if we opt for Intel at this point. Glad to hear that I'm not alone in thinking about this.

Collapse
 
nikhilmwarrier profile image
nikhilmwarrier

I guess Backend Web Developers should stick to windows or Linux, cuz that's ultimately where the sites are served, ie. in windows server edition or a linux distro.

But frontend devs might want to test their websites on Macs for cross-browser compatibility with Safari

Collapse
 
d1p profile image
Debashis Dip

For the dev community, I think it will mostly depend on how fast the core tools will be compiled.
For example, If the core tools we use to create software comes out sooner then it will be a better experience for the other developers to carry on the work and release/ compile their software as well. For me, Python3, Some python packages with c code, Pycharm, Postgresql, Redis, VSCode needs to adapt as fast as possible so that I can use that chip for everyday work.

Collapse
 
rhymes profile image
rhymes • Edited

It just needs time, the chip came out a few days ago in addition to a new version of macOS, there's a ton of software that needs to be converted or cross compiled :)

Its energy efficiency and performance seems promising!

Collapse
 
josemunoz profile image
José Muñoz

Electron apps need to migrate first, namely VSCode

Collapse
 
snorkypie profile image
Steeve Lennmark

Apple for developers has been dead for a while and this switch was the nail in the coffin. I've been on Windows (Insiders edition) and android since the first version of the touchbar and with WSL2 there's nothing I really miss (except maybe Alfred). This after being an apple fanboy for the better part of 10 years, pretty much quit cold turkey after getting the MBP and returning it in favor of a Razer (which was the only laptop with similar build quality I could find).

Collapse
 
defman profile image
Sergey Kislyakov

I'm waiting for a Pro "Pro" model with M1. 2 USB ports is a joke. I guess they are testing the processor first, then they will update the Intel ones (with 10-th gen processors).