The case for WordPress as a Platform.
Where I work we develop large enterprise systems – some on the desktop, and some in the cloud. I oversee 8 different architecture stacks because our products have been built over 30 years – System Builder, Flex, Delphi, AccuCobol, FoxPro, php, .Net forms & Asp.net. Hundreds of thousands of lines of code make up over a hundred modules that support four different vertical markets. These are big systems with tons of business logic and complexity. I'm explaining this because I want to be clear that I'm not making a case for using WordPress as a platform simply because PHP is the only architecture I know.
Comparing the Other Frameworks
If you look at the other frameworks that are out there, most of them give you three things that you want when developing a new software product:
- Patterns that speed up development
- Libraries that speed up development
- Sample Code / Community that speed up development
As you can see, most frameworks have one underlying value proposition (in my mind) – and that is to speed up development.
Isn't that what WordPress does for us already?
The reality is that WordPress does more than just create patterns for us, or make available to us some core libraries (or API calls). It gives us a great community with tons of sample code. But that's not all. More than all of that, it actually delivers aspects of the product to us – all pre-fabricated and ready to use. Think about it, with WordPress you get user and role management, authentication and authorization, performance caching, and more. You also get pre-configured administrative screens and content creation screens. All without writing a line of code. And they don't have to all look like the inside of WordPress. Below you'll see what a friend did when we were working on ROAR's mobile CMS platform.
What if you didn't even need to write code?
When I was designing the personalized url solution (ElegantPURL), I was thinking about demand generation and inbound marketing. I was thinking about PURLS, content marketing and landing pages. I wasn't thinking about development platforms. But the more I thought about it, the more it made sense. A campaign is just a custom post type. A member is just another custom post type. A landing page is just a page (with maybe a better page template). About all that's left is thinking about url re-writing – which, it turns out, WordPress does very well (duh!). So ElegantPURL is a plugin that leverages tons of what WordPress does with a limited amount of custom code.
But wait, I didn't just mean writing a little bit of code. I meant writing no code at all. What if you're building a project management or task management solution? What if you're building a data gathering and reporting solution? What if you're creating a targeted web site delivery solution? In most cases, you need two or three plugins that will get you the whole way there without any coding at all. Custom post types can store your data and display them, while forms can collect the data you need.
The two kinds of plugins you'll want
1. You need a plugin for Custom Post Types. If you go thru all their tutorials, then few things beat Types & Views for their robust solution to helping you design any custom post types as well as display them. But don't skip the tutorials. Others like Custom Post Type UI– I've used it and it's solid. But if you go that route, you'll likely want to add this additional plugin: Advanced Custom Fields.
2. You need a plugin for Forms & Data Collection. I love both the options here, so you can really take your pick. Gravity Forms and Formidable Pro are both excellent and I use them both regularly. These forms will collect the information (even directly on screen) to populate your custom post types.
Everybody's Doing It
I've written about the use of WordPress as a platform for mobile app development, and for a real estate solution for brokers. Those are just two I've worked with. There are others out there for restaurants, weddings, and more. My prediction is that WordPress as an application platform is going to be the rage in 2013 as more and more people talk about it. So take a look at some of these posts/sites and then see if WordPress can help you solve your own problem in a much faster and more elegant way than you'd previously imagined.