Skip to main content
Únase a nosotros en TDX, en San Francisco, o en Salesforce+ los días 5 y 6 de marzo en la conferencia para desarrolladores sobre la era de agentes de IA. Registrarse ahora.

Programar con lenguajes de Salesforce

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Enumerar los lenguajes que permiten desarrollar con Salesforce.
  • Describir las ventajas de cada uno de los lenguajes de la unidad.
  • Describir cómo respalda Apex las tareas de desarrollo en Salesforce.

Conocer sus opciones

Acaba de aprender sobre el desarrollo front-end en Salesforce Platform mediante personalizaciones y automatización sin código y poco código. Si lo suyo es la programación, esta es su unidad. Si no es programador, igualmente descubrirá conceptos muy importantes del desarrollo en Salesforce que le ayudarán a comunicarse con programadores. 

A la hora de desarrollar en Salesforce Platform, existen numerosos lenguajes de programación que puede usar, por ejemplo: 

  • El marco Lightning Web Components: un marco de trabajo de desarrollo de interfaz de usuario basada en JavaScript similar a AngularJS o React.
  • Apex: lenguaje de programación creado por Salesforce con una sintaxis similar a Java.
  • Node.js: Entorno de ejecución JavaScript asíncrono y basado en eventos que se ha diseñado para desarrollar aplicaciones de red ampliables.

Veamos los componentes de la aplicación de muestra Dreamhouse donde podemos analizar bien todas estas tecnologías.

Componentes web Lightning

Lightning Web Components (LWC) es un marco de trabajo de desarrollo de IU para dispositivos de escritorio y móviles. Como su nombre sugiere, es un enfoque basado en componentes para el desarrollo de interfaces de usuario. Mediante componentes web Lightning preconfeccionados y personalizados, puede desarrollar rápidamente interfaces de usuario elegantes y coherentes para sus aplicaciones.

Si está familiarizado con marcos de trabajo como AngularJS, React o Polymer, tendrá una buena idea de lo que puede esperar de los componentes web Lightning. La ventaja, por supuesto, es que los componentes web Lightning están listos para su uso con todos sus datos de negocio en Salesforce.

Nota

Nota: 

A medida que aprenda sobre el marco Lightning Web Components, es posible que observe una diferencia en la forma en que se capitaliza. Cuando nos referimos al modelo de programación del marco Lightning Web Components, utilizamos el término en inglés. Cuando hacemos referencia a los componentes en sí mismos, es decir, los componentes web Lightning, utilizamos la traducción del concepto a modo genérico.

Centrémonos en una propiedad como en la que nos centramos en Lightning App Builder (Generador de aplicaciones Lightning) de la última unidad. En esta ocasión, vamos a verla en la ficha Properties (Propiedades) de la aplicación Dreamhouse. Esta página contiene muchos componentes web Lightning, pero ahora nos vamos a centrar en un componente personalizado: el mapa. Este mapa muestra la ubicación de la propiedad. El usuario puede ampliarlo para ver la propiedad con más detalle y sus alrededores.

La ficha Properties (Propiedades) de la aplicación Dreamhouse donde vemos un registro de propiedad con el componente web Lightning de mapa.

Veamos cómo se ha creado este componente. 

Si ha seguido los pasos descritos en su Trailhead Playground hasta ahora, eso es maravilloso. A partir de ahora, vamos a mostrarle capturas de pantalla de código de la aplicación Dreamhouse desde Visual Studio Code.

Visual Studio Code, o VS Code, junto con Salesforce Extension Pack, es el entorno de desarrollo integrado, o IDE, de preferencia de Salesforce que puede utilizar para desarrollar, depurar y probar código en su organización. En los siguientes ejemplos, analizaremos el código del componente de la propiedad y, en concreto, el componente personalizado de mapa de VS Code. Párese un momento y observe algunos de estos elementos fundamentales. Se usa una etiqueta <template> en un archivo HTML para almacenar los elementos de HTML.

