Hi,

I'm considering learning module development in drupal, would it be feasible if I'm going to learn it to use drupal as a kind of framework for web development?

My criterias are:

-Easy to learn, as for my background, I've tried CodeIgniter, but I'd no experience building my own plugin yet
-would lead to simple and clean coding
-few lines of codes as much as possible

Thanks

Comments

SweeneyTodd’s picture

The first thing I want to say is that there are a lot of contributed modules out there so you don't have to know module development to use Drupal.

If you want to learn Drupal Development have a look at the Drupal Handbook (http://drupal.org/handbook). The Drupal api has lots in it for database management, creating forms and maniplating many features within Drupal so quite a bit can be achieve without hacking core code and with little coding.

If you want to learn development and already have a php background, the "Pro Drupal Development" book by John VanDyk is highly recommended. The one problem with this book is that it is for people who already have some php experience (not my strength at present) so the coding examples aren't really explained in depth and are fragmented (just a code snippet often taken from existing modules, rather than building up a project using the features) and I think it is more like an expanded version of the online api than a guide. This is my opinion only, many people find it invaluable.

Another book is Matt Butcher's "Learning Drupal 6 Module Development". I have not read it but I have his "Drupal 6 Javascript and jQuery" book and that it pitched at about my level. I hope the module development book is the same as I am going to order it soon.

The main things to do are to read some of the above, look at existing modules (maybe even write some patches to fix bugs on the module issues lists) and then try out as few things for yourself.

It depends on your background and the amount of time you have as to how quick you pick things up, but it is quite a steep learning curve.

jaypan’s picture

I use Drupal as a framework for web development. I do a lot of custom modules for it, on any and every project I work with. I often take other people's modules, and use my own modules to alter them and make them behave in the way I need for my project.

It often does lead to simple code - database scripts are a good example of this. It's really easy to see the structure of a database if you look at hook_schema() in a module.

Contact me to contract me for D7 -> D10/11 migrations.