Menu Search
Jump to the content X X
Smashing Conf New York

We use ad-blockers as well, you know. We gotta keep those servers running though. Did you know that we publish useful books and run friendly conferences — crafted for pros like yourself? E.g. upcoming SmashingConf New York, dedicated to smart front-end techniques and design patterns.

Poll: Which Framework Would You Recommend To A New Developer?


When I started developing websites, back in the days when we wrote HTML proudly in uppercase, Web development frameworks1 didn’t really exist in the form we have today. I’m sure I’m not the only one who could dig out a folder of “include” files that helped me handle repetitive coding functions such as interacting with databases and forms.

Today, we can choose from a huge array of frameworks, which provide us with different approaches to creating websites. If you are like me, you probably just ended up using a framework either because your job required it or because you like trying out new technologies and found one that works for you. But if you had to choose anew today, which would you pick?

A Hard Decision? Link

If you were starting out in Web development today, I believe you would have a hard choice — not only in which language to choose, but which, if any, framework to focus on. Some frameworks are hugely popular, such as Ruby on Rails2 and Django3, both of which power great websites and applications. Others, such as CodeIgniter4 and CakePHP5, may not get as much press but have thriving communities and conferences6 dedicated to them.

Not Just the Language Link

The choice should be informed by more than the language. Of course, liking the syntax and the approach is important, but other factors — such as the size of the community that supports the framework, its plugin architecture, the activeness of its development, the industries that use it, how easy it is to deploy in a live environment — play a part.

I’ll confess that one of the reasons I was put off of learning Rails when it was first released was the numerous stories I heard of how difficult it was to set up in a live environment, something that is thankfully a lot simpler nowadays.

Take Our Survey Link

If you were asked today to recommend a framework to a new developer, which would it be?

In addition to taking our survey below, we would love to hear the reasons for your answer. Also, please let us know of any valuable resources you used when starting out with a framework, whether a website, podcast or conference that really made things click for you. We’ll pull them together in another post to share with our readers.

If your favorite isn’t listed in the survey, please do add it in the “Other” text field. We look forward to hearing your thoughts.

Which framework would you recommend to a new developer?7


Footnotes Link

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
SmashingConf New York

Hold on, Tiger! Thank you for reading the article. Did you know that we also publish printed books and run friendly conferences – crafted for pros like you? Like SmashingConf New York, on June 14–15, with smart design patterns and front-end techniques.

↑ Back to top Tweet itShare on Facebook

