Over the weekend I was at WordCamp LAX and gave a talk about using WordPress as an application framework. Here are my slides, it is in a post where I talk about using WordPress as a MVC type framework.
Since I want to see more apps built on WordPress, since that will move it even further away from the stigma of a “blogging engine” and even a basic CMS into something much more. A great way to build a Web App that has an awesome dashboard GUI for your admins/users/etc.
So I am introducing this as a collaborative project anyone can join, code in, or just watch. I will be posting incremental updates and showing code examples so that others can come back and really see how an app can take birth. My other series I have about Creating an App with WordPress was focused on a specific App idea, which ended up being nothing of importance, and lead me to building CodingOfficeHours.com
What do you want to build?
I want to open this up to the community I want to help learn and build this with. Here are some ideas I have, some are stolen (sorry Carl). If you have a suggestion for something to build, put it into the comments! The project will be open GPLv2, and going to be open-source the whole way through.
- Curated user submitted article directory – this will be similar to most sites that allow you to post links to articles and share them. This will have a team to moderate, and I wish to focus it on primarily the advanced coding world as it revolves around WordPress, PHP, OOP, and other intermediate to advanced level topics.
- Social Style Guide Creator – If you are not familiar with my newest plugin in the repo SG-60, it is a style guide creator. Part of that style guide allows designers to easily add in colors via hex, rgb, and cmyk. I want to take this functionality and create another site, but expand on it. I would like to create a way for users to not just create style guides and share them, but be able to download CSS files, LESS and SASS files, along with fully finished templates for Bootstrap and other ui frameworks using the colors and fonts in the style guide.
- A new WP theme – This is the easiest and probably the most straight forward. A WordPress APP theme similar to my AngularJS WordPress theme, but better designed and more up to date with coding standards.
- A TodoMVC clone for WP – If anyone is familiar, ToDoMVC.com is one of the best ways to get an app to go using your favorite client side library, or maybe if you want to learn a new one. During my talk the always awesome Mr. Jon Brown asked about a concept as a plugin with a client side view. I like the idea of a plugin, but what if there was an app that revolved around all the different technologies that are now opening up. So building out the M and C with WordPress and WP-API, we could create multiple themes that run different client side technologies. Start with one, move into the others and learn by doing.. leaving a learning path behind us.
How will it be built?
I want to follow my faux MVC structure:
- MODEL – WordPress – Using WP core functionality we will have an easy way to add/query data from the database
- CONTROLLER – WP-API – Using Ryan Mccue’s WP-API (now in plugin stage) we will be able to leverage awesome endpoints (and create new ones if we need to) to make sure we are getting the right data
- VIEW – AngularJS – I know that I could leave the View layer up to the world, but I want more people who are in all stages of development to experiment with AngularJS before assuming Backbone is better due it being part of WP already. It is a simple to code HTML driven client side templating library, and so I am going to stick with it on this build. The good thing is, we can create new themes for the front end using different client side technologies. I would also like to start with Roots.io however I am open to suggestion.
When do we start?
I need to hear from people that are interested, and what they are interested in building. Please leave your new ideas or what out of my existing options you’d like to see built, all open-source.
What is next?
Once we come up with the idea, we will move into Phase II, which will be Scope of the App, and a development roadmap (outline of how to build it using WP infrastructure).
I have created an organization with 2 repos for the project: https://github.com/Build-WordPress-Application
Leave your suggestions for what we should build in the comments below
Update 9/10 –
I have pushed a starting point Roots.IO theme into the wp-app-theme repo. I will be updating my twitter @royboy789 with small updates and this post (or new posts) with larger ones.