[SalesForce] Customer Community vs Heroku

I am a new entrant to Salesforce (force.com) world coming from Java world. My team is migrating customer service functionality from Siebel to SFDC leveraging Service Cloud. We also have B2B commerce which is currently done through a custom java application. Since the majority of the business process automation (Order Management) is being implemented through Service Cloud, the team is considering creating a Customer Community for B2B customers and expose customer facing functionality using communities. Majority of my team are "Point and Click" developers with limited understanding of other polyglot technologies. While I do agree that Communities provide a quick way to setup customer facing sites, I am still not convinced that communities will be a better option against a customer web-app on Heroku or some other PaaS. Also the licensing and other limitations of force.com may not let the app scale.

The options I have in front of me are

  1. Leverage Community Builder and build a working site (Preferred by leadership)
  2. Leverage force.com sites (Visualforce + customizations) – Preferred by technical team
  3. Leverage Heroku and connect to SFDC using API and Heroku Connect – Preferred by me !!!

Are there any compelling arguments or any criteria which defines which way to go and when ?

Best Answer

At the moment only Napili template can be used to build community using Community Builder(Koa & Kokua do not support Lightning & have tons of limitations). Napili template itself has limitations. It doesn't work in Salesforce1 and doesn't support all of the objects(Opportunity flow, Orders)

force.com sites (Visualforce + customizations) has no limitations to customizations or object access. It also scales really well for upto ten million customers(& may be more if you are willing to pay). However creating jazzy look & feel takes more time & effort as compared to Community Builder.

Heroku and connect to SFDC using API and Heroku Connect doesn't work on Salesforce1. Typically, it takes more time to create a web app using Java as compared to Aex/Visualforce. Integrations are hard and bug prone. Lot's of out of the box functionality can not be leveraged(Reports & Dashboards, Chatter Answers, Knowledge, Ideas). Yes it might scale but do you really need ten million plus users?

Everything else being equal, force.com sites (Visualforce + customizations) should be your default approach.

Related Topic