Apache Cordova first impressions

Home / Apache Cordova first impressions

Today I spent a few hours playing around with Apache Cordova. If you don’t know what that is, it’s basically a set of API’s that let you deploy Web Apps (JavaScript) to a mobile device and then have access to that device’s hardware.

If you’re already writing SPA-type apps, Apache Cordova can be a quick way to deploy your Web App to a mobile device and have it behave just like a native app.


Microsoft has provided really nice integration for Apache Cordova within Visual Studio. You can build and deploy your apps to emulators and debug them directly. The emulators themselves run within your web browser. Performance, overall, seemed on-par with other mobile apps I have written and the general experience was as good as, or better than, my previous experiences using Xamarin tools, Xcode, or the Android SDK (w/ Eclipse).

Here’s a link to Microsoft’s installation instructions: https://msdn.microsoft.com/en-us/library/dn757054.aspx

For my tests, I took an existing single-page app, and just dumped all of the JavaScript/HTML/CSS into a Visual Studio 2013 blank Apache Cordova project. To keep things simple, I did pull all of my HTML templates into the default/blank “index.html” that is created with a new VS project. I did also have to include script/css links into the index.html. Literally, that was it. I hit “F5,” and had my SPA running on the emulator:

I have to admit that this impressed me. As someone who works a lot with JavaScript, Apache Cordova would allow me to push my apps to the various mobile markets (Google Play Store, iTunes, Windows Market, etc) while also hosting the same application on a web site – minus any mobile (Apache Cordova) specific functionality that I add.

The only gotchas I ran into were in dealing with AJAX calls to API’s. It seemed that there is an issue dealing with cookies, potentially. I also couldn’t seem to get some AJAX calls to initiate unless I used JSONP. My hope is that these are minor issues to overcome, but I’ll play around more with things tomorrow.

What are your experiences/thought?

Leave a Reply