I'm a web developer.
My main working machine is iMac
and it's fantastic.
My portable device is MacBook Air
(5yo) and working on it becomes torture when I deal with big projects (Node.js mostly), several parallel processes and a decent IDE.
I like the laptop because it's small (13-inch) lightweight and works long hours without a recharge. But I hate the experience of dealing with frozen processes and slowly running compilers.
Did (or do) you have a similar experience? Do you have any tricks to make an old machine work faster? Probably some alternative software or CLI tools for web developers to make life easier?
I'm aware of the common ways to enhance macOS performance (like this one or similar), but I'm looking for dev-specific tips (like "use vim instead of VS Code", or "roll back to older macOS version", or something), hidden gems to let my old aluminum friend live and work for a year or two more.
Please, share your experience, I would highly appreciate any small advice!
Also if you have practical experience of comparing old machines' performance with newer "slim" options (12- and 13-inch MacBooks of 2019) for development purposes, please share that as well. It would greatly help me to decide do I need a new Pro-line laptop or lighter version would be enough.
Top comments (13)
I'm not familiar with the MacBook Air but until recently I was developing on a MacBook Pro 2011. The main issue was memory. It was upgraded from 4 GB to the maximum 8 GB, which helped a lot but I still had to be careful.
I always had the Activity Monitor running to check on memory-greedy processes. And I was always reluctant to upgrade the OS in case it impacted the memory use. Right now it's on High Sierra.
I didn't use VS Code much. Too slow to start up and taking too much memory for my liking. I used Sublime Text instead and the command line. That worked fine with my use of Node and React.
My advice:
Thanks for your detailed reply, Sylvie!
I see that even older MacBooks Pro work much better than Airs. I cannot upgrade the memory (it's not possible for Air, only for Pro). CPU is not a problem too, only memory, as I noticed observing the Activity Monitor. I'm very modest in using the resources, but when I need to run a couple of npm processes simultaneously or build native mobile apps with Android Studio and XCode, I get close to psychological breakdown.
What is your experience in similar situations? Do Pro and 8 Gb work well for you in such cases?
Sorry I can't be much help. I tend to run npm processes sequentially and it's been years since I last used XCode. As far as I can tell XCode is a lot worse than VSCode in terms of RAM requirements.
Exactly. Thinking about delegating all the Xcode stuff to iMac
It would probably make your life easier.
Concerning multiple npm processes, after a good night's sleep I remembered that I used to run a (small) MongoDB database, an Express server and a React client concurrently without problems.
I never had huge issues but I don't use XCode nor I develop things that are too CPU bound.
I have 16GB of RAM and a SSD inside a Macbook Pro 13" Mid 2012.
I love(d) VSCode but I switched back to Sublime Text 3 which is noticeably faster. The only thing kinda slow in Sublime Text (which is faster in VSCode because it uses a Rust binary) is the search inside the IDE.
I'm still on High Sierra not because of performance concerns but because I haven't bothered upgrading after I read some conflicting reports about it, I'm waiting for a stabler version (same with my phone and iOS 13).
I think 2020 will likely be the last year (or maybe not) of this computer. I'm curios to see if they release MB Pros 13" with a decent keyboard in June or something.
Unfortunately this is probably not much of help because you can't upgrade your MB Air.
I've never used Node but the NPM and JS ecosystem aren't super conservative on resources, I had a really fast feedback cycle when I was developing a web app in Go (though changing stack instead of changing hardware might be not a good idea :D).
Understand if you can change any variables in the hardware, if you can't you might need to use other tools. Look for tools that are native and/or compiled and which use less resources in general.
ps. the Rust based grep tool is github.com/BurntSushi/ripgrep which in my opinion is a game changer if you grep a lot in the command line like I do :D
Thanks, rhymes! I'm actually looking into playing with variables/configs, looks like it's inevitable. And I like Sublime too, it's really much faster 👍 I'd rolled back to High Sierra, not sure it will help, but who knows.
I've never had an Air, but one thing to consider is maybe trying online-only options. On my Chromebook, I've been playing around with sites like Repl.it and Codesandbox so that it doesn't matter what my specs are. For something even more intensive, Google Cloud and AWS can both be used to make personal development environments (even within the free tier)
That can be an option. Already tried some stuff and it didn’t work quite well for me, but I’m going to proceed. Though I have projects where I need to use my local machine yet (I work as an independent consultant)
Hi, You can try to setup a ssh server (Linux VM) with VS Code and use the remote development extension for VS Code, and let the iMac do the heavy lifting.
Thanks, Agustin, I think I need to dive deeper in this direction. I had already tried some remote setup options but failed at getting reasonably good experience. I’ll check some more options 👍
If you could provide some more references on that (or your experience) I would highly appreciate!
Flash it with a Linux distro
I can not - I need to build iOS apps sometimes 🤷♂️