WordPress branded itself as a publishing platform and WordPress is usually used by designers and developers for building a website around it. However, WordPress internals and APIs developed much more functionalities than usually required by a blog or website. Branding of frameworks like .NET Core, Laravel, Symphony, CakePHP, etc are different.
Responses to Some Common Criticisms
It is common for skeptical people to vocalize that WordPress is not a web application framework. While they are right, it’s equally stands that, just because WordPress isn’t a framework, doesn’t mean you can’t develop web applications with it. Hundreds of thousands of full-fledged Ecommerce websites are powered by WordPress using plugins like WooCommerce.
One good thing about WordPress over frameworks is: WordPress is fully operational as soon as you install it – frameworks do nothing until you do programming with it to develop something. Think of Laravel or Symphony. Do they come with any Minimal Viable Product (MVP) site? No. You need to program it. You don’t need to program WordPress to get started.
Web applications are tied to so many different types of contents having different sets of fields. Custom post types and Custom Fields can be used in you WordPress web applications to address them.
Aside the Custom Post Types and Custom Fields, plugins can be used to modularize and create layers in your web application. You can use already existing plugins or develop you own.
Why and When not to Use WordPress for Web Application Development
Ever heard of the Theory of Everything? That particular thing isn’t a thing in existence. The same applies to WordPress itself. It is not a solution of everything. No programming language, framework, platform is perfect for everything. WordPress is excellent with its own exceptions and limits. Though, theoretically, nothing stops you from building any kind of web application with WordPress, but the rule of thumb is – just because you can, doesn’t mean you should. If the expected traffic your application remain below 250 requests/second, and that still too good, WordPress is good to get started with.
WordPress is sluggish. Scalability isn’t an issue but the power consumption is. I mean if some other system can serve 10K requests per second from a single bare metal, why consider deploying 40 servers running WordPress to do the same number of tasks? Pointless.
There are situations when not to use WordPress for web application development.
WordPress uses General Public License, version 2 (GPLv2). With this license, you can’t restrict people what they do with your software once you distribute or sell it to them. If you consider other licensing alternatives better suits your personal or commercial interests, you should probably not go with WordPress.
Team Expertise in Some Other Frameworks
If you or your team members are experts on some other frameworks, you should probably not challenge the skill. Learning anything anew takes time, master those new things might take years. If you have a plan to pivot to WordPress for long-term developments, it’s okay to tinker with WordPress; unless otherwise, let it go off.
You consider Programmability over Flexibility
WordPress is flexible at managing and administrating sites. This requires little or no coding. However, developers familiar with Laravel, Symphony, CakePHP and others might still consider doing everything programmatically. If you or your team chose this side, leave the WordPress side.
Near Real-time Application
WordPress isn’t a solution of Everything. Real-time applications, e.g., chat servers, are not the types of software you’re going to build with WordPress.
Serving High Traffic from One or a Few Boxes
WordPress isn’t lightweight. To respond every request, it loads and executes dozens of dozens of source code files that build the environment for the request to be responded. NodeJS, .NET Core, Java and other frameworks are better at handling high traffic from one or a few boxes. Instead of struggling with WordPress, give those frameworks the chance.
With the series, we wanted a comprehensive presentation of web application development with WordPress. This series of article aimed to provide everything you need to know about web application development with WordPress. Throughout the series, we’ve discussed web development aspects WordPress. We’re sure, you now know better on Developing Web Applications with WordPress.
If WordPress themes and plugins are right up your alley, start using WordPress for web application development.
APPENDIX I - Articles of the Series
This article is a part of the series "WordPress Web Application Development".
Read all the articles of the series:
- Preamble - WordPress Web Application Development
- Chapter 1 - Introduction to Web Application Development with WordPress
- Chapter 2 - Fundamentals of Architectures for Web Application Development with WordPress
- Chapter 3 - Why Consider WordPress Ecosystem for Web Application Development
- Chapter 4 - WordPress Web Application Development Features for Project Managers
- Chapter 5 - Features and Components of WordPress for Web Application Developers
- Chapter 6 - Thoughts on WordPress Web Application Development