Drupal Competes As a Framework, Unofficially
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?"
I’d call Drupal a tool with a framework for extending said tool rather than a straight framework.
Why? Just what my gut tells me. At the end of the day it doesn’t really matter (save for contest qualification purposes I guess). Use what does the job for you.
I'd never thought I'd see the day when PHP developers would have "'coder-purist snobbery"!
Everyone that disagrees with me is a paid shill
...it's a way to seamlessly align the holistic design-process in an integrated, next-generation infrastructure using best practices and maximizing ROI.
Going forward, frameworks are a paradigm shift in cost-effective and value-added solution development.
There's no -1 for "I don't get it."
...from the elephantine Drupal to a use-as-you-need-it framework like Zend. So, "use the right tool for the job" is a huge part of this. Personally I err on the side of "less is more" and look at my local Drupal community and see people who are picking a kitchen sink tool because they have limited time and resources. Not the sort of example I race to follow.
My experience with another large CMS/CMF taught me that maintenance costs (which have to be passed on to clients) really start to add up quickly with the behemoth-sized packages, if you have a very active client. And if you're developing a small site with Drupal, and think of yourself as a moderately technical person, I sincerely ask you why you're not using something like Processwire instead. The last three people I saw do this did it because Drupal was "what they knew." That's uh...interesting. Why not just learn several tools that can fit into a more flexible toolchain? Drupal has one heck of a footprint!
The summary mentions a GUI, so it's probably worth bringing up Django -- an otherwise all-code framework that comes with its own admin panel GUI already built.
You may be able to argue Drupal, or even Wordpress, are frameworks. Nevertheless, Drupal is a bear to work with, fickle, frustrating, and overly complex.
Perhaps for complex websites it's worth it, but I don't make complex websites. I make simple ones. The few times I tried to use Drupal to do so they became far from simple.
I'd rather code from scratch than use Drupal.
(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. 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.
programming language fans
The Christian religion has been and still is the principal enemy of moral progress in the world. -- Bertrand Russell
The first you don't hear much about, they know the language, its stengths and its limitations and simply use it because nothing else out there can compete.
Then you got the second kind, that will be fuming at the last bit in the previous paragraph. They are forced to use it for some reason, mostly because the latest language they wish to use simply isn't supported enough. Personally, I think these are the lesser developers, the bad photographers who think if only they get a Hasselblad they will turn into a top class photographer instead of having to use this cheapo poloraid that nobody could ever possibly use to make art.
Personally I also think frameworks are silly. If you can lash up a site in 30 minutes, then the request simply isn't distinctive enough. Your site will be the Xth among thousands and fail. For the next job board site, you need to add something new, do it different, improve the process/experience else the monsterboards will simply keep the position they got.
If a wizard can write your code, you are not a developer but an assembly line worker. Granted there is a living to made at this, but please, don't call yourself a developer, you are a code monkey.
It is amusing for me to see the developers that every problem they encounter, they say: Oh if only we used tech X, this would be easy... WAY to sell your talent kiddo. It is even more amazing to see when they get away with it. Companies running everything from PHP, Perl, Python, Ruby on Rails, ASP and god knows what else, in the same company and in one extreem case, the same site... I don't care how much you hate an individual language, more then one you need a BLOODY good reason, more then two and you are insane.
But hey, keep looking for the magical language that no longer requires you to express yourself to achieve what you want. If people could write amazing code in assembly then why can't you make the language the project uses just work?
Really, if you claimed that you would be a better driver if only you had a proper car, every real driver would laugh at you. Instant poloroids are used by the pro's. Some serious art is produced with nothing but paper and charcoal.
But for a website, you need the latest tech so you can never learn all its secrets. Right.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.