Esta es una traducción que desde EGA Futura ofrecemos como cortesía a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoamérica .
El enlace a la publicación original, lo encontrarás al final de este artículo.
…
En Salesforce, estamos comprometidos a invertir en GraphQL como parte integral de nuestra plataforma flexible y componible. Anteriormente, compartimos que la API de Salesforce GraphQL estaba disponible para el público en general (GA). Ahora, nos complace anunciar el lanzamiento piloto del adaptador de cable GraphQL de Salesforce en nuestro lanzamiento de Spring '23. En este artículo, exploraremos los beneficios del adaptador de cable GraphQL y cómo facilita el acceso a los datos de Salesforce desde Lightning Web Components (LWC).
Este nuevo adaptador permitirá a los desarrolladores de LWC consultar datos de Salesforce de forma nativa utilizando un lenguaje de consulta estándar de la industria con predicados enriquecidos para filtrar, agrupar, agregar y ordenar. Un desarrollador podrá usar el adaptador de cable GraphQL para crear componentes web y aplicaciones móviles fuera de línea con LWC. Consulte la documentación del desarrollador para conocer las funciones disponibles actualmente.
A partir de ahora, la pila de Salesforce GraphQL consta, desde el backend hasta el servidor:
- una API de GraphQL que expone los datos disponibles a través de la API de la interfaz de usuario (UI),
- el adaptador de cable GraphQL que interactúa con la API de GraphQL para obtener datos, y
- aplicaciones web y móviles creadas con LWC. Tenga en cuenta que la API de GraphQL integrará más API de Salesforce más adelante.
Caso de uso del cliente: creación de un tablero con adaptador de cable GraphQL
Para ilustrar los beneficios del adaptador de cable GraphQL, veamos un caso de uso del tablero de soporte al cliente. Imagine un desarrollador que quiere crear un panel que permita al equipo de soporte clasificar rápidamente los casos entrantes en función de un conjunto de criterios y tomar las medidas adecuadas. Bajo el capó, esto requiere obtener múltiples tipos de registros que están conectados entre sí junto con campos específicos para mostrar.
Hay algunas formas diferentes en que el autor de estos componentes de la interfaz de usuario podría recuperar los datos necesarios:
- Mediante el uso de adaptadores de cable de estilo REST existentes, como el obsoleto
getListUi
para recuperar ID de registros ygetRecords
para recuperar datos de registros. Si bien estos adaptadores de cable pueden recuperar los datos necesarios, esta es una solución incómoda que requerirá múltiples viajes de ida y vuelta al servidor. Además, alguien en la organización deberá crear y mantener una vista de lista que identifique los registros que se mostrarán en esta interfaz de usuario. - Llamando a un método de Apex para devolver parte o toda la información, y utilizando adaptadores de cable de estilo REST existentes para recuperar los datos restantes. Apex permite al desarrollador expresar exactamente la consulta SOQL que debe ejecutarse, pero los datos de registro resultantes serán opacos para la capa de almacenamiento en caché de Lightning Data Service (LDS) en el cliente. Si el método de Apex se puede almacenar en caché, el cliente tendrá varias copias del mismo registro en caché, sin forma de garantizar la coherencia entre esas copias. Los datos de registro recuperados mediante adaptadores de cable de estilo REST no tendrán este problema, pero requerirán viajes de ida y vuelta adicionales al servidor. Al igual que con la vista de lista en (1), existe el desafío adicional de crear y mantener el código Apex para mantenerlo sincronizado con el componente.
- Al usar GraphQL, el autor del componente puede expresar con precisión tanto la consulta que se ejecutará como los datos que se recuperarán para cada registro en una sola llamada al servidor. Debido a que GraphQL está fuertemente tipado y descrito por un esquema formal, LDS puede comprender la forma del resultado, almacenarlo en caché de manera efectiva y brindar garantías de consistencia en todos los componentes representados en el cliente.
Los beneficios del adaptador de cable GraphQL
El adaptador de cable GraphQL proporciona varios beneficios que facilitan a los desarrolladores el acceso a los datos de Salesforce en los LWC:
- Capacidad de consulta nativa para LWC: consulte los datos de Salesforce utilizando el lenguaje de consulta estándar de la industria con predicados enriquecidos. Los desarrolladores ahora pueden consultar datos de Salesforce de manera fácil y eficiente en sus LWC, sin necesidad de utilizar Apex para manejar las consultas de datos.
- Un solo punto final y agregación de datos: obtiene un punto final para todos sus recursos, y los datos se pueden agregar a través de múltiples recursos. Menos solicitudes más específicas lo ayudan a optimizar el rendimiento de su aplicación.
- Mejor experiencia de desarrollador: GraphQL permite una mejor experiencia de desarrollador con expresiones enriquecidas, una vista completa de los datos y experiencias extensibles.
- Lógica de obtención de datos distribuida y modular: los fragmentos de GraphQL permiten una separación clara de la lógica de la aplicación y la presentación. Los componentes que obtienen datos y los componentes que generan datos se pueden escribir y probar de forma independiente, sin superposición de responsabilidades. Esto también hace que los componentes sean más reutilizables.
- Almacenamiento en caché compartido incorporado por LDS: los datos de GraphQL están fuertemente tipados y descritos por un esquema formal. LDS aprovecha esta profunda comprensión de los datos para almacenarlos en caché de manera más eficaz y eficiente y para brindar garantías de consistencia que abarcan tanto los resultados de GraphQL como los que no son de GraphQL. LDS puede, por ejemplo, combinar y reutilizar datos de solicitudes anteriores de GraphQL y adaptadores de cable que no sean de GraphQL para satisfacer solicitudes posteriores sin solicitar datos del servidor, lo que mejora el rendimiento de la aplicación más allá de las ganancias de la agregación de datos de GraphQL.
- Permisos de usuario y seguridad: Al igual que con REST, cuando se ejecuta una consulta, GraphQL respeta los permisos de seguridad de nivel de campo, permisos de organización y CRUD de usuario.
- Compatibilidad con dispositivos móviles sin conexión: en entornos habilitados para dispositivos móviles sin conexión, las consultas de GraphQL se pueden evaluar con datos almacenados en caché localmente, lo que permite que los componentes utilicen consultas de GraphQL sin conexión. Esta capacidad es importante para nuestros clientes que operan funciones de misión crítica en condiciones de baja o nula conectividad, como áreas rurales, subterráneas y sitios de desastres. Las consultas sin conexión reflejan los cambios de borrador (creaciones y actualizaciones de registros) que aún no se han replicado en el servidor. Estos entornos de tiempo de ejecución también admiten el uso de consultas GraphQL para preparar la caché de datos local en preparación para el modo fuera de línea.
Los beneficios anteriores se suman a las funciones estándar de GraphQL, como predicados de consulta, parametrización en tiempo de ejecución mediante variables, fragmentos, alias y paginación.
Empezando
Para unirse a la prueba piloto y probar este adaptador en su entorno de pruebas o en su organización de preproducción, comuníquese con su representante de cuenta y pídale que lo nomine para la prueba piloto del adaptador de cable GraphQL.
Consulte las guías para desarrolladores:
Cómo usarlo
Usar el adaptador de cable GraphQL es fácil y directo. Solo necesita actualizar su organización a la versión más reciente de Salesforce (versión Spring '23). Así es como puede comenzar:
- Valida tu consulta. Utilice las herramientas de Altair , GraphiQL o Postman (con las API de Salesforce) para validar su consulta. Estos clientes le permiten iterar rápidamente en su consulta y garantizar que recupere exactamente la información que necesita su componente .
- Importe el adaptador. Importe el adaptador de cable GraphQL de Salesforce (
graphql
) y la función de plantilla etiquetada (gql
) en el código de su LWC.gql
identifica las consultas de GraphQL dentro del código fuente de su componente para que el marco pueda manejarlas correctamente.graphql
es el adaptador de cable utilizado para recuperar los resultados de su consulta GraphQL. - Invoque su consulta. Utilice el adaptador de cable
graphql
importado para evaluar la consulta de GraphQL y obtener los datos que necesita. Los datos se recuperan automáticamente y se devuelven a su componente. Los datos se pueden volver a emitir a su componente si LDS observa cambios en los resultados anteriores.
Consulte este proyecto pionero sobre cómo crear e implementar un componente web Lightning.
Próximos pasos
Recordatorio: Salesforce es una empresa que cotiza en bolsa y los clientes deben basar sus decisiones de compra en los productos y servicios que están disponibles actualmente.
Estamos comprometidos a continuar invirtiendo en GraphQL y el adaptador de cable GraphQL. Esto es lo que puede esperar en los próximos lanzamientos (se aplica la declaración prospectiva):
Verano '23:
- Adaptador de cable GraphQL (Beta)
- Compatibilidad con consultas agregadas en la API de GraphQL
Invierno 24 y más allá:
- Adaptador de cable GraphQL (GA)
- Compatibilidad con mutaciones en la API de GraphQL (piloto)
- Consultas persistentes
Únase a nosotros en TrailblazerDX
Únase a nosotros en TrailblazerDX , el evento para desarrolladores de Salesforce del año. Puede obtener más información sobre GraphQL, LWC y otras ofertas de tecnología y productos de Salesforce, y conocer a las personas que los crearon.
Vea estas sesiones y stands en TrailblazerDX:
- Discurso principal : Khushwant Singh demostrará cómo construir el negocio de su cliente con LWC y GraphQL.
- Sesión de trabajo: potencie sus LWC con GraphQL. Suvda Myagmar y Stephen Carraway exhibirán las ofertas de Salesforce GraphQL.
- Stand de LWC en Platform Park: Conozca a nuestros gerentes de producto y desarrolladores y vea la demostración.
Sobre los autores
Suvda Myagmar es directora de gestión de productos en Salesforce, apasionada por las plataformas de datos e IA. Le encantan las carreras largas mientras escucha audiolibros.
Mike Burr es un desarrollador de software principal en Salesforce con más años de experiencia en la creación de API de acceso a datos de los que le gustaría admitir. En su tiempo libre, incursiona en la automatización del hogar y ayuda a la banda de música de la escuela secundaria local.
Obtenga las últimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a través de Slack o RSS.
Agregar a Slack Suscríbete a RSS
…
Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://developer.salesforce.com/blogs/2023/02/now-in-pilot-graphql-wire-adapter-for-lwc.html