• Get application security done the right way! Detect, Protect, Monitor, Accelerate, and more…
  • 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 in 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 image

    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.

    ngrok http 80

    Ngrok command

    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.

    A must-have tool for a WordPress developer.

    Key features

    • 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

    Telepresence

    telepresence website

    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 website

    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 JSON
    • Extremely simple to learn interface
    • Cross-platform support and easy installation through pip.
    • Formatted and colorized output
    • Retrieves web pages

    Installation

    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

    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 flags
    • Free random domains
    • Custom 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.

    ./tunnelto --help

    If you want to install it in your local binaries, run the following command from the directory you extracted the tunnelto binary.

    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

    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 website

    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.

    Quick example

    tmate usage

    Installation

    Depending on your OS, run the desired installation command available in the Installation section.

    MailCatcher

    Mail catcher website

    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 options
    • Display HTML, plain text, and source version
    • Keyboard based navigation

    Installation

    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

    Ddev website

    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 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.