Sometimes you need a web app and don’t have the time, skill, or budget to do custom development. Developing from scratch can be the solution for many problems, but it can take much longer than starting from an existing code base.
WordPress was originally designed as a blogging platform, and it continues to be well known for that. However, it has evolved into a fully fledged content management system (CMS) and, for some purposes, can even produce a solid web application – quickly, and at a significantly lower budget than custom development.
This article will introduce the idea of building a web app on WordPress, show you why you might consider it, examine some tools for building web apps in WordPress, then look at some great examples of what is possible.
Why Use WordPress for Web Apps?
Web apps can be custom coded from scratch, and many developers remain purists who feel that’s the only way to go. However, web application frameworks have been developed to help make the process of building web apps easier.
Ideally, building a web app would be quick to start, so you could get going and take advantage of some common built-in functionality. Wikipedia defines a Web Application Framework as:
…a software framework that is designed to support the development of web applications including web services, web resources and web APIs. Web frameworks aim to alleviate the overhead associated with common activities performed in web development. For example, many web frameworks provide libraries for database access, templating frameworks and session management, and they often promote code reuse.
With that in mind, it’s not hard to see how some people started to look at WordPress as a possible web application framework to help them build web apps. Though not specifically designed for that, WordPress has several features that make it a solid choice for your web apps, for example:
- Security, user registration and login: WordPress has user roles, which by default belong to one of five access levels, and can be assigned to different capabilities (e.g. edit posts).
- Database and URL mapping: WordPress enables you to easily connect to its database and run queries. You can modify how URLs are generated using pretty permalinks and add or modify the rewrite rules.
- Theming: WordPress themes offer a very flexible means of designing pages for your app.
WordPress isn’t always going to be the best tool for all types of web apps. It can work well for simple CRUD (Create, Read, Update, Delete) apps, and more complex functionality like calendar bookings, for example, can be done by integrating existing plugins. In general, projects related to publishing some form of content online may be possible candidates for using WordPress, especially where you want to use the same content across multiple products (e.g. website, mobile app etc.).
Tools for Building Web Apps in WordPress
While WordPress does offer built-in features we can use for web apps, you may require additional functionality. The built-in page and post structures can be used for a lot of things, but if you need custom data and fields to be added, searched or queried, manipulated, and displayed, some additional work is needed. Fortunately, tools do exist to help expand on WordPress’ native capabilities.
WordPress does have custom data capabilities in the form of custom fields, post types and taxonomies, but tools for working with them have been left up to plugins. Here are a few that have proven quite useful in moving WordPress away from simple blogging:
Available for free in the WordPress repository, Advanced Custom Fields (ACF) has been a long-standing favorite of developers for adding custom data functionality to WordPress. It provides a way to visually create custom data fields of various types (e.g. checkboxes, images, relationships) and easily load data through a simple API. It uses the built-in custom post types and metadata and so is easy to use and fast. For more content types and the ability to add options pages, you’ll need to purchase a licence for ACF Pro (which starts at $25).
Billed as a rapid development framework for WordPress, Piklist enables you to easily create custom post types and taxonomies, add metaboxes and metafields to all the WordPress data types (posts, pages, media etc.), and create settings pages and widgets. The Piklist Framework can be downloaded for free from the WordPress repository.
Gravity Forms is an advanced form builder, and includes a lot of functionality that can help with web apps. You can create forms to do CRUD operations on posts, pages and custom post types, as well as take advantage of functionality like commerce, scheduling and logic. Gravity Forms starts at $39 for a personal licence which doesn’t include any of the add-ons.
Toolset enables you to add custom types and fields to the WordPress admin and create ‘parent/child’ relationships between different types, to build relational-type databases. You can create custom page templates and archives for displaying searchable custom data. It also includes built-in functionality for creating front end forms for submitting content and editing. The Types plugin is free, but access to more advanced functionality requires purchasing the full Toolset (starts at $149).
No discussion about using WordPress for web apps would be complete without considering the REST API, especially with a non-WordPress front end. Finally moving from the outskirts as a plugin into WordPress core, the REST API is changing the way apps interact with the WordPress back end, as shown in the recently released Calypso desktop app. We will be seeing more development in this area going forward as the code matures.
8 Awesome Web Apps Built on WordPress
Now that you have a broad understanding of how WordPress can be used as a web app framework and have familiarised yourself with a few of the plugins that can make life a lot easier in the process, let’s explore six awesome web apps built on WordPress that showcase just how capable the world’s favorite CMS is!
Train.rs provides online business management for personal trainers. It uses WordPress as a foundation to give users hosted websites with customized administration of clients, training schedules, and billing. With the focus on users and custom data, WordPress makes easy work of this app.
YouTooCanRun is a custom WordPress solution for managing the organization of marathon races, including paid registration of participants, generation of bib numbers and management of the event. It uses a combination of the Event Espresso and WooCommerce plugins to provide the needed functionality. As most of the functionality required was standard event and commerce behaviour, a WordPress solution combining plugins was perfect.
Pressbooks is online book production software. They have both a hosted version and a WordPress plugin. You can create your book online and then export to various file formats for book publishing. The tool is built in WordPress using customized admin screens for managing book information, for example. Pressbooks focuses on content, so WordPress is a great tool for this.
Focused on Fit is an online fitness community built on WordPress. Interesting features include a database of food and recipes with nutritional facts, and the ability to log your meals and exercise and track your progress towards your goals. It goes further and uses the REST API to pull that data into mobile apps for use on the go. The social aspect and user management makes this a good use case for WordPress.
StudyChurch is a web app designed to help small church groups work through study materials together. It pieces together several WordPress plugins, such as BuddyPress, and a forum to enable users to write lessons that are available to group members who can then discuss and collaborate on the answers. With the focus on users management and content, this is a great use case for WordPress.
Nomadbase is a real time map for digital nomads. Using location data from your social media apps (Facebook, Swarm, Twitter or Instagram), users’ past, present and future positions are shown on a city-level to other nomads to encourage connections and interactions. It is built using the REST API with a React and Leaf front end. This is an interesting use case for WordPress, focused on user data.
Code Cavalry enables coding novices and web designers to connect with experts over Google Hangouts to solve problems. Though based in WordPress, the app interacts with Firebase through AngularJS. The developer outlines the approach taken in The Road to Code Cavalry. The focus of this app is the users and so using WordPress gave a good head start in development.
Hello Bar is a ‘Software as a Service’ (SaaS) platform designed to help users monetize their websites by building an email list. It provides you with ways to promote content, get more subscribers and measure and test the effectiveness of your campaigns. For more detailed information on how the team approached the development of Hello Bar you can check out the series of articles they wrote. They took advantage of WordPress’ built-in user management with custom themes and plugins to provide an experience that looks nothing like WordPress.
While WordPress is not perfect or suited for all web application needs, it can be a very useful tool for certain types of web apps. Stop thinking of it just as a blogging platform and you can start to see the possibilities for using its existing structure to help bring a web app to life quickly and under budget.
We have provided you with several examples of web apps built on WordPress which should have provided some inspiration and food for thought as to how you can use WordPress for more than just basic websites.
Have you built a web app using WordPress? Please share your favorite tools and tips that we may have missed in the comments section below!
Article thumbnail image by ideyweb / shutterstock.com
Article thumbnail image by Tom Ewer / elegantthemes.com