Skip to main content

Mobile Application Development On Touch Platform-Part 3

This is in continuation with my previous posts .This post basically covers the difference between local and server side implementation approach for developing cross platform hybrid  mobile application on touch platform.

An hybrid mobile application is cross platform and generally use phonegap that comes bundled with mobile SDK to develop the application. Web developers familiar with the javascript will find it very friendly to learn and develop hybrid mobile application.

The following table below summarizes the difference and comparison between local(javascript on local device and using ForceTK/RemoteTk  library) and server side(Visualforce with Javascript Remoting) approach:

Local/ServerSide Hybrid mobile application development on touch platform
Feature local Approach using mobile packs(Backbone js/angulur js/jquerymobile) Server side Approach using Visualforce page
Databinding ForceTK or RemoteTK,Javascript modal functions for angular js or backbone js library functions Javascript Remoting can be used
Offline Support Smartstore.js can be used to achieve .Its relatively easier to provide this functionality in local side approach Html5 app cache concept can be used to provide offline(Not secure ,Smartstore Recommended),Browser capacity to store data is limited and hence if offline is major part of requirement its essential to develop with local side approach
Packaging Repeated Packaging for any changes to the application Less Frequent packaging due to One Time SFDC Package Deployment
SFDC API Remote TK consumes no API calls and hence can be used to save API calls,ForceTK consumes API call Visualforce Remoting feature and hence API calls are only consumed for DML operations
Code Storage The javascript library,CSS and whole code resides on the device The main javscript is written inside the visualforce pages
User Interface Jquery mobile can be used to provide good user interface.With angular and backbone libraries such as bootstrap can be used Jquery mobile is preferred .Although no hard rule ,any UI CSS library can be kept in static resource and used to develop mobile friendly UI
Development Effort The developer must be good in CSS,HTML5 and must be familiar with javscript libraries like angular or backbone.js The knowledge of visualforce ,jquerymobile and apex remoting is enough to develop server side hybrid application

The conclusion is at this point it really depends on the requirement to adopt which development model to prefer depending on the requirements .


Popular posts from this blog

Invoking Apex Callout From Process Builder

Process builder is GA in Spring 15 and one of the queries I came across was around how to invoke apex callouts from Process builder .

Before process builder came we had two common approaches of calling webservice 

1)We have outbound messages as one of the Actions for workflows.This works if other party implements the WSDL that is generated once Outbound messaging is defined with appropriate end point .

2)Most of times future method invoked through triggers allowed to do apex callouts and invoke external web service provided the future method is annotated with @future(callout=true).This provides lot of flexibility and one of the best approaches .

3)Flow triggers was in BETA and this was also one of the ways we could invoke callouts provided the Flow implements process plugin .To understand in detail how to implement process plugin refer to the below example

The purpose of this blogpost is to demonstrate the new possibility of invoking apex callout through Process Builder 

I tried initi…

Opening Modal Using Lightning Component Framework of SFDC

One of my friend from India threw a challenge .The challenge was to open a modal by using latest and greatest lightning components framework and modals design from SLDS .For the love of community I thought of sharing the entire code base that I did .

So here we start ..

Business Use Case - Need a handy SalesLeader board component that can be used to display the Sales revenue generated by each sales rep for current year in the order of decreasing total revenue .On click of the tile ,we will show detail opportunity list aggregating the revenue .

The component can be dragged in lightning design experience or in App builder lightning Page .

Video Demonstration-

SalesLeaderBoard from Mohith Kumar Shrivastava on Vimeo.

Frameworks Used -
Lightning Design Systems (SLDS) for CSSLightning Component Framework for client side logicApex aura enabled class for backend logicApproach
The component hierarchy is very important to imagine or mindmap before we dig deeper- SalesLeaderMain

Writing Test Classes For Apex Rest Service

I came across a question in a developer community on how to write Unit Test Classes for the Rest API service for POST HTTP calls

Unit Test Classes for REST API following link is very useful and inspired by this jeff had an article on his blog on how to write the test method for same .

Here is the Jeff Blog Link Test Class for REST API(Good reference for GET Rest Services)

In one of my previous blog post i demonstrated how to use native parsing technique for Rest api for User Defined Type
I wrote the Test class for the same and this post is helpful for all those searching for how to write test classes for apex rest service annotated with POST Call
Here is the Rest Service Class for which i attempted the test class
@RestResource(urlMapping='/DemoUrl/*') global with sharing class MyRestResourcedemo { global class RequestWrapper{ public Account acct; public Contact[] cons; } global class ResponseWrapper { public String StatusCode; …