What tools do you use to build your web applications? Your choice matters a lot because you’ll spend a lot of time working in that environment.

If you make a poor choice, you’ll be stuck with something suboptimal that can slow you down massively and make your project grind to a halt.

If you make a harmonious choice, your tool will aide you on your development journey and let you crank out features to delight your customers.

This topic deserves your consideration because time is one of our most precious resources, and a bad tool choice will eat your time.

Don’t waste your time on tools that are bad fits for your project!

The best way to save your time is to know the landscape of tools. Knowing the landscape will let you choose a tool that will be a great fit for you.

We’re going to explore different modes of doing web development and the tools for each mode so you can get an idea of the styles and decide which one will fit you best.

For my examples, I’m going to assume that you’re building a Django web application. This is a great choice, but I certainly won’t fault you if you make other choices. My use of Django is to illustrate patterns that are common in many web frameworks and simultaneously give you some real code to look at.

Humble beginnings

You started your amazing project yesterday. You have grand visions of becoming The Hot New Thing™.

This isn’t your first rodeo with Python so you knew to:

  1. Start with a virtual environment.
$ python3 -m venv venv && source venv/bin/activate
  1. Install the web framework.
(venv)$ pip install Django
  1. Generate boilerplate to get started.
(venv)$ django-admin startproject new_hot_thing && cd new_hot_thing
(venv)$ ./manage.py startapp awesome
# Run more Django stuff
  1. Run the development server.
(venv)$ ./manage.py runserver

This is a pattern that you’ll find in many of the Python web frameworks. Once you make a place for code to live, generate some code from starter templates, and run the code with a local web server, you can make serious headway!

#vagrant #docker #humble #containers

Local web development vs Vagrant vs Docker: What’s right for you?
1.30 GEEK