Ionic Framework comes with lots of Angular Components. If you create custom components or html elements and then use a click handler (click)=”itemTap()” you may notice a delay if the elements are not an anchor tag or button. I’ve had some items on iOS depending on my markup and CSS that wouldn’t navigate unless I double tapped. This works well on items that are not navigation links. You get a slight performance bump. Its an easy fix, add tappable as an attribute to your element or component. Note, using anchors to navigate and buttons to execute javascript is valid html but I dislike restyling a button for various elements that have click handlers. If you don’t use the button element for clickable items then[…]

Adding pages to an ionic app is just as easy as it is to start a new app project when you use the ionic CLI. One of the core concepts of Angular 2 and ionic is developing everything in a  modular ethos. Modular ionic code will allow you to “cut and paste” app parts over and over and you can quickly build apps for clients. ionic generator CLI command creates a page and its subsequent files are placed in a folder titled the name of the page. The generate command creates an .html, .scss, and a .ts file in a root folder /pages. use a camel-casing syntax for you page name if the title is multiple words.   ionic g page myPage √[…]

ionic offers a ton of features to create a mobile app. One feature is its command line interface. This CLI sets up app development environments with a few simple commands.   Installing ionic You will need node installed, ionic uses NPM modules. Once node is installed open terminal on mac or command prompt on Windows. Enter the following command. This will install ionic globally and allow the usage of ionic commands. sudo npm install -g ionic   Creating Starter Apps After ionic is installed, enter the following command. This will create a tabs starter app. There are a few starters available from ionic. We will go over these later. This will create a new app named myAwesomeApp. Change myAwesomeApp to the name of[…]

WordPress has had no formal REST API. There is the crude XMLRPC, but we won’t go into the gory details of the past. As part of Google Summer of Code (GSOC), Ryan McCue submitted a proposal for creating a formal JSON API to be included in WordPress core and therefore available to every WordPress.org install. For those who may not know what a REST API is; it stands for Representational State Transfer. In short, it separates client from the server. Each request from any client contains all the information necessary to service the request, and session state is held in the client. There is no “official” standard for RESTful web API’s. This is because REST is an architectural style. You can use HTML, XML or[…]

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[…]

The WordPress REST API does not come with any type of authentication. A lot of the API endpoints do not require authentication. If you want to do things like post content or create users you will need to be authenticated or “logged in”. If your application is on the site, loaded from the same server as the API, you can piggy back on WordPress’ auth cookies in the form of a nonce. Setting the cookie nonce using wp_localize_script(). This function formats your nonce url to the API into JSON format so its easier to use in javascript ajax. Add the code below in your plugin or perhaps the themes functions file. Then in your Application javascript (example is jQuery) you[…]