söndag 15 november 2009

Ruby on Rails - my roadtrip so far

On my Ruby and Rails roadtrip I am getting new insights and understandings...

In summary - with a very few lines of code - you can accomplish so much with Rails.
However, the main bit is to understand how to use the existing puzzle bits.
Once one learns how to use the framework and plugins - it is just rolling...as they say.
I.e. not much coding to do.

There is an abundance of existing plugins that enthusiasts around the world creates and gives you access to - the main thing is to decide which to use, which will live and not die, which are the best for your needs.

My roadtrip so far:
I started out with the Eclipse IDE using plugins from Aptana and using SqlLite3 as database.
Then I moved over to Netbeans and started using MySql as database.
Ruby on Rails have/is moving to Github, a distributed source repository, and most of the rails plugins are also moving to Git. So I also needed to install and understand Git.

The main concepts of Rails builds on having a well thought through datamodel and using ActiveRecords for storing the objects. So it is indeed a VERY object oriented framework. I've learned how to use ActiveRecords for setting up the datamodel using belongs_to and has_many... etc.

One reason, I think, that makes Rails so flourishing, is that there are so many plugins out there.
However - I would say this is for both good and bad.
I guess the reason why there are so many plugins - is that the framework encourages own development of plugins.

However, some days ago, I got a wake-up call - of the vulnerability of the abundance of plugins and free opensource.
I was to use a plugin, named Streamlined, that there was so much buzz over.
A plugin that gives a administrative GUI interface to the datamodels.
A quite handy thing to have - and unnesseassary to build yourself.
As late as in october 2008 there was a lot of buzz about this plugin - but I realised I hardly saw andy post that was dated after that...
And while looking for a solution to a problem I found in the said plugin - I found a google group where one of the contributors told, what I deep inside had suspected...the plugin should be considered as dead!
"We've put out calls for others to step up and take over the project, but so far noone has responded. "

Ofcourse these things happens often - new techniques take over. But I was struck by how fast it can go.
And I guess that the faster the pace within an area, in this case Rails and all its gems and plugins, the faster techniques can also die.

Anyway - since another eqvivalent plugin exist, ActiveScaffold- with equal amount of buzz, I could continue to roll with Rails...
I am also using Restful_Authentication plugin - which is also very conveneient - since all authentication, including setting up of tables etc, is taken care of, I can roll even faster...

But I have philosophical reflections:
I assume the following:
  • Most plugins are contributions by individuals who have created them for free. In other words - charity work.
  • Most programmers like more to develop and less to maintain.
  • Plugins are developed isolated but may rely on version of rails and other plugins.
  • So when rails upgrade or change or other plugins change - the existing plugins may need to change as well.
It strikes me that theere is a potential danger here that there is creation of a lot of new stuff but less people who wants to care for the maintainance of it.

On the other hand - this is nothing new either. This is frequent in all languages and framework.
But I find it extra evident in Rails.

To end - I am still hooked to Ruby on Rails. And now I can say I know quite a bit of it!

Inga kommentarer:

Skicka en kommentar