BitRot | Development Tools

Development Tools

on

This page exists as my soapbox for listing various resources I recommend (along with some I don’t, but I believe in options, so…)

Take everything with a grain of salt and understand that there are other tools out there, this is just a starting point for these things

Version control

Tracks versions of your code, and facilitates development in teams. Check here for why you should use this.

There are several version control systems out there, pick one, and stick with it.

Git

A distributed source code management system.

SVN

SVN is a centralized source code management system. I wouldn’t recommend using SVN, but there are enough OSS projects that use it that it’s worth mentioning

Build automation

anything that automates building your software. Check here for why you should use this.

Apache Ant

Comes built-in to Eclipse. Fairly powerful, but extremely verbose at times.

Maven

Dependency management

When you start to build more complicated projects, you’ll start using 3rd party libraries. These tools are used to automatically download and set up those dependencies, so a new developer can join your team quickly (or if you get a new computer…)

Ivy

From the Apache Ant team. Ivy is fairly powerful, but by the point you’re using this, it’s usually a small step to migrate to Maven.

Maven

Maven does a lot more than just dependency management, but you’ll pick up on those differences quickly enough.

Hosting

Everyone needs hosting at some point. The good news is that there are literally thousands of hosting services out there. The bad news is that most of them are horrible.

Shared Hosting

Shared hosting is where you share a server with other customers. This is the cheapest form of hosting, but also the most restrictive. Often, you won’t have access to recent versions of software, if at all.

  • Green Geeks - They offer dirt cheap shared hosting with good support. I use them.
  • A2Hosting - Extremely similar to GreenGeeks. I use them.

SaaS

SaaS services offer a specific application and only that application for you. For example, a hosting service that offers Git repository hosting is SaaS.

SCM

  • Git Enterprise - a free place to host git repos. I use them.
  • GitHub - free git repo hosting for open source projects. I use this, and share several projects.
  • Assembla - free hosting for repos. I haven’t used them.
  • Unfuddle - another place offering free hosting for repos. I haven’t used them
  • Project Locker - Free hosting for small projects (3 users tops)