I've been working as a full-stack ASP.NET developer for the 2 years I've been out of school. I messed with Drupal a few years back as we evaluated a CMS at church. I thought it was a cool system to help non-programmers add content.
A few weeks ago, I met Chris Winn who
gave me an unparalleled opportunity to take Kidbusy to the next level.
Kidbusy is currently implemented in Drupal, so I am learning more about
it. I've always thought myself to be pretty pragmatic, using the right
tool for the job, and here is where my beliefs get tested. Drupal is a
quick way to get started, but we all know that PHP is a difficult
language to grow in.
I'm going through some tutorials at
buildamodule.com, and it's been enlightening. After designing my own
database schemas, I now see Drupal in a different light. It's basically
doing the same thing I would've otherwise done in C# and SQL, but with a
lot of wizards. I haven't dug into the database, yet, but I see adding
content types as adding a row in the NodeType table. Adding fields are
the same as adding a new column. Maybe it's implemented as multiple
tables that inherit from each other. Maybe they're implemented as a
single table. Hopefully it's not all in a postmeta table.
the major differences is that Drupal gives me a lot of stuff for free. I
might've needed to spend a few days programming something, but Drupal
will include it. I see this as good and bad. On the one hand, I get
features for free. On the other hand, I have a lot more attack surface,
maybe some I didn't think should be included.
Anyway, I look forward to this new experience. Maybe Drupal, not G, is the future of visual programming.