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
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. Key features
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
Installation
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.
DevKinsta
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. Key features
Accessible in 10 languagesModern WordPress stack (Nginx, MariaDB, etc.)PHP 7.x-8.x supportLocal email testingIncludes a lightweight yet powerful database managerCommunity-powered forum
Telepresence
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.
Installation
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
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. Key features
Designed to work with JSONExtremely simple to learn interfaceCross-platform support and easy installation through pip.Formatted and colorized outputRetrieves web pages
Installation
Visit the HTTPie installation page. If you have python installed, run the following command. pip install httpie Retrieving a web page:
Tunnelto
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. Key features
Understandable flagsFree random domainsCustom domains for 2$/month
Installation
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 tunnelto binary. If you want to install it in your local binaries, run the following command from the directory you extracted the tunnelto binary. For mac install Tunnelto with brew. Or do the same process as for Linux. For Windows systems, download the .exe file available on the releases page.
Mkcert
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
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. Quick example
Installation
Depending on your OS, run the desired installation command available in the Installation section.
MailCatcher
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. Key features
Multiple backend connection (PHP, Rails, Django, etc ..)Command-line optionsDisplay HTML, plain text, and source versionKeyboard based navigation
Installation
You must have Ruby and gem installed in your system.
DDEV
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
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. Key features
Use your API with different HTTP methodsLets 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.