Frameworks: To use or not to use
Monday 24 October 2005 @ 10:19 am
Filed under:

During a java meeting about the use of (open source) frameworks there were a number of interesting conclusions. Frameworks are not used for the following reasons:

  • Lack of knowledge by the team members.
    Most projects are fixed date. To minimize risks, projects use the known solutions (based on experiences of the team). There is no time to select and test a possible (open source) framework and estimation is already based on a known solution. Besides all that selecting a framework is not an easy task, see what-is-the-best-java-web-framework.
  • Dependency of a framework on other frameworks.
    Some frameworks depend heavily on other frameworks. This can make configuration management a nightmare specially when having multiple frameworks that use different versions of a common dependency.
  • Frameworks will be outdated in a few years.
    This �feeling� is based on the rapid changing java-world. A framework like Struts is now history.

When open source frameworks are not used, what is? Most projects define there own solution and depending on the size of the project this will turn out to be a project specific framework. This has one big disadvantage: new project members need to learn this framework. For this framework the same rule applies as for open source frameworks: they will be outdated within a few years.

Is there an advantage using an open source framework? YES!
There is a good chance that your project is not the only project using the framework. When new colleagues on a project have knowledge of a framework they will be productive in no time. This works best as framework selection is done on a corporate level.
Are there more advantages ?? let me know!!

— By Rob de Jong     PermaLink

One Response to “Frameworks: To use or not to use”

  1. okke Says:

    Frameworks only serve one purpose: reduce the amount of programming effort during both the construction and the maintenance phase of software engineering projects. This can be done by reducing the amount of code that needs to be written but also by reducing complexity and as a result support faster development. This can indeed be accompished by both self written frameworks and opensource frameworks. Even by frameworks you have to pay for.

    So the questions every engineer should answer are ‘do we need a framework?’ and ‘how do we select a framework?’ Easy access to knowledge (for example by a web community but also by co-workers) is one of the key criteria for a valid answer. Another important criterium are the skills of the programmers that need to work with the choosen framework.

    Can you defend the choice for
    * Hibernate when dealing with a dozen of brilliant SQL programmers? (maybe you go for IBatis?)
    * EJB3 persistance when only using two relational database tables? (Maybe you go for plain JDBC?)
    * Struts when 75% of your app is covered by Flash components? (Ever heard of Lazslo)
    * Webwork when your application will be build by two java newbies who still are in the progress of certification? (Maverick might be old but does the job and is pretty easy to adopt)
    * Log4J as you have never investigated the possibilities of JDK’s build in logging mechanisms (yep, sometimes you do not even need common-logging)
    * Spring if your app is going to be used as a one time batch run (Program and throw away is also a design pattern)
    * Axis if your swing client is the only client who will ever access your server (Search google for Hessian or Burlap)
    * Wicket when you expect 3000 concurent users (Tapestry does not overwhelm you http session)
    * And so on …

    In other words, is there an advantage of open source frameworks? SOMETIMES! but not all the time.

    By the way, while writing this comment I discovered a 1024×768 screen is not really enforcing productivity, the little blue screen parts are sitting on my text making it hard to readback what I wrote. Feels like a framework choosen for being a framework :-)

Leave a Reply


Sha256 mining

Blog Categories

Browse by Date
October 2005

Upcoming Events

Monthly Archives

Recent Comments


XML Feeds Option

Get Firefox  Powered by WordPress

code validations
Valid RSS 2.0  Valid Atom 0.3
Valid W3C XHTML 1.0  Valid W3C CSS