Sunday, 21 April 2013

Mobile Application Development On Force.com Touch Platform-Part 2

This blog post is in continuation with Earlier blog post where we explored  some limitations of standard apps provided by salesforce .But every release salesforce keeps improving Salesforce Touch App ,Salesforce Mobile etc and hence its advisable to go through latest release to find out whether the customers requirement can be met from using those standard app and figure out actual need to go for development of completely customized app.

Force.com Touch Platform offers Salesforce SDK for Android and IOS .Using SDK its possible to develop native ,hybrid or an HTML web application.

http://salesforce.stackexchange.com/questions/8075/html-vs-hybrid-vs-native-app

There are lot of discussions around which type of application is best. (Hybrid or native or html).The conclusion it really depends on the requirement,developer resource and performance expected .

Native Apps are faster and provides great offline support but we may need to code in different languages depending on platform .Eg:Objective C for IOS and Java for Android .

 Hybrid Apps are developed using Javascript libraries and a web developer with Javascript skills along with knowledge of Jquery mobile and Html5 and CSS3 can handle .The Hybrid applications will provide cross platform support and there is a support for offline as well using Smartstore.js that comes bundled with salesforce mobile SDK.

http://www2.developerforce.com/mobile/getting-started/html5

The above link will take you developerforce where you will see the Javascript libraries that can be used to develop Hybrid Application.To mention few these are i)Angular.js ii)Backbone.js iii)Forcetk

JqueryMobile  is an excellent utility and using this the UI of the mobile application can be developed very quickly.This is also one of the components that comes bundled with mobile SDK .

Lets quickly summarize what are the things that comes bundled with the Salesforce SDK and whats there use (Salesforce SDK for Android ,Salesforce SDK for IOS).

a)bootconfig.js-This boots the app as name suggests .This configures the app .

Settings needed in  bootconfig.js for local Hybrid app 

i)remoteAccessConsumerKey -From your remote access settings  or connected apps place your consumer key in this variable 

eg:
var remoteAccessConsumerKey = "3MVG9A2kN3Bn17hvZpJm8_imuGQjzehEPJ94DYLTwjIp811dyZUSv3EEU1L0z5TAZHanF4clFyNF_2jygDscB";

ii)oauthRedirectURI-This variable must be populated with the Callback URL from your remote access settings or connected apps 

eg;

// The redirect URI value specified for your remote access object that defines
// your application in Salesforce.
var oauthRedirectURI = "testdemo:///mobilesdk/detect/oauth/done";

iii)startData-This is crucial part of configuration.This decides whether you want to land the app on local html (In case you have developed local hybrid application )or On server side visualforce as the first page as soon as app boots up(In case you have developed server side  hybrid application)

For local app use the following:


var startData = new SFHybridApp.LocalAppStartData();  // Used for local REST-based "index.html" PhoneGap apps.


For Visualforce based Server side application use the following

var startData = new SFHybridApp.RemoteAppStartData("/apex/Visualforcepage?context=container"); 

Where VisualforcePage is the name of Visualforce where you want to land the user when the app boots up

NOTE:I will be expanding in my next blog post whats the difference between local side hybrid app and server side hybrid application

b)Cordova-2.3.0.js-This is open source phonegap plugin.To read more about Phonegap refer the following link 
http://docs.phonegap.com/en/2.6.0/index.html

We wonder how can i access the device features(Camera,audio,video,geo location,file storage  etc)from Javascript .It is this open source Javascript library that has Javscript functions to invoke the device features.

c)SalesforceOauthPlugin.Js-This handles the authentication of the application using oauth 2.0 of force.com.Please Note oauth 2.0 is necessary only for local hybrid application

d)SFHybridApp.Js-This provides some utility functions necessary for offline caching of data and functions  to detect whether the device is online or offline etc 

e)Jquerymobile -This library eases the creation of UI for the application and makes it platform independent and also device independent .

There are lot to speak about mobile application development on touch platform and surely i fancy blogging more on this .Happy Learning!!!





