How Do You Decide Which Framework to Use?
GPolancic asks: "Software frameworks are increasingly popular software reuse technique, because they provide infrastructure functionalities to an application, or a layer of an application and therefore
reduce the work of a software developer. Numerous complementary (for example: Struts and Hibernate)
and competitive (for example: JSF vs. Struts or JSF vs. ASP.Net) software frameworks are available as both proprietary and open source software. A major precondition for the success of a software framework is their acceptance, which is related to market share or community size. On the other side, application developers need to review and select the best available software framework for their needs. Which factors do you evaluate before you decide to use a specific software framework?"
"Our presumption is that software developers mostly evaluate following software framework characteristics based on:
- perceived ease of use (e.g. easy to learn, easy to adapt)
- perceived usability (e.g. improving developer performances, reducing work, faster development),
- perceived sustainability (e.g. perceived long term support, supporting standards, clear project directions) and
- perceived fit to specific developer requirements (e.g. suited language, suited functions, suited architecture).
Personally, I'd pick Ruby on Rails. Not that I have any technical reason to prefer it, mind you... but man, it's so jam-packed with alliterative goodness and it's all Web 2.0'ed out and shit. And it has some crap called a scaffold. Do you have any idea how many struts it takes to build just one scaffold? No? Well it takes a lot!!
ColdFusion, yup thats right. You can have your struts and scaffold, my website is power by cold fusion. Let me tell you it picks up the honeys when i say i work with cold fusion. Good luck picking up a lady telling them you work on struts, scaffold or java beans.
Have you ever been to a turkish prison?
That reminds me of a (quite large) project a few years ago. We were deciding what language to use, what framework, what methodology, etc. And the boss asked:"How many frameworks can we use in the project?" We gave a few, and he wrote down one himself. He then drew one on each corner of a paper, put his pencil in the middle, and spinned. It pointed to COBOL, which is the one he wrote down.
:)
Imagine the look on our face... One of the colleagues later told us he almost peed in his pants for that experience.
Seriously though, this story is just a bit exagerated, but not that much, the selection process was almost like what I just described