By estevan_carlos on
I'm slowly understanding the concept of frameworks and am potentially interested in getting more in depth in the subject and in my programming. However I'd like some more clarity on how Drupal could be used as a framework. I know there's a difference of opinion on whether to label it as such but I just want to know, for those who do, how do you use it as a framework? What modules do you use? I think this will give me more clarity on the ambiguous idea of a framework as well.
For a moment I was considering researching CakePHP but came across discussions suggesting Drupal could serve a similar purpose. That's probably where I'm trying understand the difference in roles. Thanks.
Comments
-=[o]=-
What do you want to do with it?
works at bekandloz | plays at technonaturalist
In (mis?)understanding the
In (mis?)understanding the concepts of web frameworks, I'm finding that I want to have more control over creating some of my websites and avoid depending on modules/etc from others. So I'm under the impression a framework would better allow me to more freedom? However I may not understand fully what a web framework offers conceptually compared to a CMS. Ignoring the fact that I am not an experienced programmer yet, I'm just wondering how Drupal is used as a framework. I think this would offer me clarity as to what a web framework is exactly.
I think if you want to avoid
I think if you want to avoid using modules (something I consider short sighted) then there is little advantage to using Drupal. While Drupal can serve as a framework, it's strength as a framework comes from leveraging existing modules. If you really want no dependencies you would code from scratch (no small effort even for an experienced programmer) since if you use any framework, you depend on that framework. When you avoid using what others have done, you not only duplicate effort but you become the sole person responsible for support and have fewer avenues for help.
Okay, I think I understand.
Okay, I think I understand. Do you feel Drupal does not work well as a framework then?
I think it works great as a
I think it works great as a framework when one takes advantage of modules. An while you can use it strictly as a framework, but if you avoid using modules you will find yourself constantly reinventing the wheel and losing out on the efforts of the talented people who contribute to Drupal.
-=[o]=-
nevets gave you a good answer. You can throw a site together with Drupal+modules pretty quick and then spend as much or as little time tweaking it to your liking. The trick with the modules is seeing what the support is like (seeing how many open issues in the queue there are and how long they've been there helps). Generally the more popular a module is the less likely it is to be abandoned, as even if the original maintainers are unable to maintain it anymore there will be some bright spark who uses it and takes over so that they (and everyone else) can continue using it.
Personally I don't see a lot of difference practically, but I've only ever done Drupal in depth so have no idea how it compares to (other?) CMSs or frameworks.
works at bekandloz | plays at technonaturalist
I think what confuses me
I think what confuses me about the definition of a framework (I'm still trying to understand it) is that what you describe could be said about something like Wordpress to a degree. I bring up Wordpress as an extreme example because I'm sure no one considers it a framework. However, I often kludge and customize Wordpress to my needs with or without the use of their plugins. Is the difference the degree with which you can customize things? In other words, because you can customize Drupal very heavily does that make it a framework as opposed to other tools?
-=[o]=-
I'm not good at technical terms, but here's my understanding.
A content management system is primarily for managing content. Stuff like paths, theme, etc are considered extraneous and everything is set up to be as easy as possible to focus on the content.
A framework looks at the whole of the thing. The "core" part of it is solid but bare bones, it's designed to be minimalistic and modular, because it's easier to add in stuff you want than take out stuff you don't want. "Out of the box" there isn't a lot to it, but the amount of stuff you can do with it can get a bit brainfrying.
I feel that Drupal is the latter and gets turned into the former.
works at bekandloz | plays at technonaturalist
Drupal can be used as web framework
This is my opinion based on some time using Drupal.
You may use Drupal in three different ways:
1. CMS - you use Drupal+contrib modules from this site. Including CCK(Fields)/Views.
2. CMF - you write your modules. and extend core modules with hooks
3. Web Framework - you are not using core modules, especialli 'node' module and all that rely on it. You use core functionality from 'include' directory. This is FAPI, Routing(Menu system), Query builder etc.