With all the great, new web technologies flying around, we developers naturally want to dive into, play with, and ideally benefit from, all of them! But if you are working with WP, some of these new technologies can be challenging to integrate into the “typical” workflow. WP has a pretty simple, commonly-known set-up that doesn’t (easily) lend itself to alteration.
Well, with all the hopes and dreams of the New Year upon us, I am going to try to change that. :-)
I plan to convert this site from a standard WP website to a cache-enabled, offline-first, performance-optimized, installable Web App, that takes advantage of Build and Deployment processes, and sits safely revisioned in a Version Control repo.
For the record, this is my definition of a Web App: Must be a web-based site, reachable via a URL; ideally benefits from Build and Deployment processes that make the developer’s job easier, but more importantly help to optimize the user’s experience for their device/browser; must be available offline; should take advantage of advanced caching mechanisms for improved load times; and users should be able to install an icon on their device’s home screen like a Native App (where applicable).
The steps that I plan to take are listed below; each will become a link as I complete and publish that part of the series:
- Series Intro (this post)
- Adding Version Control
- Adding a Build Process
- Adding a Deployment Process
- Adding Caching and Offline Support
- Adding “Add to home screen” functionality
I will be walking through many options and making many choices, some of which will be based on research, and others will likely be based on “cause I wanna”… I will provide my reasons, and try to point to options if I can, and as always I encourage questions, thoughts and suggestions.
In the next installment I will be Adding Version Control, and there are a few items you may want to have ready if you want to “play along at home”:
- A text editor. I will assume you have a favorite text editor installed and primed to go. (If not, this series is probably not for you.)
- A local WP installment. This is where you will do your dirty-work, rapid trial-and-error, until the errors stop, playing and breaking things until you get them just right. For our purposes, it can be a plain-vanilla WP installation, nothing fancy at all, just right out of the box. There are seemingly unlimited free tutorials on setting up local WP installations, but here is a good one for PC and for Mac, here is one for using MAMP, though I personally prefer XAMPP (mostly because it is then the same on PC and Mac).
- A Version Control repository account. I will be using GitHub, but if you have another repo system that you prefer, hopefully it will just fit into my process. If you want to also use GitHub, having an account in advance will be helpful.
- Access to your Version Control repository account from your computer. You can either manually install Git to be used via the command line, or you can install the GitHub Desktop app; there is a PC-version and a Mac-version.
Until then, happy Web Apping,