http://blogforce9.blogspot.ca/2013/12/visualstrap-visualforce-implementation.htmlOne of the things that I’ve been doing lately is participating in Hackathons and other types of coding challenges. I find that I need a deadline to motivate myself, and with the timeline and end goal, I learn a lot faster plus I can cram in a lot of hands-on experience. Otherwise, I tend to read a lot of abstract articles, but never put pen to paper. Here’s my latest submissions which I hacked up over the weekend:
I completed this over 1 weekend and am generally happy with the results. However, when I looked at the other entries, I do notice that there are a few professional teams entering a lot of these Challenge Posts now, sometimes with existing products and frameworks they are modifying for the purpose of the challenge.
This one was built using SFDC as the back-end but with a completely new mobile user interface. In building this user interface, these are the key things I’ve learned
- The SFDC mobile development SDK has advanced leaps and bounds. It’s unfortunate that it is taking a back seat to the Salesforce1 platform, but from a product strategy level, I understand where SFDC is going with this too. It’s actually a clever strategy. Most customer will not have a dedicated team of mobile developers, so the Salesforce1 platform gets these customers 90% to what they require. On the other hand, for customers with more sophisticated mobile needs, SFDC is providing a rock solid SDK with a boatload of enterprise features as the baseline, in order to simplify the development process, as well as guarantee a baseline level of enterprise standards such as setting up PIN’s and encrypting local storage.
- Ultimately I did not use the SDK since I wanted an app that could run on the desktop, iPad, and smartphones. I wanted to be platform “agnostic”, so I chose a web-app.
- I looked at all the mobile development packs from SFDC.
- Appery.io – is nice too. I really like the drag and drop. What is missing is that if there is anything custom that I want, it becomes a little bit hard to do. Mind you, this might be due to my lack of knowledge on the platform. Appery.io generates native code, such as an Xcode project to be compiled into native form, using Cordova in the background. This leaves me wonder where I should introduce custom functionality, and if it’s based on Cordova anyways, why not just directly use Cordova.
- So what I ultimately ended up with was using Twitter’s bootstrap framework. This framework uses responsive design, meaning that the UI will resize/reformat to accommodate the screen size of the device.
- Instead of adding the bootstrap libraries as static files in SFDC, I used online links hosted by CDN’s. The advantage of this is that I bypass the pain of having to maintain these static files, in the event I want to switch out the version. The disadvantage would be that in real-life scenarios, developers may not want critical libraries hosted external which are subject to change, unavailable, etc.
- I also used this library Visualstrap . It’s a clever VisualForce component library that abstracts some of the complexity of using Bootstrap. For me, it’s all about the hackathon mentality, and being able to code up an app in the shortest period of time possible.
- On the video side, I used http://prezi.com/. There are a few of these start-ups out there that creates these beautiful looking videos, which are powerpoint or keynote on steroids.