New development process with Git and Gulp

Whilst working on my new project, Privacy Tools, I decided that I really needed to sort out my development process.  Not that there was anything particularly wrong with it, it’s just very old school and manual.

I literally write every line of code (HTML, PHP, CSS and Javascript) by hand, in Notepad++.  This doesn’t even syntax highlight particularly well, let alone auto-complete.  And then the build process is also manual, going to websites like Closure Compiler to minify my javascript.  Rather labourious, especially for someone who doesn’t get much time to code these days, and therefore needs every minute to go into writing code!

So I started by finally using Git!  I don’t think anyone in the development community could have possibly not heard of Git, even if they haven’t used it.  I’d played about with it, done some tutorials (courtesy of LinkedIn Learning), but never used it properly.  I figured now was the time, and I’m genuinely loving it.  It’s great to know that everything is properly stored away, and I can easily track changes and get back to earlier versions of a file (or set of files) when needed.  It’s also stopping me from wandering off and starting a new bit whilst I’m still in the middle of another, as this really confuses the commits – now I’m working on one distinct chunk, getting that working, committing it with a lovely comment, and then on to the next one.  Lovely!

However, that doesn’t really improve my workflow or efficiency (unless I need to revert back to an earlier file version).  Where I’ve really had fun is with Gulp:

a toolkit for automating painful or time-consuming tasks in your development workflow, so you can stop messing around and build something.

And it really does do that!  I did have a look at some others, such as the increasingly popular Webpack, but what I really like about Gulp is that the automation is written in javsacript, so can be completely customisable.  You can easily minify javascript files and stylesheets, concatenate files, and pretty much any else that you can think of.  

I’m not going to go into too much detail on this post, but my next one will show you the details of my first Gulp file.  I’ve already started adding more and more as I’ve gone along, so I’m sure there’ll be many more posts to follow.