WordPress, once a simple blogging tool, long ago stepped up to become the world’s most popular open source content management system. But within the development community, it does not have the same cachet as some of the popular modern development frameworks such as Ruby on Rails or Node.js.
Most web developers, including Mobility Labs are happy to recommend WordPress to clients who usually need the flexibility and control of a content management system in a convenient package. But we often choose other platforms when we are building in-house applications, preferring the customizability and control. As an example, the Reconnecting app, which is demo’ed on the Mobility Labs site here, is built using Ruby on Rails.
However, when it came time to rebuild the Mobility Labs website, we chose WordPress. We did so because we believe WordPress could be a modern web development framework. I pinned down the owner of Mobility Labs, Sean Perkins, and asked him a few questions about the thinking that went into this decision.
Dan: What were the major requirements you had in mind when you were deciding on a development framework for the new website?
Sean: I mentioned in this previous post what we took into consideration while redesigning the site. The development specific considerations were:
- Syntactically Awesome Stylesheets to make writing CSS awesome while minifying our CSS files.
- Logical separation of code into views, helpers, and assets for maintainability and sanity.
- Multiple content types including: team members, posts, clients, projects, and core services.
- An admin section that would be usable by our content creators…like yourself.
Dan: What other frameworks has Mobility Labs used on other projects?
Sean: We enjoy Ruby on Rails when building Ruby apps and Express when building Node.js apps. We are starting a project now that will use Angular.js with a Rails backend. I enjoy matching the frameworks to the project needs.
Dan: What plugins did you incorporate to make WordPress as flexible and powerful as you needed for this project?
Sean: The two favorites at the moment are WordLess and Advanced Custom Fields. WordLess gives us all those fun features like: SASS, CoffeeScript, logical theme layout, and even templating with PHAMLP. Advanced Custom Fields allows you to add fields to any posts, pages, or custom post types. Then when you are done you can export the fields you created into PHP code to be placed directly in the theme folder.
Dan: Can you list some of the myths out there about WordPress limitations as a development framework?
Sean: WordPress sites always looks like WordPress sites and can’t be beautiful…I would strongly disagree. Quartz is a great example of a beautiful, modern website built using WordPress and Backbone.js.
Single Page Apps and Ajax heavy development is difficult with WordPress…it’s pretty easy to follow WordPress convention with permalinks and stripped down templates for content that will be fetched with Ajax. I’ll be writing a post on this in the future.
WordPress sites can’t be quick…thanks to webservers like Nginx, CDNs, and aggressive caching, WordPress can be just as fast as any other framework or CMS. WPengine tries to give WordPress sites these benefits without burdening developers with the setup time.
Dan: Which WordPress advantages were most influential in your decision?
Sean: I really like the WordPress admin area. It would take too much time and effort to build in all the features they have included in it for our site. WordLess also kept me on WordPress with its inclusion of SASS, CoffeeScript, and PHAMLP.
Dan: Can you tell us when the new website will be launched? Is there a party?
Sean: We are pushing hard to launch the site by August 26th…oh crap, that is next week. We are going to have a salsa dancing party in celebration. Not because I am good at salsaing but because I love Pina coladas and Margaritas.