Supercharge Local Development with 10 Essential Tools

Smooth local development environments can make or break developer productivity. When our local setups are optimized with the right tools, we can build and test apps faster without hindrance.

In this guide, I‘ll share 10 game-changing tools that help supercharge local dev environments. Whether you work with containers, databases, web apps, or clouds – these tools aim to make your life easier.

1. Docker Desktop

Docker containers provide isolated and portable environments to run apps and services. With Docker Desktop, you can leverage containers to standardize dev environments across teams.

Key features:

  • Containerized apps from a visual UI
  • Kubernetes clusters for orchestration
  • Built-in Docker Compose and Docker Swarm
  • Remote containers via SSH

With a few clicks, you can spin up complex multi-service apps without messing up your local machine. Containers remove worries about app conflicts and configs.

// Run a MySQL container
docker run --name mysql -e MYSQL_ROOT_PASSWORD=password -d mysql

// Run app containers that link to mysql 
docker-compose up -d

2. LocalStack

LocalStack offers local mocking of AWS cloud services during development. This means you can simulate SQS, S3, DynamoDB and more on your machine.

Benefits:

  • Write and test code without connecting to AWS
  • Rapidly iterate without cloud costs
  • Simulate failures/delays for resilience testing

LocalStack spins up cloud APIs locally via Docker. Your code interacts with the mocks as if it were real AWS.

// Start LocalStack containers 
localstack start

// Create mock S3 bucket
aws --endpoint-url=http://localhost:4572 s3 mb s3://mybucket  

3. mkcert

Public sites use SSL certificates to enable HTTPS. With mkcert, you can create trusted local dev certificates without paperwork or validation.

Features:

  • Single command to create local CA and site cert
  • Certs automatically trusted by OS/browsers
  • No more certificate warnings during local dev!

mkcert streamlines working with HTTPS and TLS testing during development.

// Install CA and generate localhost cert
mkcert -install
mkcert localhost

4. MailHog

Building email capabilities locally can be a pain. MailHog runs a local SMTP server to catch emails sent from your app during development.

Highlights:

  • Web and API interface to view captured emails
  • Multi-language support
  • Release messages on-demand
  • Search history with tags

Debug sending, rendering and tracking emails without messing up real inboxes.

// Configure app to send to Mailhog SMTP

// View emails at http://localhost:8025

5. ngrok

Exposing local servers publicly with ngrok makes testing with remote devices a breeze. Share works-in-progress via secure tunnels through ngrok‘s network.

Capabilities:

  • Public URLs to your local server
  • Inspect traffic in the ngrok dashboard
  • HTTP/HTTPS support
  • Authentication with social providers
  • Replay requests for testing

ngrok is ideal for previewing sites, demos, and webhook development.

// Expose local site on port 3000
ngrok http 3000 

// Test public URL on phone, Postman, etc

6. Laragon

Laragon bundles PHP, Nginx, MySQL and other goodies into an all-in-one local server. With one install, you get a preconfigured WAMP/LEMP stack for WordPress and web app development.

Features:

  • Choose PHP versions from 5.6 to 8.1
  • Manage multiple sites
  • Custom Nginx config
  • Redis, Node, Git, Composer and more
  • Windows and Mac support

Laragon simplifies spinning up robust PHP/MySQL environments for database-driven apps.

7. Local by Flywheel

Optimized WordPress development is possible with Local by Flywheel. It handles caching, databases, HTTPS and other complexities behind the scenes.

Benefits:

  • One-click WordPress site cloning
  • Built-in site management
  • Themes, plugins, site exports
  • Integrates with WP-CLI
  • Based on Flywheel‘s hosting stack

Local by Flywheel helps developers replicate production environments for building high-performing WordPress sites.

8. Telepresence

Developing cloud-native microservices on Kubernetes? Accelerate dev workflows using Telepresence.

Features:

  • Swap Kubernetes services with local code
  • Local editing with cloud cluster integration
  • Fast dev/debug cycles with Docker containers
  • Intercept calls to cloud services

Telepresence facilitates debugging apps on Kubernetes without needing test clusters or custom tooling.

// Connects service ‘myservice‘ on cluster to code in ./myservice folder
telepresence intercept myservice --run-shell

9. Visual Studio Code Remote Containers

The VS Code Remote Containers extension lets you code within prebuilt Docker environments. This removes complex local toolchain setups.

Benefits:

  • Sandboxed dev environments per project
  • Prebuilt container configs for Node, Python, C++ and more
  • Cloud integration with GitHub Codespaces
  • Share setups across teams

VS Code makes it simple to start coding instantly with compliant and reproducible containers.

10. Honorable mentions

Here are a couple other great tools worth checking out:

  • Playwright – Test web apps across browsers with a single API
  • Pyright – Static type checker for Python
  • LazyDocker – App for managing containers visually

It‘s a Wrap!

Robust and speedy local setups enable rapid app development along with a great coding experience. Tools like Docker eliminate environment inconsistencies. Telepresence and LocalStack bring cloud resources within reach.

With capabilities to mock services, optimize workflows and replicate real-world scenarios locally, these tools are guaranteed to supercharge coding and testing workflows.

Our dev environments deserve more lovin‘ with the help of such nifty utilities! What other favorite local tools have I missed? Let me know in the comments below.