Jake Intel

Lawson Kurtz

Introduction to Open Source Web Frameworks

Frameworks are near and dear to the hearts of modern web developers, but why should you be interested in them? Because open source web frameworks allow developers to build you multi million dollar websites for only a tiny fraction of the price.

When the World Wide Web was in its nascent stage, websites consisted of simple, static pages which were straightforward to create and edit. In the time since, websites have evolved into complex, dynamic entities. Even seemingly basic website functions like password-protection can involve tremendous complexity, requiring hundreds or thousands of lines of code (and many thousands of dollars) to develop. Without open source web frameworks to address this complexity, most companies wouldn’t be able to afford the development of a truly modern website.

What is a Web Framework?

A web framework is programmer-speak for a reusable, solid foundation for a website or web application. Much like a wooden frame of a house supports its functional requirements while still providing nearly limitless customizability, a web framework addresses many programming requirements of modern websites, without getting in the way of the creation of a custom site. It allows your site’s developers to focus more time and effort on your specific needs, and less time and money on the needs of the Internet, servers, databases, and other stuff you probably don’t care about.

Most modern websites are built on open source web frameworks, from huge web applications like Twitter, all the way to obscure blogs. Open source frameworks are simply frameworks that are developed and improved by communities of programmers, and that are freely distributed for use around the web. Using an open source framework allows you to reap the reward of millions of dollars of professional programming, for free.

The Benefits of Open Source Web Frameworks

Using a web framework for your web project offers numerous benefits which can be broken down into a few main categories:

  • Affordability – Since developers don’t have to reinvent the wheel every time they start a new web project, you only pay for the work specific to your particular needs. And since you don’t need to spend money on the boring stuff, you can afford more functionalities than you may have originally anticipated.
  • Security – How can code that everybody has access to be more secure than private, custom code? Since so many developers are constantly scrutinizing and improving open source frameworks, security flaws that do exist are detected early and fixed before they ever become a problem. One study has suggested that private code may contain over 100 times the number of errors as open source code. 1
  • Extensibility – Because so many developers use the same web frameworks, there is a good chance that any problems associated with particular functionality requirements have already been solved by others. Entire communities tend to develop around open source frameworks, through which solutions to common problems and code to provide new functionalities flow freely. (This is the concept behind the very popular ‘Plugin’ for WordPress.)
  • Maintainability – Since many developers are familiar with the same popular web frameworks, finding somebody willing and able to maintain your site is significantly easier. And since most web frameworks follow best programming practices, the likelihood that you’ll ever encounter a problem that needs to be fixed is significantly reduced.
Popular Web Frameworks

The most popular open source web framework in use today is WordPress, which is estimated to be powering more than 1/5th of all new websites in the US2. Originally designed to specifically address the needs of blogs, WordPress has since evolved into an extremely powerful and popular multi-use framework with an estimated development pricetag of $2.3 million3. We’ve found WordPress to be an extremely effective solution for addressing the specific needs of the majority of our clients.

When our clients requirements exceed the capabilities of WordPress, we turn to another open source framework, CakePHP. With an estimated development cost of $8.9 million4, CakePHP is designed to power high-complexity, data-heavy web applications. (Keep an eye out for our future posts on CakePHP.)

While both WordPress and CakePHP are written in the PHP programming language (which many clients prefer to use for their websites), web frameworks exist for nearly every programming language out there. Other popular non-PHP frameworks include the immensely popular Ruby on Rails, written in the Ruby language, Django, written in Python, Express, written in Javascript, and Struts, written in Java. Each framework carries with it certain benefits and drawbacks. Your developer should be able to help you find the right framework to suit your needs.

I’m Sold. Where Do I Get Started?

We recommend WordPress for people just getting started with web frameworks. WordPress is well-suited to individuals with little or no programming experience because unlike many of the other frameworks mentioned above, it provides a functional website right out of the box. And while WordPress certainly has its limitations compared to more robust frameworks like Ruby on Rails and CakePHP, it can be customized and extended to meet the requirements of the vast majority of websites. Additionally, most hosting providers offer support for PHP (the programming language in which WordPress is written), and the WordPress community contains a lot of great resources for those new to the framework. You can find the official Getting Started documentation on WordPress.org.

If you want to take advantage of the power of open source web frameworks, but would rather not spend your time learning new programming languages, give us a call or contact us through our website.

1http://www.wired.com/software/coolapps/news/2004/12/66022
2http://techcrunch.com/2011/08/19/wordpress-now-powers-22-percent-of-new-active-websites-in-the-us/
3http://www.ohloh.net/p/wordpress/estimated_cost
4http://www.ohloh.net/p/cakephp/estimated_cost