Benefits and Pitfalls of Using Code Frameworks

A code framework is nothing more than a collection of pre-formatted classes and functions. There are frameworks created for practically every language out there – even including frontend web development like JavaScript and CSS. Developers would be wise to follow these trends of working on top of pre-built code.

There are reasons both for and against building on top of web frameworks. You need to spend time learning the code and adjust your website accordingly. But in the long run you’ll save a lot of frustration as many common features are already created for you! Let’s delve into these ideas a bit more and consider some of the most popular code frameworks today.

Improvements for Web Developers

Building products for the web can be one of the toughest development jobs. Rules are not set as standards in the same way Windows or Mac OSX programmers follow. Web developers need to work on a server architecture, generally writing in a backend programming language such as PHP or Ruby on Rails.

PHP is by far the most recognized development language for creating dynamic websites. You can build snappy applications working with databases in a short amount of time. And the new PHP5 specs have included a whole slew of additional functionality. The benefits of working on PHP frameworks means you don’t need to start from the very beginning. It can be stressful to include a set of 3rd party libraries and build up your own system from scratch.

Happy Wintertime Snowman

But there are plenty of alternative PHP libraries which each focus on a different set of functions. Some may help you setup a simple blog, backend CMS, social network, or a handful of other common templates. And when you build upon open-source frameworks you’ve actually got a whole community of developers behind you for support.


The MVC hierarchy is crucial to understand when building with frameworks. If you have ever coded software or applications before then developing for the web seems very cryptic. MVC doesn’t appear to make much sense on a standard web page.

However when you include a database connection the functionality of a framework starts to take form. You have a model of functions crunching information to save/pull from the database. Then you have a view of HTML/CSS styles on the frontend, along with a controller generally represented by forms or inputs on the page.

industrial smokestack for business

Frameworks which follow the MVC coding style are generally a lot faster and easier to debug. You know exactly where to look for errors and bugs within the code. It also naturally separates the backend programming from your frontend design view. Because of this, much of the code you find online will also likely work on your own site.

There is a lot of room for recycling code to use on a similar project. This can save you loads of time as a developer and many hours of debugging!

Focus on Custom Functionality

When you start coding with a framework it allows you to jump right into the detailed programming functions of your own project. Since all the ground work is already setup you don’t need to rewrite any of the basics. If you understand the basics this can provide an immensely helpful system.

Most code sources are extremely reliable and thoroughly checked for bugs. This allows you to develop out with your own models, following a similar syntax as the framework itself, without any unnecessary worries. If you enjoy writing code from scratch then this method is not likely to suit you. But the expendable nature of these frameworks means you can write code externally and port it over into the model.

CakePHP Coding backend framework

Or in many scenarios you can actually build out a custom module! Not all frameworks support the plug-and-play mentality. Yet it is a fairly common feature even among some frontend libraries. jQuery is the first which comes to mind featuring dozens of techniques for building your own plug-in. The web development framework Alloy is also modular and written for PHP 5.3+ environments.

Examples of PHP Frameworks

When just getting started you want to stick with something reliable and easy to use. Newbies just getting into frameworks will enjoy Zend or CodeIgniter.

home page design for CodeIgniter

Both of these projects have been under development for a few years. The PHP community is very adapted to their code style, so you will not likely have a difficult time solving problems. But if you start on any of these I highly recommend skimming their documentation pages first! This will give you an idea of how these frameworks behave, and if you can even utilize them.

Below are just a couple ideas for enticing PHP frameworks to check out. I have been a fan of CakePHP in the past, although I mostly work with custom CMS’ these days.

  • CakePHP – A very flexible option for newbies. There is no configuration edits or custom code required – just install the database and Cake is good to go. The whole development team is very knowledgeable and willing to help with issues. There are also a handful of published books geared towards explaining common Cake trends. Check out the CakePHP training videos online if you want to learn more.
  • Recess – A RESTful PHP framework for newbies and advanced programmers alike. Recess is lightning fast, super easy to learn, and perfect to install on a standard LAMP server environment.
  • • Adroit – A lightweight PHP5 framework to get you developing faster! The core is built around an MVC hierarchy and utilizes the Smarty template engine. It’s also a breeze to implement your own Ajax calls between the database and frontend view.
  • Flourish – More of a general object-oriented library for coders. With this modular framework you aren’t limited to the MVC paradigm, although it is an option. The code is very secure and provides tons of examples on their website.
  • Yii Framework – A much more detailed framework for web developers. Yii allows you to rapidly prototype dynamic features such as user authentication, Ajax calls, caching, custom themes, and a whole lot more. Check out their full list of features on the website.

CSS Design Bundles

Code frameworks started out popular in the areas of backend development. Both software programmers and web developers have been utilizing these for years. But now there are countless frontend developers releasing their own design frameworks.

