2010: The Open Source Tools that Made it Great
I was re-reading Brandon’s list of Things that will rock the (my) world in 2010 and thought it would be good to look back at what actually did rock our world.
Bundler
I hated bundler at first. Hated it. I tried not to vocalize it too much, but I’m sure it spilled onto Twitter at some point.
But then it got good. Really good. By making it Just Work, they solved a ton of real problems we face as Rails & Ruby developers. No more gem conflicts. No more forgetting to declare a gem in your app. No more publishing alternate gem versions, just point to the git repo!
It also had the effect of making our continuous integration server run much smoother. When every environment is fully declared, you don’t have issues. Paired with RVM, it is a pretty perfect setup.
WebDriver
This one surprised me, and most people don’t even know about it.
The new Selenium 2.0 hotness WebDriver. It replaces all the bad/annoying horrible parts of Selenium and makes it all Just Work.
When using Cucumber and Capybara, you simply tag your scenarios with @javascript and you’re tests are now running in the browser. (We really need to blog about this more…)
The change for us has been that we’re much more likely to write browser-based tests, which is huge as more and more of our apps are Javascript heavy. We’re not afraid of Selenium anymore, and it runs on our build server without issue.
MongoDB
This continues to rock our world, but we really started using it in 2009. This year though, we built more production apps on it and it became a big part of our toolkit.
We stopped thinking of our data in terms of tables, and were able to leverage MongoDB’s internals to do crazy-cool things. We helped make MongoMapper work with Rails 3, so there’s no reason not to use it today.
WebSockets
WebSockets are cool. We’ve started using them as a communication channel between users or just to send quick update messages. While we’ve done fancier stuff using NodeJS and more, if you want to get started today, check out Pusher. They make it super easy. You can be up and running in moments.
Adoption is slowed a bit because of cache-poisoning bugs, but they’ll keep coming. The nice thing about something like Pusher or Juggernaut is that they include fallbacks for browsers without WebSocket support.
EventMachine
Chris and Brian did some great things with EventMachine this year, from parsing massive amounts of live streaming data (millions of records) to controlling our new build server stoplight.
Heroku
We’ve been using Heroku for a while, but we really started pushing our clients there this year. The reason? We can push up a development version of an app in moments. There’s no time wasted, and then the client gets to decide when to scale up. For some projects, we get dependencies that force us to move elsewhere. That’s fine, we were able to put off that decision until it was necessary.
Rails 3
Rails 3 has been very nice, both to work with and to teach. I am very pleased at how the core team really made this release clean and smooth. It was worth the wait.
Other things
While making the list, I thought of a few things that were great in 2010, but not standouts like the above: RVM, carrierwave, state_machine and devise are all favorites.
What about you? What has made 2010 a great year?
Comments
A couple of these aren’t technically open source tools (heorku, websockets) but I think they fit in well.