WordPress has come a long way since its humble beginnings as blog software. WordPress has got through a CMS phase where custom post types were introduced. We are now seeing the software enter a platform phase.
Developers are beginning to use WordPress to build SaaS services and API’s to power desktop and WordPress mobile apps. The shift from content driven CMS to data delivering pipelines over the next few years will be drastic. The WordPress Admin is currently being overhauled to take advantage of new technologies and the data driven applications model thats swept away the old website based internet. All of this is made possible by the addition of a JSON REST API.
Read this companion post of a WordCamp talk, Software of Many Uses, I did on the types of apps you can build on top of the WordPress Platform.
According to Pew Research 77% of US citizens now own a smartphone. A lot of these users only access the internet from their mobile device, a mobile web browser or native applications to sites like Facebook, Twitter, or Snapchat.
Gone are the days creating only a website and expect users to visit from a desktop computer. To reach internet consumers you have connect to users where they spend most of their time, mobile. Search engines are even ranking sites lower if the content isn’t optimized for smaller screens.
A WordPress site is a great way to publish content but that content needs to be accessible from a myriad of devices. WordPress has options available to get your content converted into a mobile app or mobile optimized for browsers.
Let’s go over some options on how to create a WordPress mobile app or mobilized website.
Responsive themes will make sure the content is easy to consume from a small screen. Most themes you find today are mobile ready and offer a good experience from a mobile browser. Check out the WordPress theme repository, there are over 1400 themes labeled responsive.
There are a plethora of WordPress mobile app plugins that can convert your content. One of the reasons to use plugins over a responsive theme is that responsive themes are not apps. Plugins are generally suited to give a more native app experience from a mobile browser. There are themes optimized for smaller screens. The most well known plugin is WPTouch. WPTouch switches your site to a mobile WordPress theme. Other plugins build real apps that can be uploaded to iOS and Android app stores. Beware, some of these plugins claim to offer more than what you actually get. Test the free versions before making a decision.
Many app builders offer RSS or WordPress content import. AppPresser and GoodBarber are a couple options. GoodBarber is a SaaS services that you pay a monthly fee and gain access to a builder to create an app and then can export real native app files. AppPresser is a yearly fee. AppPresser is dedicated to WordPress sites but GoodBarber has more predefined design options. AppPresser is heavily reliant on a WordPress install whereas GoodBarber only accesses data through RSS or an API. These two options are great if you do not have mobile app development experience or want to get a minimum viable product out.
Mobile App Frameworks
You could code apps in the native language of each mobile OS but that would require separate code bases. In you were to create an app for iOS, Android, and Windows you’d have to create each app three times. If you are a WordPress plugin or theme developer you may not even know the native mobile OS code languages. Thankfully, there is Phonegap, a service that takes web technologies and wraps them up in native code and exports a file you can upload to app stores.
This post is the intro to a series of posts that will step you through on how to create a WordPress mobile app. This tutorial will utilize the JSON REST API and Ionic Framework. In my opinion Ionic is the easiest to learn, is robust, and has a great ecosystem. ionic is Angular 2 based and I think WordPress PHP developers would get a better grasp of the ionic Angular framework quicker than React. This series won’t be an Angular tutorial, it will guide by giving examples on how to accomplish a task. I will be adding more sections to the tutorial in separate posts listed below.