There are a number of reasons to investigate a new technology (existing one falling into a nice, vendor support being abandoned…) and a multitude of “outside” requirements very specific to each company (needs to play nice with Java, CMS system available built on that stack…) for which we won’t go into further details. As of late, I have had to look into alternative technologies after it became apparent that my company’s current one is in serious decline, which impacts on the availability of experienced developers as well as cast a doubt on the futureproof-ness of the applications developed in that technology.
What I would like to put out there are the indicators I have used to “grade” the different combinations I have looked into.
We will concentrate on the language and the framework component of software framework, leaving IDEs and support programs aside from the moment. Because that’s what I know, I have consciously limited my search to MVC (Model-View-Controller) frameworks. There is some good background information available here.
What I have so far (with a couple of examples of the data available, the list is by no means exhaustive):
- Approachability of the core language and code libraries (aka language native capabilities). This is partly subjective based on own experience and needs.
- Approachability of the framework. Again this is subjective, I personally look for a 5-minutes tutorial I understand from the home page of the framework website! If I can’t find one or I don’t get it, that would be a no-go.
- Wikipedia entry for each framework as well as the Comparison of Web Applications Frameworks page (!)
- Framework Vital Stats from Ohloh.net
- Popularity on StackOverflow
- Looking at the tags, a quick mental calculation brings the total number of posts for Zend to slightly over 21k, CakePHP to over 18k and Symfony to over 19k
- Popularity on Google Trends
- Rating on devrates.com (unfortunately, there isn’t data for everything)
- Comparison websites
- Research Institutes Publications such as Gartners.com (Reports are free to access but require registration, good background reading in general although they tend to ignore open source solutions in favor of the big dollar solutions their clients typically are looking for)