For the needs of many businesses, a static website is suitable, albeit not exactly engrossing. For a full-time software engineer / web developer, though, the expectations are slightly different- you’d better have a nice website, and it’d better work. I’ve had a mostly static site up for several months now (it dipped into MySQL for a couple of things) and I just recently decided that it wasn’t sufficient. I liked the design but wanted to do more. My first requirement was for it to have a blog.
After a few weeks of mulling over the idea of using Ruby on Rails (an exciting framework but with a foreign feel to me) to power the website, I sat down this afternoon and started doing some research. Unless I wanted my website to be lame and largely broken, hand-rolling my own blog or CMS platform with RoR was out of the question. I found a few pre-existing frameworks that seemed to do the job, but ended up frustrated at some vague console exceptions that I really didn’t feel like researching. At one very low point in the early afternoon, I even considered scrapping everything even remotely familiar to me and reading into Django, but a cup of coffee brought me back to my senses and I made a pragmatic, albeit slightly disappointing, decision.
I went with WordPress. Don’t get me wrong, it’s a stable system that has not only stood the test of time, but has also served as an invaluable tool in my myriad side projects. It’s just that it’s a little boring. And it feels absolutely gigantic, maybe because it seems that backwards compatibility constraints bring along with them great pools of unwanted overloads and method calls. But it works, and works well.
And I don’t have that much free time to play with. I’m still curious about RoR (and, yes, Django also, along with a thousand other open source frameworks) but, for now anyway, I’m sticking with what I know. And what I know is WordPress.
All that said, I’ve done a fair bit of refactoring today and have likely created some bugs that have yet to rear their heads. My apologies for these ahead of time.