CSS is by far the go-to style language for the web. You can mockup an entire web page with fonts, colors, content boxes, alignments, and tons of other effects – all without touching the HTML. It’s a brilliant coding system which has revolutionized the field of web development(especially with HTML5).

Tokyo Japan at Night

CSS libraries can save you even more hardships on coding frontend. There are code frameworks which work on CSS grid systems, resetting browser defaults, dynamic webpage fonts, and a few other nifty concepts. Best of all many of them are free to download and come with an open-source developers license.

Common Recommendations

In the list below I’ve compiled some of my favorite CSS frameworks. This list will not be useful for everyone as not all developers enjoy using these code libraries! I admit that at times it’s just easier to write all your own code from scratch.

But when you really need to shave time off a project there’s no better solution than these libraries. Most can be downloaded and forked on GitHub from the original author. If we skipped over any good ones let us know in the post comments!


I hope this article has paved the way for some interested developers to get started using frameworks. In the modern era it has never been easier to get moving building a website. There are many open source databases of code you can start working on which are scalable in the long term.

Don’t try to push yourself into a single framework on the first day. I find it’s best to tread the waters a bit and try out a couple different names. See if there are any which fit your needs best, as different developers need different tools to work with. Whether coding frontend or backend you’ll slowly develop a sense of trust with these frameworks. Not only do they make your job easier, they provide a stable grounding for nearly any project you create in the future.

(104 Posts)

Jake Rocheleau is a passionate web designer and social media entrepreneur. He is frequently researching the latest trends in digital design and new-age Internet ideas. He's also an advocate for the social media revolution - follow his updates on Twitter @jakerocheleau.


  • Good analysis Jake :) Now a days, most of the web development companies are adopting frameworks to make the development speedy. frameworks provides you all basics core functionality and you dont have to work on that. Still there are many developers around us who dont like to work in frameworks and they love to work in simple php structure. I love to work in codeigniter and cake php because of their active community which help you to solve the issues we face in development.

  • Frameworks are very useful on all sorts of project, but I think it’s important to learn the underlying language before you start with a framework. I wouldn’t advise newbies to PHP to start using a framework.

  • Very interesting to read ! Thanks

  • John

    I don’t think recommending ZEnd framework for newcomers is a good advice…

  • twitter bootstrap can be added

  • Leonard

    I’ve always been a little weary of web development frameworks, though I respect them. They’re cool, because they often address complicated concerns and problems that could take a while to work out from scratch. They are also all relatively similar in design, so a team of developers working at a certain level will generally have a good working understanding of how an application based on an MVC framework is structured, and resultantly, how it works. If you’re working in a large team, or one that frequently changes, and the application is sufficiently complicated, then basing your application code on a framework is generally a very good thing. The problem with web app frameworks though, is the ‘black box’ idiom…

    …You may use a particular framework feature heavily and find that it works very well most of the time, but if you stretch it’s use case, and it folds, then you could find yourself spending as much time fixing (or hacking around) an undocumented fault in the framework code, as you would have done writing that same feature from scratch…

    Then of course, there’s the widely perceived issue of inflexibility (which I should really make an effort to drop)… You have very little choice over how your application stores data, how you name certain files, how you name your functions… Then again, those are the exact reasons why frameworks are used.

    Nice article…

  • Mark Scott

    Sorry (pet peev) but… 

    “…writing in a backend programming language such as PHP or Ruby on Rails.”

    is incorrect, it should be
    “…writing in a backend programming language such as PHP or Ruby.””Ruby on Rails” is used as a reference to a framework not a language, Ruby is a language, but when used together it is referring to the Framework.Otherwise great article, happened to randomly stumble across your site and its going straight to the Pool Room (feed reader).

  • Mark Scott

    But I would recommend that they aspire to learn them (and not just one), for me once I understood frameworks (I attempted it early on) it allowed me to understand programming in an entirely new way based on the concepts they bring to the table, and it also made my non-framework code so much better by leveraging techniques and in some cases pinching code.

    The biggest benefit was the examples of how to write better code because code from a framework has often undergone many revisions leaving (what should be) an elegant streamlined codebase and structure, my code became so much cleaner!Even if they don’t plan to build anything commercial it’s still worth tinkering around a framework and seeing what it does.

  • tomhermans

    Think of frameworks as a bunch of best practices. You can learn a lot from them.

    Eventually you build one yourself, with the best pieces of each one. That’s your framework, boilerplate, whatever you name it..

  • Yes good point the better code in the framework does help you learn more about the language. 

    But I think if you are going to start with a PHP framework you need to understand the basics of the language before. Same for something like jQuery I think you need to understand the basics of javascript before you start with it.

  • I recommend PHP Fat Free Framework.

  • Raja Sekar

    I think you need to understand the basics of javascript before you start with it because the code became so much cleaner and it look like small consistence only.

  • Not sure how Bootstrap was overlooked, the most forked project on GitHub.