ifacethoughts

What Is The Use Of Minimalistic Frameworks?

My recent work has brought me to liken the minimalistic frameworks. By minimalistic I do not mean that they necessarily have less code. By minimalistic I mean that they do not carry a lot of dependencies, and bells and whistles. A friend then questioned me about their benefits if they do not have built in facilities. A valid question, and admittedly I did not have the answer ready. Even right now all I have are some thoughts about the question, not a convincing answer.

Let me list some minimalistic frameworks to make you familiar with my definition.

It is quite possible you do not consider some of these as minimalistic frameworks. For me, a framework is minimalistic if it let me take most of the design decisions. It does not enforce how to talk to the database or how to integrate Javascript or which components to use. Instead it gives me options and lets me build my ways into it.

I believe that the most critical activity in software development is to identify the various components, segregate them and then facilitate their integration to allow building of the whole system. And this is what the minimalistic frameworks do. Everything else can be modified by the programmer to suit his/her needs. And this is why they turn out to be the most flexible.

Of course it can be a disadvantage for some that components are not already identified and packaged. But it is this lack of pre-selected components that lets you choose the ones that are most suitable for your task at hand. As a software developer I am trying to build specialized systems so that they can work as better solutions, and this is what these minimalistic frameworks let me do. Not that others do not let me, but the minimalistic frameworks make it so much easier.

Discussion [Participate or Link]

  1. Steve Campbell said:

    I’m not familiar with any of the frameworks you mentioned. However, (I think) I know what you mean. The defining criteria is that the framework designers have identified and implemented one or more well-thought-out abstractions that make the (possibly complex) tasks appear to be simple.

    They typically draw very clear lines around what they *can* and *cannot* be used for. This is important, because in order to achieve a simple-looking abstraction, they have to discard some edge-cases that larger more “comprehensive” frameworks may handle.

    In that sense, what you call “minimalist” frameworks are simply very specialized (and well designed). Nothing wrong with that!

  2. Andrew said:

    I think there is a point when you stop coding in PHP (or whatever language you like) and start coding in the framework. That is fine if it that is what you want, but if it isn’t then minimal is the way to go.

    I would used something like Codeigniter purely to make use of an MVC environment. Beyond that I would be hesitant, but not entirely unwilling, to use more components.

  3. Abhijit Nadgouda said:

    Steve, I would not say that they are specialized. They can be applied in a multitude of scenarios, all they do is that they do only some basic things so that rest of the decisions are open for you to take.

    Andrew, like you said, I will use CI purely to make use of MVC environment, because only that is what you want from a framework. You want to keep the other components and their integration open.

  4. Kevin Quillen said:

    I think Cake is fairly decent. I use Fusebox mainly, but starting to grow tired of it.

  5. Principles For PHP Programming | iface thoughts said:

    [...] we use frameworks? I like minimalistic frameworks. They walk on the thin line separating frameworks and libraries. If you do not like the existing [...]

Say your thought!

Who are you?

If you want to use HTML you can use these tags: <a>, <em>, <strong>, <abbr>, <code>, <blockquote>. Closing the tags will be appreciated as this site uses valid XHTML.

freshthoughts

contactme

Abhijit Nadgouda
iface Consulting
India
+91 9819820312
Y!: anadgouda
GTalk: anadgouda@gmail.com
MSN: anadgouda@hotmail.com
Skype: anadgouda
My bookmarks

currentproject

Complete Wellbeing

badgesand...

This is the weblog of Abhijit Nadgouda where he writes down his thoughts on software development and related topics. You are invited to subscribe to the feed to stay updated or check out more subscription options. Or you can choose to browse by one of the topics.

Twitter - Using Envy Code R and liking it. Thank you Damien. http://tinyurl.com/688mft