Recently we have started exploring Sales Force Platform and mobility solutions that we can build for it. The best part is sales force offers a ready to use cloud environment out of box so that developers can start using it and experimenting with it. Thanks to sales force.

@iConnect we have developed a lot of expertise  in building cross platform mobile apps using phonegap / apache cordova platform. We use various UI frameworks with Angular JS. We use Ionic 1 & 2, Mobile angular UI etc and have been successfully building production quality apps which works excellent on android and ios and windows platform as well.

As we started exploring SFDC platform we decided to build a simple app which maintains a customer list. It includes offline functionality with sync, so that even if the usr is out of coverage area or has a poor connectivity, can still work with app. He can add / edit customer data stored for offline use and later sync it with the server.

SFDC offers a cordova plugin which includes smart store, smart sync and authentication functions. We were very excited to see it and thought that our job of creating such an app would become very easy. But to our astonishment, we came across countless hurdles to get this plugin working. We tried version 5.0.0 also 4.3.1 and a lot of permutation and combinations with code. But alas we could not get it working for android.

There is plenty of documentation on web for all the problems we searched. Most of it i think is out dated and there is no easy way to find out. Some of the old tips did work to move us a bit forward and most of the tricks did not. We were so disappointed to find out that such a great platform has so many problems with its android plugin. We tried to seek some help from google+ channel but it did not help.

We then decided to try the ios version of the plugin, and were delighted that it worked out of box for version 4.3.1. But latest version 5.0.0 was still not working for us. We then tried the features of the plugin and after a lot of effort could implement auth, smart store and sync from server to mobile, but from mobile to server could not be achieved. Again we had a lot of frustration as we tried a number of things but all in vain. At least we have an ios working app with only 1 missing feature with version 4.3.1 using forceios script of the plugin.

We could not have given up at that. So we decided to build a cordova app without using SFDC plugin, just consuming SFDC REST APIs. We have had a lot of experience building offline first mobile apps and sync etc which we put to use here. And within a few days we had a working version of the app with custom code. Although we had a lot of issues with the SFDC cordova plugin working with SFDC REST apis was very easy and we did not face any hurdle.

We are trying to build more expertise on SFDC mobile platform and hope to do some challenging work with it.

thanks for reading.