Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
PHP GUI Programming

Drupal Competes As a Framework, Unofficially 178

tgeller writes "Drupal developer Ben Buckman attended the BostonPHP Framework Bake-Off with the hopes of pitting the CMS against CakePHP, Symfony, Zend, and CodeIgniter. He was told that he couldn't because Drupal is 'not a framework,' a response he felt was 'coder-purist snobbery ("it's not a framework if you build any of it in a UI").' So he decided to unofficially compete in the back of the room by accepting the challenge of building a job-posting app in 30 minutes, while the official competitors did the same from the stage. He recorded the results, which are impressive. In the process he raised the question: What is a framework, anyway?"
This discussion has been archived. No new comments can be posted.

Drupal Competes As a Framework, Unofficially

Comments Filter:
  • framework (Score:3, Interesting)

    by mattack2 ( 1165421 ) on Thursday February 24, 2011 @07:35PM (#35307256)

    What is a framework, anyway?"

    What are Frameworks?

    A framework is a hierarchical directory that encapsulates shared resources, such as a dynamic shared library, nib files, image files, localized strings, header files, and reference documentation in a single package. Multiple applications can use all of these resources simultaneously. The system loads them into memory as needed and shares the one copy of the resource among all applications whenever possible.

    http://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WhatAreFrameworks.html [apple.com]

    I know that's not what you were really asking...

  • Actually... (Score:3, Interesting)

    by dandaman32 ( 1056054 ) <dan@NoSPAM.enanocms.org> on Thursday February 24, 2011 @08:54PM (#35307990)

    (This post contains shameless self promotion)

    I think GUI elements are an essential part of a web development framework nowadays. I maintain a small open source CMS called Enano [enanocms.org]. It's very basic, but during the course of its development I've written a ton of GUI building-blocks, among other frameworkey things, and documented the APIs for them so that plugins can use the same features. Regarding the GUI elements, I think consistent interfaces are an important part of any web application. Thus, what better way is there than to use a good, solid framework that, among its other jobs, takes care of some of the GUI design ugliness for you? Stuff like a standard way to present and validate forms, show message boxes, log in users, provide visual feedback for a process, etc.

    In my opinion, a framework should do more than just provide a bunch of random pick-and-choose APIs that you can use. It should take care of the boring details you don't want to have to rewrite for a web app, like user account management, sessions, user data, database abstraction, that kind of thing. That's why people are writing applications using software like Drupal and Enano: they want to write a web app that does what it needs to do without having to reinvent the wheel. I'm currently using Enano as the foundation for an e-commerce site (contracted project). Yeah, eating my own dog food, but shows that it can be easy to take something like Enano/Drupal/Wordpress and use its existing, established core features to write a whole new application that uses those features.

    Yes, I've used a more traditional framework before (CodeIgniter). It's great, and I love its design for basic applications, but you still have to write your own user management and a lot of other prerequisites to create something like an e-commerce site. In contrast, I've developed the entire e-commerce plugin with about 50-60 hours of work, including a couple of very minor modifications to the core.

  • by Crouty ( 912387 ) on Friday February 25, 2011 @04:07AM (#35310040)
    I have build Drupal sites for the last 5 years and yes, Drupal can be frustrating. But Drupal still develops fast, Drupal has just released version 7 with many usability improvements over the previous ones. The problem is everyone of us has to specialize because the day does not have enough hours to become expert in three or more systems. And once you earned some experience with one or two systems you usually can achieve the desired results quickly and IMHO Drupal is among the faster ones, because of the tons of modules and documentation for it. Plus Drupal does not make you jump through countless XML configuration hoops like some other frameworks do. Oh, and "writing from scratch" is a sure way to insecure sites. As soon as you need user registration it is just not worth taking the risk of SQL injection or cross site scripting bugs. Which you will inevitably make.

The road to ruin is always in good repair, and the travellers pay the expense of it. -- Josh Billings