Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Newbie1967

macrumors newbie
Original poster
Mar 6, 2021
1
0
I am an entrepreneur and web developer with an existing app in the cloud for 10 years running on a Linux server with PHP and MySQL (I'm self-taught, so have gaps in my knowledge). To date I've developed on a Windows machine (most recently a Surface Pro) using XAMPP to create a localhost. My machine is 5 years old, so I need a new laptop, and I have always heard that Macs are much easier to develop on. I have 2 questions:
  1. I read in this MacWorld article that the new M1 chip may make it harder to develop for non-iOS environments, but I don't know if this applies to my situation, given that I am not developing a client-side application, just a web application that runs through the browser. Do I need to worry about the M1 Chip and therefore purchase one of the models with the Intel chip?
  2. Can someone point me to a good resource/post for how to set up a development environment on a Mac? (Again, I've done this with XAMPP on a 'Windows PC, so I assume Mac is much easier, but don't know where to start).
Thanks in advance.
 
1. Don’t worry with M1 chip for web dev.
2. Try to start with MAMP: Php MAMP on Silicon M1, MAMP

IDE: phpStorm, VSCode

I’ve had a lot of “issues” with macOS when I migrated to Mac from Win: I had to buy parallels, wmware fusion for virtualization, I’ve tried to starting Win SW on my Mac... These were my first steps.

Today, I don’t need a Win on my Mac. I happy with MacBook, I enjoy programming with MacBook.
 
M1 Air, definitely. I'm a Ruby on Rails dev myself, but my environment is probably similar to yours (I run MySQL and an application server directly on the machine, no containers) and it isn't hard to set up on a Mac.

You can get most of the tools you know from Linux via Homebrew (one of the Mac package managers). Some of the stuff we use runs natively on Apple Silicon (e.g. MySQL, PHP, Ruby, redis and others) and the rest usually works fine via Rosetta 2.

XAMPP seems to have a Mac version, but that's all I know about PHP. But even if you had to set things up manually, you should be up and running in a couple of hours with a bit of googling.
 
I am an entrepreneur and web developer with an existing app in the cloud for 10 years running on a Linux server with PHP and MySQL (I'm self-taught, so have gaps in my knowledge). To date I've developed on a Windows machine (most recently a Surface Pro) using XAMPP to create a localhost. My machine is 5 years old, so I need a new laptop, and I have always heard that Macs are much easier to develop on. I have 2 questions:
  1. I read in this MacWorld article that the new M1 chip may make it harder to develop for non-iOS environments, but I don't know if this applies to my situation, given that I am not developing a client-side application, just a web application that runs through the browser. Do I need to worry about the M1 Chip and therefore purchase one of the models with the Intel chip?
  2. Can someone point me to a good resource/post for how to set up a development environment on a Mac? (Again, I've done this with XAMPP on a 'Windows PC, so I assume Mac is much easier, but don't know where to start).
Thanks in advance.

Sadly , get the second intel laptop from whom sold to get m1.

1. c# - it working using visual studio for mac. (unsure m1 no time to try)
2. php or other scripting. Full working intel and m1.
3. Use mariadb instead of mysql if you known to lamp plaform. MySQl 8.0 not worthy yet.
4. Use homebrew to install whatever you need and it's like yum ,apt-get,choclate.

** get min 16 gb ram .
 
but I don't know if this applies to my situation, given that I am not developing a client-side application, just a web application that runs through the browser.

Note: PHP and MySQL run on the server (or, during development, the Mac).

I'd say the reasons that the Mac is a good system for web development is a combination of:

a. Runs Unix, so it's a much closer match to a target server running Linux than a Windows PC. You've got all the familiar Unix shells and command-line tools although - be warned - it's based on BSD rather than SysV/GNU so there are a number of annoying differences to GNU Linux commands. All the "usual suspects" - Apache, Ngenix, PHP, Perl, Python, Node.js, MySQL, PostgreSQL, MongoDB... are well supported on Mac (not that you can't run those perfectly well on Windows, but they sometimes have minor but annoying quirks with pathnames, file permissions etc.)

b. Runs Photoshop, Word, Excel etc. which are often essential for dealing with your source materials/assets and (more debatably) other apps which you may prefer to gimp, Inkscape etc. - otherwise, a PC running Linux would be even better than a Mac for the "raw" web development.

However, what I'm increasingly finding is that it can be even better to run your development server as a VM running a minimal Linux installation - which you can choose to be as close as possible to the precise distro and version that your target server uses. You can still use the "host" OS to run your IDE/Editor and other tools - either by setting up a shared directory or the new-is "remote development" features in something like VS Code. For simple web apps of the just-upload-to-a-directory-on-the-server variety it may be overkill, but as soon as things get a bit complex and you start having to worry about databases, writable directories, file permissions, rewrite/aliases, SSL certs etc. it gets useful to have each project sandboxed in it's own little VM with its own IP address and tailored to be as close as possible to the target environment. (Something like Docker is another possibility). In that case, whether you use Mac, Windows or Linux as your host is just a matter of personal preference (have to point out that Windows Pro comes with a complete hypervisor, plus the WSL stuff).

Normally, I'd still say that the Mac was a fine choice for web development. However, in the short term, the M1 is a slight complication. Give it another 6-12 months and I don't think there will be an issue but, at the moment:

1. No finished hypervisor software for M1. The hypervisor backend is there, part of the OS, Parallels etc. are in the pipeline, there are technical previews out, people have patched QEMU etc. and had Linux running in DIY front-ends but - last time I looked - nothing was shrink wrapped or in-the-shops. When it does arrive, it will be ARM Linux only, but that shouldn't be a problem for PHP/MySQL/etc which is all 99.9% processor independent. It's 2021, and doing any sort of development without VMs is like washing your feet with socks on. Now, this could resolve itself in a few months, if not weeks, but that's the state of play today.

2. You'll need to double check that all the software tools you use are (a) M1 compatible and, preferably, M1 native. They probably are, but you need to check individually. I think VS Code only went native very recently.

3. The only M1 Macs available so far are entry-level (by Apple standard) ultraportable laptops and an interesting, but slightly odd Mac Mini. These are extraordinarily powerful for their size/price and, in terms of raw grunt, more than adequate for web dev, but you may want to look at their other limitations - max 16GB RAM (OK, but I'd want at least the potential of adding more for a dev machine, esp. if you're using VMs) and only 1 external display (or 2 screens total on the Mini). They'll do the job - but I'd like to see what the more powerful "pro" machines (coming Real Soon Now) offer first.

Long term - all the above should resolve, the only remaining question is if you need the ability to run Windows for testing. A few years ago this would have been a deal-breaker, because everything had to work under the never-to-be-sufficiently-cursed Internet Explorer and, if you didn't test continually, you could be pretty sure that it wouldn't. Nowadays - oh frabjous day! - IE is only lingering on in a few corporate ghettos and Chrome/Edge/Firefox/Safari all run on Mac (and Safari has useful features for remote debugging on iPad). You still probably need to test on Windows but not as frequently as before, so having it right there on your Mac is less vital. Still, the situation with M1 is that x86 Windows is only ever going to run via slow, full emulation (QEMU etc) and while ARM Windows can be run by installing an unstable technical preview of Windows on an unstable technical preview of Parallels, it's not ready for the big time yet and there's no 100% guarantee that MS will ever officially license it (I'd say it is more likely than not, but - as I said - no guarantee as yet).

To re-iterate: these are issues to be aware of, I'm not saying they are deal breakers for everybody.

Alternatively - if you want to give Mac a spin, why not look for a refurb or second-hand Intel-powered Mac, which is still going to be viable for years to come, while avoiding M1 teething issues.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.