Visual Studio Code con el archivo propertyMap.html.

Un archivo JavaScript contiene métodos que definen el funcionamiento del componente. 

Visual Studio Code con el archivo propertyMap.js.

Los componentes web Lightning también pueden contener un archivo .css para aplicar estilo, pero este componente en concreto no lo incluye. En la columna izquierda de VS Code, también verá algunos recursos adicionales que forman parte de este paquete de componentes, como un archivo .xml y una carpeta de pruebas. 

Otra ventaja de los componentes web Lightning es que es muy fácil verificar si los componentes se pueden usar en dispositivos móviles. Puede usar simuladores móviles para comprobar y depurar sus componentes web Lightning para asegurarse que los usuarios móviles no tengan ningún problema.

Para obtener más información sobre los componentes web Lightning, consulte la sección de recursos a continuación.

Apex

Apex es el lenguaje de programación orientado a los objetos y con parámetros de asignación rigurosa que permite a los desarrolladores de Salesforce agregar lógica empresarial a eventos del sistema, como clics de botón y actualizaciones, a los registros relacionados.

Anteriormente, hablamos sobre Flow Builder como herramienta de automatización de poca programación. Aunque es de poca programación, también puede ampliar las funciones de Flow Builder programando un poco con Apex. También puede desarrollar aplicaciones más complejas solo utilizando Apex. Analicemos el código del flujo de pantalla que vimos en la Unidad 2 y que recopila información para crear un nuevo registro de propiedad en la aplicación Dreamhouse.

Si ha desarrollado Java alguna vez, probablemente averiguará con facilidad lo que pasa en esta clase. De nuevo, no vamos a pasar por cada detalle de esta implementación. Aparte de la sintaxis similar a Java, existen un par de cosas que hay que destacar.

Código Apex donde se muestra en qué partes invoca Apex las acciones del flujo.

  • Tenga en cuenta que las clases internas GeocodingAddress y Coordinates tienen propiedades en cada clase que se anotan con @InvocableVariable. Esto le permite usarlas para enviar datos al flujo.
  • El método Apex geocodeAddresses se anota con @InvocableMethod para que pueda invocarse en forma de acción del flujo.
  • El método geocodeAddresses genera las coordenadas de las propiedades en función de la dirección. Para ello, envía una solicitud HTTPCallout a un servicio de terceros.

Por supuesto, la ampliación de Flow es solo una de las maneras con que puede utilizar Apex para mejorar las funciones de su organización. Para obtener más información, consulte la sección de recursos a continuación.

Node.js 

Node.js es un entorno de ejecución JavaScript asíncrono y basado en eventos que se ha diseñado para desarrollar aplicaciones de red ampliables. En Salesforce, usamos Node.js para las herramientas de desarrollo, pero no para programar en la plataforma.

Cuando se crea un proyecto nuevo con el comando force:project:create en Salesforce CLI, o con la paleta de comandos de Visual Studio Code, se incluyen un conjunto de scripts y utilidades de Node.js en el proyecto para mejorar la experiencia del desarrollador. Node.js es un motor de generación de scripts que sirve para cualquier sistema operativo y que se puede usar para cosas como aplicar formato con Prettier, analizar con ESLint, probar el código de los componentes web Lightning con Jest y mucho más. 

Bibliotecas de Node.js en la aplicación Dreamhouse.

Acaba de ver algunos de los lenguajes y marcos más comunes que puede usar para personalizar componentes en Salesforce Platform. En la siguiente unidad, descubrirá las herramientas y los productos que puede integrar y que amplían aún más la funcionalidad en toda la organización.

Recursos

Comparta sus comentarios sobre Trailhead en la Ayuda de Salesforce.

Nos encantaría conocer su experiencia con Trailhead. Ahora puede acceder al nuevo formulario de comentarios cuando quiera desde el sitio de la Ayuda de Salesforce.

Más información Continuar para compartir comentarios