Why does everything need to be integrated into a framework?

January 21, 2012 – 8:21 pm

There is occasionally people asking about things such as “Is there an integration for X in framework Y”

Then they are disappointed when it isn’t, acting as if it’s a really bad thing.

But why do things need to be integrated to begin with?

Background

A lot of people asking for these integrations seem to be from a Ruby on Rails background. It’s understandable considering there are lots of integrations for all sorts of libraries like unit testing tools and such for RoR.

However, I think it’s actually not such a great idea to integrate everything.

A very good example about this was quite recently when a person was asking if there’s an integration of any browser testing tools for Zend Framework. Something like Selenium or such.

As far as I know, there aren’t any for ZF, but why do you even need one?

This person was a Ruby on Rails developer, and had already learned a browser testing library, which was integrated into RoR itself. Infact, it was integrated so deeply he couldn’t use it for anything but RoR itself.

What if there is no integration?

Now, what if there was no such integration at all for Rails?

He probably would have learned to use Selenium. After learning to use Selenium, he would have been able to use a tool which is completely technology agnostic. Selenium works with Rails, ZF, Django, anything you throw at it. It’s a much better skill to have than some Rails-specific library.

One could argue that integrated libraries give you a productivity boost. While it may be so, I think the main boost you get is the very first steps: It’s easier to get started, but after that the benefit fades. In the long run, it may even turn into a poor investment in general, as you could have learned a general purpose tool instead.

So next time you’re looking for something that integrates into the framework of your choice, consider the other options too. It may prove much more beneficial.

Share this:

RSS feed Subscribe to my RSS feed

About the author

Jani is a 15 year veteran of the software industry. He's currently available for consulting

  1. 4 Responses to “Why does everything need to be integrated into a framework?”

  2. I can imagine it’s sometimes hard for people to determine for people where to simply ‘put the files’.

    Fat Frameworks often have a very rigid structure, forcing people to work and think in a certain way. As soon as you need to make integration decisions, you may feel strongly inclined to integrate 3rd party tools in a way that makes sense for that framework.

    I agree with your points, but all I’m saying I understand the motivator behind these integration questions.

    By Evert on Jan 21, 2012

  3. I’m not saying it would be a bad idea to integrate 3rd party tools, but more that writing a tool which only works with the specific framework is not such a great idea.

    But yeah, it’s true that with certain frameworks it probably feels more consistent if it’s deeply integrated with it.

    By Jani Hartikainen on Jan 22, 2012

  4. If we think about this from a PHP perspective, it is easily understandable why everything needs to be a bundle, extension, plugin, library, you name it.

    PHP was designed to make life easier for those who didn’t want to go to deep with the actual understanding of computer software, and it did just that.

    Asking those exact people to get out of their comfort zone and integrate third parties breaks the entire purpose, and many will just not have it. It is easier to follow a readme.md and move files from A to B, over digging through your framework’s internals to see where and how this third party software can go nicely.

    I am quite confident that most developers do the integration themselves or at least look over the code of the existing integration, testing and improving it over time.

    Third party integration is a good to have as a shortcut if you already went that same exact path once, but it does not excuse any developer from taking blind shortcuts.

    By Stelian Mocanita on Jan 24, 2012

  5. Frameworks are like peeing in your pants in wintertime; they make you warm at first but freeze you later. Recently bitched about it as well. http://code.vn720.com/2012/03/13/about-frameworks/

    By Jani Kajala on Mar 13, 2012

Post a Comment

You can use some HTML (a, em, strong, etc.). If you want to post code, use <pre lang="PHP">code here</pre> (you can replace PHP with the language you are posting)