Why WordPress Isn’t Viewed as an Application Framework

WordPress Application Framework

When using frameworks like .NET or Rails, it’s easy to demonstrate how said frameworks were used to build a piece of software. But because of the nature of WordPress, it’s far more likely that people are to treat any project as either a blog or a site powered by a CMS.

In some cases, that’s true; but it’s not a hard and fast rule. Blogs and sites are just two examples of things are can be built (and, honestly, are the most typically built) with WordPress but they aren’t the only things.

I’ve shared my thoughts on using WordPress as a framework for web application development, but this still raises the question: if WordPress is a framework, then what is the software?

Continue reading “Why WordPress Isn’t Viewed as an Application Framework”

WordPress Generators and Why I Dislike Them

WordPress Generators

At this point, it’s relatively easy to find a generator to do almost anything you want with WordPress. In fact, you can assemble an entire theme with custom post types, taxonomies, and options all without actually writing any code.


But you know what I’m talking about – generators are small web-based tools that are used to, er, generate code for you based on a couple of inputs that you specify on an interface.

Off the top of my head, I can think of…

  • Generators for custom post types
  • Options frameworks for easily creating settings pages
  • Generators for taxonomies
  • Custom theme generators
  • …and more.

Don’t get me wrong, I think that these tools have their place in the development space (in fact, my boilerplates have even been converted to generators!).

But as a profesional developer and someone who cares about writing quality code tailored exactly for the problem at hand and as someone who wants to create the highest-quality products that I can, I dislike WordPress generators.

Continue reading “WordPress Generators and Why I Dislike Them”

WordPress For Application Development

As far as software is concerned, I’m particularly fond of working on web applications and have spent the majority of my career focused on exactly that.

Specifically, I spent the first few years of my career working on enterprise applications in .NET. Like any programmer, I spent a lot of my free time tinkering with various languages, frameworks, and tools partly because it was fun and partly because I wanted to stay current on newer technologies.

It’s funny, though: The longer you work on web applications the more you recognize that all of them – at some basic level – come back to the same thing: getting data into the database and getting data out of the database.

Sure, there’s a lot going on between the two and there are tons things to consider but, at the end of the day, that’s what’s happening and everything else is details.

Continue reading “WordPress For Application Development”

Introduction To WordPress Unit Testing

WordPress Unit Testing

Unit Testing (or other testing methodologies) is one of those things that’s often relegated to larger software applications or enterprise-level projects and seems to be often overlooked in the context of WordPress.

Why is that?

WordPress is a web application and the tools, themes, plugins, and extensions that we build are software that run on top of said platform and the platform as well as the certain themes and/or plugins can be used anywhere from just a few hundred people up to several million people.

In some cases, I think this qualifies it as enterprise-grade. Regardless, WordPress should not be excluded from the best practices in software development. As such, I’m contributing a series of articles on Envato that is meant to help you get started with WordPress unit testing.

It’s targeted at beginners but aims to lay a foundation on which more experienced developers can build. Additionally, I’m providing working examples of plugins and themes both of which have been built using unit tests:

  1. What Is Unit Testing?
  2. Building a Testable Plugin
  3. Building Testable Themes

Throughout the series, I walk you through how to setup your local development environment to include both PHPUnit and the WordPress Testing framework along with giving a background of unit testing, what it is, why it matters, how it can improve plugin architecture and theme development.

All of the code is also available on my GitHub page:

My Career, Software Engineering, and WordPress

When I graduated school, I had one objective in mind: obtain a development position where I could apply software engineering principles in the context of web application development.

Then I made the jump to self-employment at the end of 2010 and was dividing my time between two things: serving as lead developer at 8BIT and developing and sites and software for others out of my own business.

Initially, I was doing work ranging anything from vanilla PHP projects, Ruby on Rails projects, some typical client-side projects, and custom JavaScript work.

Achievement Unlocked

As time as passed, I’ve ended up spending more and more time working exclusively with WordPress so much so that I’m currently doing nothing but WordPress-based projects (save for a single Rails application).

Continue reading “My Career, Software Engineering, and WordPress”