A Windows Web Development Stack in 2014

Hello World,

This post is about web development, using Windows, in 2014. All-in-all the state of web development for developers is not-too-bad.  Many of the tools I’m going to discuss here are cross platform and open source. This will be somewhat of a whirlwind tour and not a definitive guide, click the links for more information about any of the topics.  This post is also a work in progress.  I would rather get some information out there to the good people of the internet, rather than let this post get moldy in my ‘drafts’ folder waiting to be a complete work. Before we get too far however, I’m first going to talk discuss a more important question.

What do we want?

First, we want to provide what our customers want.  For many customers this is a “web application”, frequently referred to as a Single Page Application, or SPA for short.  The types of applications you can build with this stack are “bigger than a breadbox” but “smaller than an elephant”.  Luckily, many times this is what our customer wants and needs.

You can build trivial apps with this stack, but in general, you don’t want to.  If you only ever have one view, then you are probably better of to let the server render it.  If you have a HUGE application with LOTS of data, then this also isn’t probably an ideal stack.  You probably want to look for something more specialized.  If you want rapid application development with ORMs, and scaffolding, this is not it (take a look at Ruby on Rails).  Finally if you want a single language stack, this is not it (check out Meteor).  This stack is not opinionated, it is not the new hotness.

As developers, we want a development process that is structured yet flexible, can be automated, and allows for different types of testing.  We want something that is proven to work and popular enough to have continued development.  If you are developing on Windows, then you also want something that works on Windows!

The Software Shopping List

Below is a list of software to use.  Note that all of it is free!

The client

The server

The developer

Client JavaScript

Server PHP

About Python distutils

Hello World,

This post is about Python distutils.  You may wonder, “why distutils?” and not some other Python packaging framework such as setuptools.  The reason is that distutils is distributed with Python and it is good enough for simple Python modules.  Python offers a few options for packaging, and this can be confusing.  That is the other factor in choosing the defacto library that is installed with Python 2 and Python 3.

When first starting with distutils, I landed on the Distributing Python Modules page on docs.python.org, which includes this introduction. This is a great resource, but a little daunting for a newcomer.  I left still wondering how to use distutils.

I also found this tutorial for distutils, which included a good outline of the folder structure, but was still a little confusing.

I then found these instructions for packaging Python libraries, which was more complete and had good practical advice.