Skip to main content
Únase a nosotros en TDX, San Francisco o en Salesforce+ del 5 al 6 de marzo en la conferencia de desarrolladores para la era del agente de la IA. Regístrese ahora.

Programar con lenguajes de Salesforce

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Enumerar los lenguajes que lo ayudan a desarrollar con Salesforce.
  • Explicar las ventajas de cada uno de los lenguajes incluidos en esta unidad.
  • Describir cómo Apex admite el desarrollo en Salesforce.

Conocer sus opciones

Acaba de aprender acerca del desarrollo front-end en Salesforce Platform con personalizaciones y automatización sin código o con poco código. Ahora bien, si tiene alma de programador, esta unidad es para usted. Si no es programador, aprenderá fragmentos clave del desarrollo de Salesforce que lo ayudarán a comunicarse con sus programadores. 

Cuando se desarrolla con Salesforce Platform, se pueden usar distintos lenguajes de programación. Entre ellos, se encuentran los siguientes: 

  • Marco de trabajo de componentes web Lightning: un marco de trabajo de desarrollo de interfaz de usuario (IU) basado en JavaScript similar a AngularJS o React.
  • Apex: lenguaje de programación creado por Salesforce con una sintaxis similar a Java.
  • Node.js: un tiempo de ejecución de JavaScript asíncrono y basado en eventos, diseñado para crear aplicaciones de red ampliables.

Veamos las partes de la aplicación de muestra Dreamhouse que muestran mejor estas tecnologías.

Componentes web Lightning

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

Si conoce los marcos de trabajo como AngularJS, React o Polymer, tendrá una buena idea de lo que esperar con los componentes web Lightning. El beneficio, 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 aprende más sobre los Componentes Web Lightning, es posible que advierta una diferencia en el uso de las mayúsculas. Cuando nos referimos al modelo de programación del marco de trabajo de Componentes Web Lightning ingresamos todas las palabras del nombre con mayúsculas. Cuando nos referimos a los componentes en sí, solo la última palabra empieza por mayúscula: componentes web Lightning.

Veamos una propiedad como la que miramos en el Generador de aplicaciones Lightning en la unidad anterior, pero esta vez, la veremos en la ficha Properties (Propiedades) de la aplicación Dreamhouse. Esta página tiene muchos componentes web Lightning, pero nos centraremos en un componente personalizado específico: el mapa. Este mapa simplemente muestra la ubicación de la propiedad. El usuario se acerca para ver la propiedad y sus alrededores con mayor detalle.

Ficha Properties (Propiedades) de la aplicación Dreamhouse que muestra el registro de una propiedad con el componente web Lightning de mapa.

Veamos cómo se creó este componente. 

Es excelente que hasta este punto haya seguido los pasos en su Trailhead Playground. A partir de ahora, le mostraremos capturas de pantalla del código desde la aplicación Dreamhouse mediante Visual Studio Code.

Visual Studio Code, o VS Code, junto con el Paquete de extensiones de Salesforce, 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 ejemplos que aparecen a continuación, veremos el código para el componente de propiedad y, específicamente, el componente personalizado de mapa en VS Code. Tómese un momento para analizar algunos de sus fragmentos esenciales. Un archivo HTML utiliza una etiqueta <template> donde se almacenan los fragmentos de HTML.

Visual Studio Code, donde se muestra el archivo propertyMap.html.

Un archivo JavaScript contiene métodos que definen lo que hacen funcionar al componente. 

Visual Studio Code, donde se muestra el archivo propertyMap.js.

Es posible que los componentes web Lightning también tengan un archivo .css para aplicar estilos al componente. Sin embargo, este componente no tiene un archivo .css. En la columna izquierda de VS Code, se pueden ver también los recursos que forman parte del paquete de este componente, incluidos un archivo .xml y una carpeta de pruebas. 

Otra ventaja de los componentes web Lightning es que permiten verificar con facilidad que los componentes sean compatibles con dispositivos móviles. Verifique y depure sus componentes web Lightning con simuladores móviles para garantizar que la parte de su audiencia que utilice dispositivos móviles no tenga problemas.

Para obtener más información acerca de los componentes web Lightning, consulte la sección Recursos más abajo.

Apex

Apex es el lenguaje de programación orientado a objetos tipificado de forma estricta que permite que los desarrolladores de Salesforce agreguen lógica de negocios a eventos del sistema, como clics en los botones y actualizaciones de registros relacionados.

Anteriormente, vimos que Flow Builder es una herramienta de automatización con poco código. A pesar de ello, puede escribir código de Apex para ampliar las funciones de Flow Builder. O bien puede crear aplicaciones más complejas solo con Apex. Veamos el código del flujo de pantalla que vimos en la Unidad 2, que recopila información para crear un nuevo registro de propiedad en la aplicación Dreamhouse.

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

Código de Apex que muestra dónde Apex invoca las acciones del flujo.

  • Tenga en cuenta que las clases internas GeocodingAddress y Coordinates tienen propiedades en cada clase anotadas con @InvocableVariable. Esto le permite utilizarlas para pasar datos al flujo.
  • El método de Apex geocodeAddresses está anotado con @InvocableMethod para que ahora pueda invocarse como una acción del flujo.
  • El método geocodeAddresses genera las coordenadas de la propiedad en función de su dirección; para ello, hace una llamada HTTPCallout a un servicio de terceros.

Por supuesto, la extensión de Flow es solo una de las maneras en las que puede utilizar Apex para mejorar las funciones de su organización. Para obtener más información, consulte la sección Recursos más abajo.

Node.js 

Node.js es un tiempo de ejecución de JavaScript asíncrono y basado en eventos diseñado para crear aplicaciones de red ampliables. En Salesforce, usamos Node.js como herramienta del desarrollador, pero no para programar en la plataforma.

Cuando crea un proyecto nuevo con el comando force:project:create en Salesforce CLI o con la paleta de comandos de VS Code, se incluyen en el proyecto un conjunto de utilidades y secuencias de comandos de Node.js para mejorar su experiencia como desarrollador. Node.js es un motor de secuencias de comandos independiente del SO que puede usarse para dar formato con Prettier, ejecutar lints 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 conocer los lenguajes y marcos de trabajo más comunes que puede utilizar para las personalizaciones en Salesforce Platform. En la próxima unidad, aprenderá sobre las herramientas y los productos que puede integrar para extender aún más las funciones en su organización.

Recursos

Comparta sus comentarios de Trailhead en la Ayuda de Salesforce.

Nos encantaría saber más sobre su experiencia con Trailhead. Ahora puede acceder al nuevo formulario de comentarios en cualquier momento en el sitio de Ayuda de Salesforce.

Más información Continuar a Compartir comentarios