Keir Whitaker works at Shopify & co-hosts The Back to Front Show podcast. He regulary writes about, and shares links on, ecommerce, the web industry & podcasting.

  1. 1

    Matthias Dietrich

    October 5, 2011 2:23 am

    Can we see what people wrote into “Others”? I’m curious to know :-).

  2. 3

    I personally develop .net and rails, I absolutely love rails and it’s simplicity but I’d say it’s better to start with something like .net to be able to propery learn the technicalities of a server side language, and gain a proper understanding of everything involved (iis is great for that too) then moving onto something like rails :)

  3. 4

    My “others”: Absolutely none, new developers should learn the fundamentals first.

  4. 5

    Why is node.js a web framework?

    .net as a web framework is also misleading. It’s either Webforms or MVC

    • 6

      Keir Whitaker

      October 5, 2011 2:36 am

      Fair point, I’ll change the label to ASP.Net MVC. I included Node principally as it’s becoming more popular and allows people to build web applications. I do see your point, wasn’t meant to be misleading.

      Thanks for picking me up on those.

  5. 7

    Laravel (PHP) should definitely be on the list. It’s very easy to grasp and powerful yet!

  6. 8

    I’m very happy codeIgnitor is winning! ha.

  7. 9

    I’m actually going through this decision process this week and CodeIgniter (with Yiii, which is not on the list) is on my shortlist. The biggest issue is scalability in bulk when trying to decide what (if any) framework to start with.

  8. 10

    pity I’m not seeing Yii among those.

  9. 11

    Adrián Moreno

    October 5, 2011 3:12 am

    I highly recommend Play! Framework to my fellows looking for a nice, clean Java Framework. It has all the power of the Java ecosystem, with some unique features that make working with it a charm, like hot-deployment of the written code, or the ecosystem of modules. It’s a nice alternative to the “heavy” Java frameworks, as I usually say: “it’s have withouth looking like Java”.

  10. 12

    Node.js is not a web framework. Jeez!

  11. 13

    The only vaguely worthwhile answer in my mind is “it depends”. For instance, Symfony’s fantastic for larger projects, but for a small site it’s overkill and a stupid choice.

    Also, node.js isn’t a framework, but there are frameworks available for it, such as Express or Geddy.

  12. 14

    I made a slightly weird choice – Ruby on Rails. The reason it’s weird is I’ve never used it!

    I have however dabbled with ruby and a lot about rails and I like the way it “feels”.

    Of the ones I’ve used, I’d choose codeigniter. Node is cool, but it’s all too easy to write spaghetti code ;)

    • 15

      I chose Codeigniter and Rails too.

      CI because it’s the one I’m familiar with, and I would like to be able to advice someone about something I recommended.

      But personally I want to learn Ruby too. (Thus, the tie)

  13. 16

    Although I recommend Codeigniter for its simplicity and speed, I would say “none” – it’s extremely important to a beginner to know the language to some sort of level before getting into a Framework, IMHO.

  14. 17

    Depends on the Development timelines and one’s competency and clients compatibility also :)

  15. 18

    im not a professional web developer, rather info architect with front end development skills, but i usually deliver a working environment to the developers with some server-side driven UI functionality to help them through it, I use .NET for so many reasons, I’m not fully aware of other communities but MSDN puts itself out there and its a damn good reference with anything you can think of… it also comes with free visual studio web developer which is a great environment, easy to work with and pretty quick
    But why I would advice .net? Im not sure about other frameworks, but separation of presentation from content and logic and server driven information is a must in all my projects.

  16. 19

    I’m really liking what Laravel and Fuel are doing. The syntax is clean, modern, and makes sense, so I’d really recommend them to beginners. I would also suggest for them to learn the fundamentals, though.

  17. 20

    Henrik Kjelsberg

    October 5, 2011 5:19 am

    Sinatra should also have been mentioned I think. Lightweight and easy to use, just like the descendant, Express.
    Express is a framework, node.js is not!

    • 21

      I second this — I had actually written in Sinatra for other.

      Learn Ruby, learn Sinatra, learn Rails. Experience professional happiness and job security.


    • 22

      Keir Whitaker

      October 5, 2011 5:51 am

      Good point, I have actually used this myself :) I tried to include the big guns, no way I could get them all in sadly.

  18. 23

    Mike Mercincavage

    October 5, 2011 6:37 am

    I’d be curious to know what IDEs the non-microsoft voters use. Visual Studio has always been among the most compelling reason to use .NET.

  19. 24

    I’ve been using and leading teams using PHP for a dozen years, and have for the last several years regularly taken a good hard look at all the frameworks out there that plausibly present themselves as more than hobbyist/student projects. What I use and evangelise for PHP work is Symfony2; I’ve used nearly a dozen other frameworks in the past.

    Recently, I’ve started doing some Ruby on Rails work as well, after having soured on Rails during the early days when it seemed more a cult of personality than a best-of-breed tool. I’ve been reminded what a joy Ruby programming is; the ecosystem now is much, much larger than a single ego (even one attached to an extremely talented individual); and despite a rather poor first choice of book to learn Rails from, I’m far more confident and comfortable in Ruby and Rails now than I have been at a comparable point with any new language/tool in decades. If I were starting the Web-development book I’m now working on today, I’d likely use Ruby on Rails rather than PHP. (And if you’d told me six months ago that I’d have these opinions today, I’d have asked what controlled substance you’d been using.)

    I’m not going to abandon PHP or Python. But any tool that offers as productive a learning experience as Ruby and Rails together do makes a welcome addition to the toolbox.

    • 25

      Kris Williams

      October 5, 2011 12:23 pm

      I agree, Ruby on Rails (ROR) is the framework that would be easiest for a beginner to pick up. There are far more *updated* resources on the web to support learning on it, Peepcode, et al., and the Ruby language is fantastic in general, and on par if not faster performing than PHP in many respects, and a much more consistent language, i.e., don’t have to look up the order of parameters on STRPOS every time you use it.
      Unfortunately for me, my current job requires PHP work on Zend Framework, and coming from ROR it’s like traveling to a spaghetti dimension. Lack of convention-based MVC and heavy use of globals and poor OOP constructs make it very difficult to work with.

      If you haven’t learned PHP yet, skip it. Here’s your free – get out of jail card – learn ruby instead!

      • 26


        I feel for you. A good bit of your pain is no doubt caused by Zend, the 800-pound “documentation by the boxcar load, just not so up-to-date” gorilla of PHP frameworks. The things that make sane craftfolk run screaming away from ZF are a great analogue of the things that are wrong with PHP generally. Version 6 was supposed to be The Salvation Of All Things PHP; we see how that goes. It rather sucks that, now that PHP 5.3 has some truly useful features for large-scale, agile, team development, the combination of the tons of obsolescent cruft weighing it down and the ready viability of alternatives may well doom it to FoxPro-of-the-Web status in a year or two.

        Tech marches on.

  20. 27

    You miss Yii, so fast and powerfull piece of php framework

  21. 28

    Cakephp is by far the most appropriate to recommend to a new developer.

    Its well documented, powerful, has a great community and is easy to use and deploy. None of the other choices match that.

    Zend is too complex, badly documented and not well designed. Ruby is hard to deploy and has a steep learning curve, CodeIgnitor’s ORM is too weak.

  22. 29

    A new developer should learn the language first. No frameworks. Once they have a solid understanding of the language, then learn a framework.

  23. 30

    For ruby frameworks, nothing beats Ramaze for learning. It’s MVC like Rails, but much easier to get started with small applications. I’d start with non-database centric applications then add in the database with Sequel (a ruby ORM). After that, if you need more (doubtful), then make the transition to Rails. I’ve done a number of posts on Ramaze at

  24. 31

    Vaidik Kapoor

    October 7, 2011 2:21 am

    So probably nobody has suggested it. I suggest Drupal.

    Its not a framework strictly. It was started as a CMS and it has become a CMS with an extensive framework.

    The community is amazingly huge and strong and offers a lot of support.

    Django is an amazing framework but it might be a little difficult to start. In fact, PHP based frameworks are the best for starting up is what I would suggest.

    I don’t like Zend much (I haven’t really used it a lot actually).

    So my suggestion would be Drupal, CodeIgniter and CakePHP.

  25. 32

    john m howitt

    October 9, 2011 12:43 am

    One or two mixed points.
    Although to complicated for a simple poll there is a difference between full stack frameworks, Symfony, Rails. And glue stacks such as Zend and CI. It is an important choice based on the type of project as to which you use and you really need to know the difference between them.
    Second and is my “rant” bit, i hate Zend compared with many other frameworks mentioned the documentation stinks and in may instances just has spam in it that has not been moderated out. Plus i thought one of the ideas of a framework was to speed up development by having a best way or even only way of doing something. With Zend when i need to implement something it seems that every “solution” i look at is written differently using different aspects of the structure.
    Third. There is an increasing development on the JVM area and languages and frameworks over the JVM especially in the functional programming area. Scala and Lift are an example and worth looking at.

  26. 33

    CodeIgniter + Doctrine = Happiness

  27. 34
  28. 35

    I do agree that before learning any framework, it is important to learn the languages first. Learning Ruby (and Javascript) before trying Rails as the versions evolve at speed from 3.0 and 3.1 to the latest 3.2. A solid foundation is essentail for the catch-up. Also it is painful to run rails on Windows without rvm. That means you have to familiar with Linux or go to Mac.


↑ Back to top