lightning-community

Lightning Communities o Visualforce. ¿Cuál elegir?

Tweet about this on TwitterShare on Facebook0Share on Google+0Share on LinkedIn0Digg thisBuffer this pageEmail this to someone

Cada vez son más las empresas que desean migrar o desarrollar sus portales (de clientes, proveedores, partners…) en Salesforce. Las razones para tomar esta decisión pueden ser varias. Las principales, sin duda, son la total integración con los datos en Salesforce (adiós a engorrosas integraciones), así como la total customización de los estilos del portal, alineando estos, con sus actuales gestores de contenidos (WordPress, Drupal…).

Pero siempre hay una gran pregunta que ronda nuestra cabeza al comenzar. ¿Creamos una comunidad Lightning u optamos por construirla en Visualforce? Este post intentará aportar nuestro granito de arena para despejar nuestras dudas.
Primero evaluaremos quien es nuestro “target” y acto seguido la solución técnica apta para cada uno. Tenemos que tener claro dos cosas. Qué tipo de usuarios van a utilizar el portal y que tipo de contenidos y funcionalidades se van a mostrar.
Podemos distinguir entre “partners” (o colaboradores) y usuario final, ambos son clientes, pero normalmente sus expectativas respecto al portal van a ser diferentes. Normalmente nuestros “partners” colaboran con nuestra organización convirtiéndose en distribuidores de nuestro producto o de nuestro servicio, por lo que debemos acudir a un modelo donde prima la funcionalidad, normalmente antes que el aspecto de nuestro portal. Para ello, Salesforce nos ofrece una solución que reducirá altamente los tiempos de desarrollo, como es el caso de las Comunidades Lightning, o Lightning Communities. ¿Qué nos ofrecen?

  • Diseño responsive, perfectamente adaptado a nuestros dispositivos móviles, ya sean tables o teléfonos.
  • Diferentes templates muy modernos para nuestra UI y fácilmente configurables.
  • Capacidad de introducir componentes Lightning desarrollados por terceros que nos aporten nuevas funcionalidades.
  • Fácil escalabilidad. Si mañana queremos añadir nuevas pestañas o contenidos, podremos hacerlo de una forma fácil debido a un fantástico back-office (Lightning Community Builder).
  • Perfectamente integrada con Chatter, objetos, listas relacionadas y demás funcionalidades que encontrarías en Lightning Experience.
  • Las pantallas de Login, Registro y ForgotPassword son fácilmente configurables.

lightning-communities

La limitación de las comunidades Lightning

Más allá de los componentes y objetos standard que las comunidades Lightning no pueden mostrar todavía (no es algo crítico porque siempre podemos crear un componente Lightning que nos de esa funcionalidad), nuestro cuello de botella está en el Look&Feel. El Builder nos permitirá cambiar los colores del header, el body y el footer, así como seleccionar un layout con diferente número de columnas. Por lo tanto, si necesitamos un menú con un estilo especial con movimiento o un layout diferente al que nos ofrece el builder, porque nuestros clientes nos lo requieren, estaremos atados de pies y manos, no podremos cambiarlo a priori.

Imaginemos que queremos crear una comunidad orientada al cliente final y, por lo tanto, necesitamos hacer una gran customización de la apariencia de nuestro portal. En este caso emplearemos una comunidad sin Lightning templates, orientada 100% a páginas Visualforce. Vamos a perder todas las funcionalidades Standard que nos ofrece Salesforce, aumentando considerablemente los tiempos de desarrollo, pero ganando flexibilidad en cuanto a estilo y funcionalidad.

En cuanto a las limitaciones técnicas, nos “limitaremos” a decir que el framework está en construcción, y aunque sufrimos ciertos atrasos respecto a navegación entre componentes y funcionalidades, estamos seguros de que con el tiempo se irán solventando.

Vale, hemos decidido crear una comunidad en Visualforce ¿ahora qué?

Pues ahora te toca elegir la tecnología que mejor se adapte a tu proyecto. Igual para comunidades sencillas (los tiempos de respuesta pueden ser más o menos altos) y de pocas páginas, puedes atacar con una solución de múltiples páginas en Visualforce, empleando sus componentes nativos. Está solución no nos parece nunca la adecuada ya que los tiempos de carga son muy grandes y tendrás que navegar de una página a otra cargando todas las librerías una y otra vez. Te recomendamos que optes por Frameworks basados en tecnología de JavaScript para el Desarrollo Web Front End que permite crear aplicaciones SPA (Single-Page Applications). Este es el caso de AngularJS o React que te permitirán acortar los tiempos de desarrollo debido a una gran cantidad de funcionalidades nativas, así como acortar los tiempos de respuesta debido a que el motor de la aplicación se encontrará en el browser del cliente, reduciendo las consultas a la base de datos. (Yo aquí optaría por un modelo mixto. No siempre los SPA son la solución…)

La recomendación del Chef

Hace un año y poco, en este post, hubiera apostado por las comunidades Visualforce por su versatilidad frente a las mil limitaciones de estilo y comportamiento que nos ofrecían las comunidades Lightning. A día de hoy, Lightning nos ofrece un look&feel bastante configurable, denominado Lightning Design System, que nos ahorrará horas y horas de diseño gráfico que emplearíamos en una opción con páginas Visualforce.

Lightning, a pesar de que todavía presenta ciertas limitaciones (no insalvables), se convierte en mi primera opción para montar una nueva comunidad. Si buscas integrar bastantes funcionalidades standard de Salesforce, reducir los tiempos de desarrollo y ser “responsive” ante cualquier dispositivo, sin duda las Comunidades Lightning son tu primera opción. Para todo lo demás “Visualforce”.

Que tengáis buenos Salesforce!