I recently started working on a personal project - a web application - and faced a difficult decision. What technology stack do I use?
I like my personal projects to both fulfil a requirement and to teach me something in the process. Java is my native language, so I initially thought I’d build it in wicket-spring-hibernate.
The problem is that I can only work on the project for a few hours a week, and I find that developing in Java just takes too long. It’s a big hammer.
So once again I find myself ditching Java in favour of Ruby on Rails. Even though I don’t know Ruby nearly as well as I know Java I find that when I’m working solo on something that it is much quicker. Everything is included out- of-the-box so I don’t need to spent hours on Maven dependencies, Spring configs, etc. Instead I can just write functional code.
Rails has its drawbacks: it’s expensive to host; it’s a bit slow; the docs are patchy. But it gets me to version 1 quickly, and when I don’t have a lot of time that’s what matters most.
Last time I built a site in Rails I found that the development environment was my main sore point. I’m used to working in an IDE like Eclipse, but there was nothing like that for Rails. But now I see that NetBeans has a nice IDE so I might check that out.