While working in local development, we should have the best tools available to build fast and scalable applications.
In this article, we will review these useful tools that enhance rapid and efficient local development.
Every time I start to work on an exciting project, I write down on paper or Notion a list of the tools and resources I’ll need to bring an idea into reality.
First of all, I make a quick mock-up of the idea I’ll try to build. Then I choose the programming language, framework, or library I’ll use. But the thing that most people don’t care about is the local environment (Not referring to 🌳), and the right tools for building the project as quickly as possible.
The following tools cover most of the needs of any networked or web development project, from an application to create local servers accessible worldwide to packages that let you test your APIs through HTTP.
The best part is that most of these tools are open source. That means that its use is totally free, or often with an optional paid subscription.
Without further delay, let’s get into it 😀.
Ngrok is a cross-platform application (Windows, Mac, Linux), that uses tunnels to expose a local server to the internet. It is a handy tool to test your networked programs, run a website demo for a client, or expose your backend API to the internet.
At the start, it seems quite complicated, but after a couple of uses, you’ll be amazed at how simple it is. In fact, I’ve used it with Django, and I found it really convenient when building OAuth authentication systems.
- Let you create a public Internet HTTP URL, to test out your local development server.
- Support for both HTTP and HTTP(s)
- Works for any networked program
To install Ngrok, download the most recent version on its official website. As a quick assertion to see if everything is working, run the following command in your terminal.
ngrok http 80
DevKinsta from Kinsta is a complete suite for local WordPress development I’ve found. Its huge amount of tools combined with the easy UI gives you the ability to build themes, plugins, and custom sites for your clients.
This complete set of tools is available for the three major platforms, Windows, Linux, and Mac. Docker powers it. And the best part is that DevKinsta is totally free.
A must-have tool for a WordPress developer.
- Accessible in 10 languages
- Modern WordPress stack (Nginx, MariaDB, etc.)
- PHP 7.x-8.x support
- Local email testing
- Includes a lightweight yet powerful database manager
- Community-powered forum
Do you work on Kubernetes? Why don’t you give Telepresence a try?
Telepresence is a CLI (Command-line interface) tool that lets you run services locally while connecting to a remote Kubernetes cluster. This tool enhances your productivity by allowing you to swap from local development to a deployment set up rapidly.
Look for your operative system reference here, and download the corresponding package. If you find useful telepresence, take a look at amazing Kubernetes tools.
HTTPie is one of the most useful CLI tools I’ve ever used to work with APIs. It gives you a clean and friendly interface to interact with HTTP verbs. You can use both for testing your local APIs or to play around with Internet-facing APIs.
- Designed to work with JSON
- Extremely simple to learn interface
- Cross-platform support and easy installation through pip.
- Formatted and colorized output
- Retrieves web pages
Visit the HTTPie installation page. If you have python installed, run the following command.
pip install httpie
Retrieving a web page:
$-> http https://zen-of-python.info/ Response status. Web page content ............
Tunnelto is another CLI with a really close functionality to Ngrok. It allows you to expose your local server to the internet and counts with beginner’s friendly flags. Tunnelto really solves the problem of creating a public URL, where you can test your local development server or even show up a demo to a client.
- Understandable flags
- Free random domains
- Custom domains for 2$/month
This tool has a different package for each platform. For Linux, you have to download the .tar.gz file, extract it and run the binary.
Then extract the file with your file manager.
Then open your terminal and run the
If you want to install it in your local binaries, run the following command from the directory you extracted the
mv tunnelto ~/.local/bin/
For mac install
Tunnelto with brew.
$ brew install agrinman/tap/tunnelto
Or do the same process as for Linux.
For Windows systems, download the .exe file available on the releases page.
Mkcert is a simple CLI tool written in Go that accomplishes making a locally valid SSL certificate. If you want to test out applications that need a local CA (Certification authority), this is the right tool.
Its main use is to save you the tedious process of setting up a domain and getting an SSL certificate for your local environment. It creates locally-trusted CA in your browser’s trust stores.
Note: This tool should be used only in local development
Tmate is the simplest solution for terminal sharing. It is a fork of Tmux, but they can coexist in the same system. So don’t be afraid of using them at the same time.
With this tool, you can start sharing your terminal session by just running a simple command. And the cherry on the cake is that it has two modes: read-only and full access, and two ways to share terminal sessions: Web interface and SSH session.
A perfect when you need to show your code to someone.
Depending on your OS, run the desired installation command available in the Installation section.
MailCatcher is an app written in Ruby, and as its name suggests, catches all of the messages sent to the specified SMTP (Simple Mail Transfer Protocol) port. Then it displays the messages in a simple web interface.
I found it particularly useful while testing email services locally because I only have to change a couple of settings to get Django connected with MailCatcher.
- Multiple backend connection (PHP, Rails, Django, etc ..)
- Command-line options
- Display HTML, plain text, and source version
- Keyboard based navigation
You must have Ruby and gem installed in your system.
# Install Ruby and gem # Arch sudo pacman -S ruby # Debian and Ubuntu sudo apt install ruby-full # Install MailCatcher gem install mailcatcher
DDEV is an open-source containerization tool that empowers you to set up or change CMS (content management system) environments in minutes. You won’t have to spend a lot of your time switching docker containers again 😀.
With this tool, you’ll be able to deploy your favorite CMS like Drupal, WordPress, TYPO3, Magento, Backdrop, and PHP-based sites extremely fast and enhance your productivity while working with different containers.
If you are a PHP developer, this is a life-saver where you can work on multiple projects without risking the application configuration mess.
Hoppscotch is one of the most intuitive API development ecosystems. Although its uses in local development aren’t that meaningful, you can use it in staging phases to polish your API system.
The Hoppscotch app is minimalistic yet powerful and makes you enjoy the experience of examining your API in development.
Tip: You can use Ngrok or Tunnelto to expose your API and Hoppscotch to perform requests and test out that everything is working fine.
- Use your API with different HTTP methods
- Lets you test GraphQL based APIs
To sum up
These tools can help you save time while developing different applications, and I hope you find them useful.
And remember: Your results are not based on your tools; it is how you can use them.