Thursday, 20 November 2014

Rapid Cross Platform Mobile App Development with Evothings

I've been working on an experiment that features a requirement for Android and iOS client apps, and maybe Windows Phone too. I have reluctantly had to accept the fact that coding up at least two client apps and a back end is probably asking a bit much of myself, at least if I'd like to get the whole stack up and running anytime soon.

This epiphany led me to embark on a quest for a tool that will give me access to the full range of client platforms, while wielding a single codebase (I'm pretty sure this is how Sauron got started, so I hope things end better for me than they did for him).

My background is in web apps, so I decided to take a look at Apache Cordova, as this would mean I could build the majority of the app in HTML, CSS and JavaScript, with which I'm familiar.

I'd come across Cordova and PhoneGap before, even going so far as installing Cordova, though problems with my installation on that occasion led me to abandon cross platform development and develop a native Android app.

A few weeks back I had another look at Cordova and got it up and running on my Windows machine. The cause of my previous problems had apparently been resolved since I last looked at Cordova, probably either due to the fact I have a new laptop or because I'm using a different Cordova build and I soon had a fresh installation to play with.

I then started googling for Cordova tutorials and stumbled upon Evothings. I tend to develop interactively, with many small iterations, so the promise of rapid app deployment to connected Android and iOS devices resonated strongly with me.

I downloaded the Evothings Workbench (then at version 0.8.x, version 1.0.0 has since been released) and after following the excellent instructions was quickly up and running. The Workbench is effectively a server that runs on your development machine (both Windows and Mac versions are available) to which the Evothings client for Android or iOS can be wirelessly connected.

You can download the client app from Google Play or the App Store, both Workbench and client are available free of charge.

I can't recommend Evothings highly enough, it's quick, stable and a joy to use. I was able to quickly adapt the Evothings iBeacon demo app to my needs and get it talking to a Google App Engine back end with minimal fuss - more on this is an subsequent post.

Evothings is positioned as a tinker tool for IoT development, so if you have an Arduino lying around or any other connected devices you'd like to hack it's a great place to start; it just so happens to be a very capable part of my current mobile app development toolchain too. 
Post a Comment