I can say I was very impressed by the benchmarks results given by those machines, so I decided to try one out.
TLDR - I didn't choose the M1 Mac Mini as a mainly daily driver - yet - until docker will be fully supported. I'll use it for frontend workflows that involve running a bunch of the node.js tasks + mock APIs + continuously running tests in the background.
Why I choose the M1 Mac Mini with 16GB RAM
I wanted to use it with - 2 big monitors (M1 MacBooks support only one external display - although there are workarounds). I don't like staring into small laptop screens, so for using both my monitors and also having more ports I have chosen the Mac Mini instead of the MacBooks.
Also, I am working remotely and already have a Dell XPS 15 laptop. So buying an M1 laptop didn't make sense - since I can use my laptop when I need portability.
I went for 16GB of RAM because some of my development workflows require running multiple docker containers locally, and we all know how much memory docker consumes. Also, I noticed that the 16 GB model barely uses less than ~7-8GB RAM but I'll get to that later.
Impressions
A lot of my development work implies running VSCode
and node.js
locally for frontend workflows.
Running the native arm node.js
on this machine is extremely performant. Can say for some frontend builds I was getting ~60% speed increases from my 2y old Dell XPS 15.
With a local frontend workflow (build and running unit tests), lots of Chrome tabs open, docker running a few containers, VSCode, Spotify, and other programs running in the background I haven't seen it use more than '~12,5GB' of RAM. It never used the full '16GB' RAM. But it does use SSD swap, so that's interesting.
I did see that with very little use - like a few Chrome tabs + other background apps that run by default it will quickly consume the "standard" 8GB of RAM.
Caveats
I spent countless hours getting around some issues like for a Gatsby project I could not make the 'sharp' module work. When I finally managed to do that, BigSur had an update and after that, the arm version of node.js
didn't work anymore. π
I also tried docker
and certain images that work on my Windows 10 laptop or on an Intel MacBook. Around half of them don't work on the M1 with docker for M1 preview. With some tweaks, I managed to run some of them, but others without luck.
Things to consider
Before considering this as your main machine check:
- Is Apple silicon ready website to browse if the software you use is compatible yet or can run through Rosetta 2
- consider issues like USB-C connected monitors not working from time to time (mine hiccups sometimes and have to unplug/plug the cable)
- consider Bluetooth issues - those seem to be partly fixed, but I still experienced some smaller issues when you need to manually connect the devices
- docker issues
- no E-GPU support
- Boot Camp no longer works
- some users reported accelerated SSD tear
I also recommend you to watch some of Alexander Ziskind's Youtube videos around the M1 Macs. He is comparing them to Intel Macs or laptops and trying out various programming tools.
Personal conclusions
My impression is that if you have moderately big projects to work on - with a lot of dependencies & especially if you need to use docker
- you will run into various issues that you need to fix. Some of those fixes will be easier as the community posts issues and fixes on Github
. But for some other issues, you will just need to wait for fixes and use an x86
machine in the meantime.
Overall, I consider it a good price for a performant machine.
If you do mostly web development or web design and don't rely on things like docker
or if you can use a mock API to mock your backend dependencies - I think this system makes a lot of sense.
If you are just learning programming, an M1 Mac Mini
is a good machine considering the costs - you could even go for the cheapest M1 Mac mini. βοΈ
If you are patient and already have a good computer, you could probably wait around 3-6 months to see if more stable versions of the software you use pop up. Although seeing how fast the trend of fixing issues is - I think a lot of the current problems will be fixed soon.
If you are using Windows, I also have an article for setting things up for development and making a Windows machine more pleasant for development.
And, if you want to embrace Linux but like the MacOs BigSur look & feel, I wrote an article how to tweak Ubuntu to look like BigSur & configure some extra stuff to make it more pleasant:
Top comments (36)
To me, the transition to ARM news made me move to PC/Linux as a whole. Itβs more and more of a lock-in: first they took away Linux from me, now theyβre taking away software? My production environment runs on amd64/Linux, thereβs no way Iβm doing development on a completely different architecture while being at mercy of software vendors to make their stuff work on ARM.
I think the transition to ARM is necessary at least for (non-gaming)laptops in the coming years. I don't know if there will be a huge transition in the PC world happening - probably not.
Since most CPUs are created for mobile use cases nowadays I think it does make sense to move to ARM since manufacturers will innovate more in the areas where they have the most consumers.
And yeah, that doesnβt counter the proprietary chips with closed specs Apple is obsessed with. :)
Sounds quite logical, but in this case Iβll wait for the majority to transition first. :)
I'm in the same boat.
Still using my old macbook, but next laptop won't be from Apple.
It just seems like a terrible company to give my money to.
Linux look like the good guys.
I mean, yea it sounds like a sudden, unexpected dick move but you have to factor in that intel majorly disappointed Apple. I don't think they would've spent all this time and money to make an ARM chip if there was already something else available on the market. The thing is, Intel promised Apple (and the rest of the world) 10 nm by ~2015. However, intel endlessly delayed this 10 nm launch, so much so to the point where their next MacBook would eventually come in with AWFUL thermals and a thin design... a thin design wrapped around this 10 nm design that never actually came. A design that was promised to them by Intel. Next came Apple making a statement on Intel's binning quality, saying that it was "unusually bad". Obviously, Apple's trust in Intel was rapidly diminishing by then and I think by now, we all know what Apple started to scheme. Their own chip designs to stray away from Intel. This must've been well in the works before AMD came up with their OWN thing in 2019 which blew everyone and everything out of the water, but even then the M1 chip outperformed the AMD chips (upon release, at least, I can't speak for in-development phase) so I think Apple would've just liked to stick with their current plan instead of scrapping M1 altogether and moving to AMD, especially considering they have likely, by that point, invested a lot in software costs and logistical costs as well as they prepared to integrate M1 into their pipelines AND they had added performance on top of that. And to top it all off, it would integrate PERFECTLY with their ecosystem where you have iPad and iPhone apps that can run on your MacBook, knitting tighter an already tight-knit ecosystem. I don't think Apple would've been content investing this much into their said "ecosystem" had it not been for Intel essentially ruining everything and f***ing over Apple's 2017 MacBook.
That was an interesting read!
But my ethical concerns with Apple are mostly not about the M1 chip but other things like
Right, make your choices and donβt pay for what you donβt want! :)
Just like @trueneu mentioned below, M1 was the final straw. I've been hoping for many years that iOS SDKs would be ported to other operating systems so that we are not forced to buy a mac to build iOS apps, but that never happened. Then they started soldering computer parts, then the STUPID touch bar came, eliminating ESC key, then the keyboard sucked, then I heard iPhones no longer have replaceable parts, forcing you to service the phone with Apple and not 3rd party repair companies, and now here we are with M1 forcing the entire software development industry to port many apps to their architecture. I'm sorry but we're just not ready for ARM processors at this time, given that many, if not all servers use x86 processors right now. Apple doesn't care about developers unless they comply in developing only for Apple products; they continuously lock the ecosystem down, forcing you to buy new products if they show the slightest hint of malfunction, all while keeping prices outrageously high. I'm warning everyone: move away while you can.
My next laptop will be either a Lenovo Legion or a Dell, configured to run Ubuntu. What? Can't live without Adobe apps and that beautiful user interface? Dump it. You can easily replicate the interface nowadays with Ubuntu and there's great open source alternatives, we just need to give more support so that these projects can thrive.
I recently got my M1 MacBook Air (replacement for a mid-2013 MBA) and I love it. It's both faster AND has much better battery life. The Touch ID feature is handy. There've been a few speed bumps installing what I need, but that's to be expected. I use
asdf
to install/manage languages and that's largely been problem-free.The worst thing so far is losing MagSafe π
Mac Mini (Intel) is nice, but phew, going with the new ARM stuff, you gotta be adventurous ... bleeding edge! Sounds like it's only advisable if you're confident and knowledgeable and don't get nervous when you run into problems ...
A bit yeah ... I think in a few months most problems will go away but we will see. π€
That's why I wanted to write this article especially to point out the flaws, of course, some devs might not have the issues I have.
I was lucky enough to work on a project that didn't strictly require docker, so I was able to develop on it 99% of the last month of trying the M1 out.
You're talking about Docker and node.js but what about all the other stuff, things that you'd typically install with a brew install command - php, ruby, python, mysql, nginx, apache and so on, and so on ... has stuff like that been "ported" to ARM, as in, do you know if binary "brew bottles" are already available for that kind of software?
PHP, Ruby, and Python work natively and are available to install with
brew
.I also tried an Nginx docker image and it worked - not sure about apache. I usually don't install those locally as I run them with docker.
Some things like
mysql
are not ported yet but should work through the Rosetta 2 translation layer.Cool ... maybe "brew install from source" works in those cases where no native 'bottle' is available yet (mysql) ?
Haven't tried this only with node when I needed an issue fixed that was not published yet.
Basically, it should work as long as it can compile on arm. For MySQL I just checked and it runs on the new chip
formulae.brew.sh/formula/mysql
This is waste of time and money. It's unrepairable (you won't be able to replace SSD, it's soldered to the board haha). It's completely new architecture.
youtube.com/watch?v=u7LOljirF6g
Plus I don't support company that uses cheap work labor from China (it's well documented over the years):
cnsnews.com/commentary/terence-p-j...
How much do you make? Read how much chinese workers make building your macs:
"Apple and Foxconn both said this issue has been corrected. Most factory workers are paid about 4,000 yuan ($562) a month, one CLW investigator found. After taxes and mandatory fees, they get roughly 3,000 yuan a month, according to the CLW report"
fortune.com/2019/09/09/apple-admit...
They make 463 USD per month so you can walk proudly with a new mac book...
16 GB of ram in 2021 is just hmm... try 64 GB next time :), RAM is cheap.
Every new AMD Ryzen 3 CPU will beat M1 in terms of performance.
Yep, I updated the Things to consider section with the SSD tear rumors.
Mine is still at 0% used after 1 month.
I am not completely sold of on the idea that only Apple does profit on cheap labor. I think most hardware manufacturers do, unfortunately, so you need to consider this for all hardware you buy and probably most other things you buy.
Also, consider that the evolution in robotics manufacturing will slowly take over the manual labor over time.
It's not about SSD tear, but about the design of the hardware, to make it hard to replace parts, I can't imagine I cannot replace my own faulty hard drive to any other brand I wish.
Louis Rossmann also said he is unable to fix any new macs until 1-2 years, when he is finally able to get his hands on the unofficial schematics, and Apple is known for making things harder to independent repair shops to fix the macs for half the price they take.
Apple forbids manufacturers to sell replacement chips from their boards to anyone else than Apple:
youtu.be/lTpHa70DDX0?t=216
This company is not consumer, nor developer-friendly, they charge 30% off every app sold on their closed platform, keeping away everyone else and banning companies that tried to get payment some other way (Fortnite).
bbc.com/news/technology-55678496
Great to hear you are experiencing a huge performance boost. There is one thing to point out. You mentioned the ~60% performance improvement, and I assume you did the test on Windows vs macOS as you mentioned your old Dell. When using Node.js on macOS it will in many cases be ~50% faster compared to Windows in general (even on Intel). This has more to do with the OS, than with the hardware. For instance, try WSL2 on Windows, and you will also get a similar performance boost.
A while ago I wrote an article about this: Speed up SharePoint Framework builds with WSL 2. The outcome was this table:
I own a Macbook from 2017, the 16", an Intel Nuc Hackintosh, and Mac Mini M1. When it comes to developing Node.js, build times are very similar. We have one major mono-repo where it takes up to 10 minutes to build all projects. On the new M1, it takes about the same time as on my Intel Nuc.
I'm sure we'll see a bigger performance improvement in the future when a lot more applications are optimized for using the M1.
Been using an M1 MacBook Pro for development for a couple of months now. It's very nice. The Docker preview seems to work for most stuff I need, and most of the apps I use have already been rebuilt as Universal.
I'm primarily developing Blazor apps on .Net 6, with Visual Studio for Mac and it works fine, despite running with Rosetta 2. It's actually faster developing like that than it was on my 2020 i5 MacBook air....
Our mobile team switched from late 2017 macbook pros to M1 powered ones. Xcode clean builds improved from 6 min average to under 2 min. So if you're doing native, it's worth it!
I have started working with react native and my OS is windows10 and for running react native for ios i need a mac OS hence I want to buy an apple m1 macbook, but i have heard that it is not supporting react native and watchman etc ... . is that right? Could you please give me a solution for this?
That is a huge gain indeed. Thanks for the feedback.
Waiting for the M1X and Docker support as this is huge for me. But I'm overexcited about this and should probably stop reading and watching videos about how Apple silicon is almost butchering even top CPUs π
No.
I have wasted days trying to get my full stack up and running.
Even standard tools from Jetbrains randomly freeze up.
Parallels is severely broken for keeping a ubuntu desktop running. Ubuntu doesn't even have an ARM desktop ISO so you build you own out on top of ARM server. Mouse randomly stops working in that and audio not at all. And yes I do need real linux VM for some things.
Back on the M1 Mac you need two homebrew stacks one for M1 and one for intel to pick up various linux bits.
M1 hideshow on dock and menu bar stopped working.
M1 has crashed twice in last month
Many things I care about don't run on M1 yet and are pretty pokey on rosetta 2. Many don't work even there correctly.
Wifi is certainly slow. I don't have numbers to prove it but even hard line internet is slower on the M1.
Thanks for your input on this Samantha. I also experienced a crash.