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.
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.
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.
Un archivo JavaScript contiene métodos que definen lo que hacen funcionar al componente.
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.
- Tenga en cuenta que las clases internas
GeocodingAddress
yCoordinates
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.
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
- Trailhead: Aspectos básicos de los componentes web Lightning
- Trailhead: Pruebas de componentes web Lightning
- Trailhead: Configurar las herramientas de desarrollo de dispositivos móviles para los componentes web Lightning
- Trailhead: Aspectos básicos de Apex para administradores
- Trailhead: Configure su espacio de trabajo e instale herramientas de desarrollador