Local Development Tools – Moving from MAMP to Local by Flywheel

For many years, MAMP has been my first tool to fire up when I develop a WordPress website locally.

My usual scenarios using the local server

  • Develop a new website locally and migrate (publish? upload? deploy? push? whatever you call) it to the live server once completed
  • Migrate (just call it whatever you like please) a website from the live server to the local server for testing new functions, then publish it back to the live server once done

The free version of MAMP was working fine, but when I started implementing HTTPS (SSL) to most of the websites I work on, I bumped into a problem of missing an SSL certificate at the local server.

OK, what are my options?

Option 1: Use MAMP Pro

MAMP

Here is what I found after I had a pre-purchase trial of the MAMP Pro version.

Pros

  • It creates a valid SSL certificate on the local server.
  • I can push and pull websites between the live and local servers. (It’s convenient, but do I really need this function? Maybe not at this moment because I am using a different tool for backup/import/export with Backupbuddy. I can probably write another story on BackupBuddy in the future.

Cons

  • The app interface looks very different from the free version. It was a bit confusing for me to configure everything because many of the options were things I didn’t usually need a special configuration for front-end development.
  • It costs CAN$99 (It’s a 1-time purchase, not a subscription model, though. If I fully understand and utilize all options, it would probably be worth it.)

Option 2: Stick to MAMP Free version with some work

I found this tutorial by Steve Griffith and was able to use this method for a while.

The instruction was very clear, but the process still seemed daunting for a person like me. I had to manually create an SSL certificate and other files and store them at the right location. I was excited when I finally made it on the 2nd try.

However, it stopped working after updating the MAMP (free version). I thought it was probably because the new version overwrote all the files I manually created, so I replaced them with ones I created earlier but still didn’t work. I just couldn’t figure out the problem and I gave up after several attempts. Hats off to anyone who can implement this easily.

Option 3: Use Local by Flywheel

Local by Flywheel

When I was checking some WordPress plugins, I bumped into this tool. It installs and runs WordPress locally. Pro version can connect directly with hosting servers such as Flywheel and WP Engine, and allow you to push/pull/stage a site. I tried the free version of Local and here is what I found.

Pros

  • Works with HTTPS (SSL)
  • Clean app interface, easy to navigate
  • Installs WordPress while adding a new website 🙂

Cons

  • Websites with an extensive database can sometimes get very slow while working. Restarting the app solves the issue at least for a while.
  • Installs WordPress while adding a new website 🙁

I don’t have too many complaints about Local, but it needs a tweak when migrating a website from the live server since the app doesn’t give an option to bypass the one-click default WordPress installation, so here are the steps I figured.

The free version of Local from Flywheel works for me for now. If they come up with an option to directly connect to the hosting server I use, I may even consider their Pro version.