5 Things When Considering A Web Development Framework

May 10th, 2011 0 Comments

There are so many frameworks in web development that, to be frank, most developers find it confusing at times. Many developers are jumping around from one to another, if for no other reason, to add it to their resume. This article is designed to help cut through the confusion, and the bias online, and provide some thoughts that will help in your decisions.

This is a basic list of things to consider when choosing a framework:

1. Who’s behind the framework? Is it backed and endorsed by a large company, or perhaps a small group of developers looking to make a name, or otherwise just a new company looking to emerge? This should be very important in making a decision with not only the current framework you use with your projects, but even deeper, the platform and technology direction overall.

2. Is the code constantly being updated, tested, and maintained by a large professional team of developers? Technology changes, and so should the frameworks you use. It’s a constant pursuit to improve and debug that requires a lot of resources and man hours.

3. The code base should be of the highest quality, fully standardized and professional coding practices that will stand the test of time. It’s not about being a perfectionist, but it is about creating real solutions with solid products that have a reasonable life cycle.

4. A framework is only as good as it’s documentation and support. If it’s not easy to use, if it’s doesn’t produce better products, if it’s not speeding the time of development, then there is no point at all in even attempting to use it. This happens from great efforts to clearly document and to demonstrate common scenarios with written and video tutorials, etc.

5. What kind of work do you want? Do you want to work with professional organizations and long term contract work or jump from client to client with short turn around low level work? You must choose the technology path that meets your goals, and just the same, the framework goes nearly hand in hand with that direction.

Now that we know how you should choose, let’s look at the current options:

Tier 1:
Microsoft – .NET

Tier 1 options are driven by large commercial for-profit companies with a large number of developers supporting and maintaining them, a large amount of money backing them, and are solid “enterprise worthy” directions. As a result, they are found as your tier 1 options.

Tier 2:
JAVA – Struts
JAVA – Spring
PHP – Zend Framework
Python – Django

Tier 2 options are also driven by quality companies with a large number of developers supporting them, and are solid directions that are considered “enterprise worthy” in many cases. Django may be a surprise by some, however, Python has proven to be a force to reckon with in the development community, and Django has played a large part in that movement. The other options in this tier should be no surprise.

Tier 3:
Ruby – Rails
PHP – Yii
PHP – Symfony
PHP – CodeIgniter

Tier 3 options are solid options, however, they are for the most part community driven by a smaller group of developers. Tier 3 options tend to be popular for a few years, then lose traction. They are also prone to complete overhauls where the framework is built again from the ground up to address issues and poor long term vision, which may break functionality of existing projects.

Tier 4:
If you’re not in the first 3 tiers, one should question whether you’re willing to roll the dice on such a development path for your projects. Sure, anyone can build their own framework, and many of the tier 4 and lower options are just not stable enough to guarantee their future.

Some may agree with the assessments, and of course, some will not as their favorite framework falls lower on the scale then expected. However, the vast majority of non-biased software/web/mobile architects will agree with these findings. With that said, there is no “wrong” framework to use provided it eases your development process, but if you’re looking for career paths and long term life cycles, you should consider these 5 points.

How Do You Decide Between C#, Java, PHP, and Python

July 26th, 2010 0 Comments

In particular, a debate between the C#/.NET/IIS stack and the Java/J2EE/Apache/Solaris stack and the PHP/Apache/Linux stack could go on and on for years and years and you’d never find the right answer. That’s because there are so many pros and cons of all these platforms that advocates of each side can debate and debate and never get any closer to the truth, but it sure as heck is a fun debate.

There’s so much evidence that when it comes right down to it, millions of people are building huge business-critical things in C#, Java, PHP, or Python, and while they may have problems, they’re not mission threatening problems.

So how do you decide between C#, Java, PHP, and Python? The only real difference is which one YOU know better. If you have a serious PHP guru on your team who has built several large systems successfully with PHP, you’re going to be a heck of a lot more successful with PHP, not because PHP is a better language than C#, Java, or Python, but because he knows it better