24 comments:

  1. Such as very good information,
    Thank goodness someone is promoting quality content. these information was more effective content.
    Mobile App Development Company in Dubai
    Android App Development Company in Dubai
    Mobile App Development Company
    Mobile App Development Company in UAE

    ReplyDelete
    Replies
    1. Great Article android based projects

      Java Training in Chennai Project Center in Chennai Java Training in Chennai projects for cse The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training

      Delete
  2. I always like and such a super contents of these post, Good info I gained more information about that. Thanks for such a helpful information. Keep it up.
    Mobile App Development Company In Chennai
    Android App Development Company In Chennai
    Android Application Development Company In Chennai
    Mobile App Development Company In India

    ReplyDelete
  3. billig fendi taschen, das eleganten Stil und modernste Technologie kombiniert, eine Vielzahl von Stilen von billig fendi schuhe, der Zeiger bewegt sich zwischen Ihrem exklusiven Geschmacksstil.

    ReplyDelete
  4. Very interesting post. It's very informative and easy to understand for all level skilled app developers.

    Reach Way2Smile (Trusted Mobile App Development Company in Chennai) to develop extraordinary mobile apps.

    ReplyDelete
  5. Bài viết rất hay: Chúng tôi chuyên cung cấp các sản phẩm chất lượng sau:



    Lều xông hơi gia đình giá rẻ



    Lều xông hơi giá bao nhiêu



    Lều xông hơi loại nào tốt nhất hiện nay



    Cảm ơn các bạn!

    ReplyDelete
  6. Bài viết rất hay: Chúng tôi chuyên cung cấp các sản phẩm chất lượng sau:



    Tác dụng thần kì của bồn ngâm chân



    Máy ngâm chân thải độc



    Chậu ngâm chân giá rẻ



    Cảm ơn các bạn!

    ReplyDelete
  7. We understand the base of your problem. Cybexo is providing the best web development services in Canada including outstanding digital appearance,Mobile app development, graphic designing, content writing, and branding.

    ReplyDelete

  8. A perfect web development team will be clear about the business objectives and goals of the project. Where well-planned strategies, smart design and eye catching user interface is the formula of perfect website creation.
    Cybexo website design and web development Company can help your business to create a lasting brand that resonates with your customers in Canada or all over the world.

    ReplyDelete
  9. We understand the base of your problem. Cybexo is providing the best web development services in Canada including outstanding digital appearance,Mobile app development, graphic designing, content writing, and branding.

    ReplyDelete
  10. Great post done by admin. Contact us for Best Mobile Application Development Services at best price.

    ReplyDelete
  11. Appsinvo was founded in 2015 and it is india-based company. Appsinvo is a Top Mobile App Development Company in India, USA and UK that develops unique, easy to use, high functionality and seamless operation that makes your web and mobile app more innovative. Since 2015, we have been delivering our services for the last 5 years in 120 countries and we have developed more than 300 mobile apps that makes more than 150 clients happy and satisfied with our services.
    Mobile App development company in Asia
    Top Mobile App Development Company
    Top Mobile App Development Company in Noida
    Mobile App Development Company in Delhi
    Top Mobile App Development Companies in Australia
    Top Mobile App Development Company in Qatar
    Top Mobile App Development Company in kuwait
    Top Mobile App Development Companies in Sydney
    Mobile App Development Company in Europe
    Mobile App Development Company in Dubai

    ReplyDelete
  12. Our Mobile App Development make much efforts when its comes to your dream project. if there were any problem they were resolve it within 24 hours

    ReplyDelete
  13. Great blog information..
    our team works so hard to provide you the best website for the minimal price every day.
    Web design winnipeg
    Best SEO winnipeg

    ReplyDelete
  14. Good content about mobile app development...keep update..and We have also a splendid team to build a great mobile applicatyion in chennai and also we providing all services..

    "Best customer relationship management Software company in chennai
    Best Software Providers in chennai
    Mobile app development company in chennai
    "

    ReplyDelete
  15. Very good article, Has shared useful information about mobile app development.
    We are an app development company located in chennai. Best mobile app developers in chennai

    ReplyDelete
  16. Very appealing post, we will be glad to serve you perfectly beautiful ideas in the mobile app development industry. Get in touch to know more. Also visit: mobile development company

    ReplyDelete

Introducing Lightning Base Components

Lightning Base Components are great addition to the platform and in fact revolutionary .One of the concerns around lightning component ...