Skip to content

Etiqueta: UX

Presentamos apex-mockery, una biblioteca de simulación de pruebas unitarias ☁️

Presentamos apex-mockery, una biblioteca de simulación de pruebas unitarias ☁️

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.

Presentamos apex-mockery, una biblioteca de simulación de pruebas unitarias | Blog de desarrolladores de Salesforce

Escribir pruebas sólidas es crucial para crear aplicaciones comerciales confiables y eficientes. En esta publicación, haremos un repaso de las pruebas unitarias y presentaremos apex-mockery , una biblioteca liviana de pruebas unitarias de Apex que lo ayuda a escribir pruebas unitarias de Apex verdaderamente desacopladas usando simulacros y aserciones. Compartiremos ejemplos de código para ayudarlo a comprender cómo puede usar la biblioteca para crear pruebas unitarias fáciles de entender y de ejecución rápida.

Un repaso a las pruebas unitarias

Antes de echar un vistazo a la biblioteca de Apex-Mockery, demos un paso atrás y analicemos algunos de los conceptos básicos de las pruebas unitarias desde un punto de vista independiente de la tecnología. Luego, veremos Apex y discutiremos por qué la mayoría de nosotros debería escribir pruebas unitarias en lugar de pruebas de integración.

Las pruebas unitarias están en la base de la pirámide de prueba.

La ingeniería de software abarca múltiples tipos de pruebas: unidad, integración, servicio, interfaz de usuario funcional, de extremo a extremo, aceptación del usuario y más. Como dice Martin Fowler , podemos representar un buen equilibrio entre estos tipos de pruebas dentro del alcance de un proyecto representándolos como una pirámide.

Las etiquetas (tipos de prueba) pueden cambiar, pero el principio clave aquí es que las pruebas que se ejecutan rápido y con frecuencia deben estar en la parte inferior de la pirámide. Estos son los más fáciles de implementar y mantener (por lo que cuestan menos). Luego, a medida que subimos a la cima, aumentamos la complejidad y el costo: las pruebas se ejecutan más lentamente y se vuelven más difíciles de implementar y mantener.

En el contexto de esta publicación y en aras de la brevedad, nos centraremos únicamente en las pruebas unitarias. Estos son los primeros que debe implementar en cualquier proyecto, y deben ser una prioridad en su estrategia de prueba.

Por definición, las pruebas unitarias están destinadas a probar la menor cantidad de código (una unidad) de un proyecto. Las pruebas unitarias solo deben basarse en la lógica pura y estar completamente desvinculadas de sus dependencias (otras clases) y límites (otros servicios, como almacenamiento de datos o servicios web). Las pruebas unitarias deben ejecutarse rápido; no requieren una configuración de prueba particular, como la inserción de datos en la base de datos, y requieren que simule las dependencias de la clase bajo prueba.

Escribir pruebas unitarias de Apex en lugar de pruebas de integración

Apex se beneficia de una estrecha integración con la Plataforma de Salesforce y, si bien esta característica es excelente para cosas como acceder rápida y fácilmente a la base de datos, difumina las líneas de separación de preocupaciones entre la lógica y los servicios. Como consecuencia, es muy fácil escribir pruebas de integración de Apex en lugar de pruebas unitarias. Por ejemplo, el código de Apex a menudo se prueba junto con la base de datos utilizando declaraciones @TestSetup y DML. Si bien estas pruebas de integración ayudan a lograr la cobertura, se basan en la base de datos y, por lo tanto, requieren más tiempo para ejecutarse que las pruebas unitarias "puras".

Como compartió Mitch Spano en su presentación de pruebas unitarias puras de Apex , la mayoría de las veces, no es necesario confiar en las pruebas de integración para probar capas de software de alto nivel, como controladores LWC, servicios y capas de aplicación. Gracias a la API de Stub de Apex lanzada en Spring '17, los desarrolladores pueden romper con esas dependencias en el contexto de las pruebas mediante la creación de su propia biblioteca/marco de pruebas unitarias o el uso de uno existente como apex-mockery.

Presentamos la burla del ápice

Como parte del trabajo de ingeniería de Salesforce, estábamos desarrollando un paquete administrado internamente y necesitábamos una biblioteca para escribir pruebas unitarias. Queríamos escribir pasos simples de "arreglar" (como en el patrón Arrange-Act-Assert ), escribir afirmaciones comprensibles y burlarnos de nuestras dependencias. Buscamos en todo el ecosistema una biblioteca fácil de leer y bien probada que pudiéramos usar para crear nuestro producto, pero no encontramos una combinación perfecta, por lo que decidimos escribir la nuestra. Estábamos tan contentos con la implementación final de la biblioteca que decidimos lanzarla como código abierto con el nombre apex-mockery .

La biblioteca apex-mockery proporciona una biblioteca de simulación simple, liviana y fácil de leer para Apex creada con la API Stub. La biblioteca está diseñada para que sea fácil de usar y brinde la mejor experiencia de desarrollador posible al generar simulacros y apéndices, configurar espías y escribir aserciones.

Lo guiaremos a través de un escenario de muestra para que pueda comprender el poder de la biblioteca con algunos ejemplos prácticos. Luego, le mostraremos cómo puede escribir pruebas para este proyecto de muestra en tres pasos:

  1. Crear simulacros y espías de métodos.
  2. Métodos de espionaje de trozo
  3. escribir afirmaciones

Ejemplo de escenario: pedidos de panadería y entrega

Considere el siguiente escenario de ejemplo: una panadería toma pedidos de pastelería y planifica las entregas utilizando un servicio dedicado. Los únicos datos que estamos considerando en el contexto de este escenario son los nombres de los pasteles y su fecha de entrega.

A continuación se muestra la implementación básica de nuestro escenario de panadería (el código completo está disponible en el repositorio del proyecto ).

Pastelería.cls

DeliveryService.cls

DeliveryServiceImpl.cls

Confirmación de pedido.cls

Panadería.cls

Ahora que hemos echado un vistazo a nuestro proyecto de muestra, echemos un vistazo a cómo podríamos escribir pruebas para el método Bakery.order .

Paso 1: crea simulacros y espías de métodos

Para funcionar, la clase Bakery necesita que se pase una instancia DeliveryService en su constructor. En un contexto de producción, el servicio se proporciona con una instancia concreta DeliveryServiceImpl de la siguiente manera:

Sin embargo, en el contexto de las pruebas unitarias, no debe usar una instancia de servicio real para garantizar el desacoplamiento. En otras palabras, DelivertServiceImpl se probará unitariamente por sí solo, por lo que no es necesario que pruebe las dos clases integradas juntas. Puede reemplazar la dependencia del servicio con un simulacro que implemente la interfaz DeliverService .

Así es como puede crear e inyectar fácilmente un simulacro de este tipo, gracias a apex-mockery:

Luego, su prueba necesita un espía, para que pueda controlar el comportamiento del método planDelivery y ejecutar aserciones en sus llamadas.

Ahora que tiene un servicio simulado y un espía en su método planDelivery , veamos cómo puede configurar su espía y ejecutar aserciones en él.

Paso 2: métodos de espionaje de trozo

Una vez que tenga una instancia simulada, puede controlar cómo se comportan sus métodos controlando sus valores de retorno y lanzando excepciones.

Utilice los métodos returns y throwsException para especificar un comportamiento predeterminado que se aplica a todas las llamadas a los métodos auxiliares. Luego, si es necesario, usa una combinación de whenCalledWith(<args>).thenReturn y whenCalledWith(<args>).thenThrow para aplicar comportamientos específicos a las llamadas a métodos que coincidan con los argumentos especificados.

Durante la ejecución de la prueba, apex-mockery comienza buscando una coincidencia en la configuración proporcionada por whenCalledWith . Si no se encuentra ninguno, vuelve a la configuración predeterminada ( returns o throwException ).

Veamos algunas situaciones comunes de configuración de stubs (ver más recetas ).

  • Devolver algo cada vez que se llame planDelivery
  • Lanza una excepción cada vez que se llama planDelivery
  • Devuelve algo cuando se llama con un argumento específico
  • Lanza una excepción cuando se llama con un argumento específico

Ahora que sabe cómo impulsar el comportamiento de su simulacro, puede agregar aserciones para probar su código.

Paso 3: Escribe afirmaciones

apex-mockery proporciona una API de afirmaciones fluidas. Tan pronto como comience su expectativa con Expect.that(mySpy) , tendrá acceso a varios métodos de afirmación. La biblioteca viene con una serie de afirmaciones de comportamiento fáciles de usar, como:

Si los comparadores de argumentos básicos no son suficientes para sus necesidades, también puede crear sus propios comparadores de argumentos personalizados .

Uniendo el ejemplo completo

Ahora que vimos los pasos individuales, terminemos y echemos un vistazo a nuestra prueba para el método Bakery.order . Observe cómo puede usar aserciones de burla de Apex, junto con las aserciones estándar de Apex de la clase system.Assert , en sus pruebas.

palabras de cierre

Esto concluye nuestro recorrido por las pruebas unitarias y la biblioteca de Apex-Mockery. Aprendió cómo las pruebas unitarias desacopladas son más fáciles de escribir y ejecutar mucho más rápido. Tener pruebas rápidas acorta el ciclo de retroalimentación del ciclo de vida del desarrollo, reduce la duración de la ejecución del flujo de trabajo de CI y acelera las implementaciones. Estos factores permiten a los desarrolladores implementar y ejecutar pruebas con frecuencia, mejorando así la calidad.

apex-mockery lo ayuda a dirigir su proyecto en esta dirección. Consulte el repositorio del proyecto para comenzar. Encontrará la documentación de la biblioteca con las opciones de instrucciones de instalación (instalación de fuente o paquete desbloqueado), algunas recetas de muestra y una guía de migración. ¡Feliz prueba unitaria!

Sobre los autores

Ludovic Meurillon es ingeniero de software en el equipo de Service Cloud en Grenoble, Francia. Empujó el código a la producción durante años, disfruta eliminando más líneas de código de las que agrega y prefiere la programación en pares sobre las revisiones de código y los productos de trabajo sobre el diseño perfecto. Sígalo en Twitter @LudoMeurillon o consulte sus proyectos de GitHub @ludomeurillon .

Sébastien Colladon es CTA e ingeniero de software en el equipo de Service Cloud en París, Francia. Le encanta contribuir a hacer del ecosistema de Salesforce un lugar mejor y disfruta aprender y trabajar con otros. Consulte sus proyectos de GitHub @ scolladon .

Philippe Ozil es un defensor principal de desarrolladores en Salesforce, donde se enfoca en la plataforma de Salesforce. Escribe contenido técnico y habla con frecuencia en conferencias. Es un desarrollador full-stack y disfruta trabajar en proyectos DevOps, robótica y VR. Sígalo en Twitter @PhilippeOzil o consulte sus proyectos de GitHub @pozil .

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

Seguir leyendo

Preparando tu aplicación para la actualización de color del Lightning Design System ☁️

Preparando tu aplicación para la actualización de color del Lightning Design System ☁️

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.

Preparación de su aplicación para la actualización de color de Lightning Design System | Blog de desarrolladores de Salesforce

En 2023, Salesforce planea actualizar los colores en nuestra interfaz de usuario de iluminación para que sean más accesibles para las personas con baja visión y para cumplir con las Pautas de accesibilidad de contenido web (WCAG) para el contraste de color que no es de texto y el contraste de color de texto. WCAG es un estándar de accesibilidad moderno requerido por numerosos órganos de gobierno de todo el mundo.

Para hacer esto, actualizaremos las plataformas en las que se crea nuestra interfaz de usuario Lightning: Salesforce Lightning Design System (SLDS) y Base Lightning Components (ambas versiones, Aura y Lightning Web Component). En estas plataformas, actualizaremos componentes, tokens de diseño, ganchos de estilo e íconos. Estos cambios no solo aparecerán en los productos de Salesforce, como Sales Cloud y Service Cloud, sino que también aparecerán en cualquier interfaz de usuario personalizada que haya creado con SLDS o Base Lightning Components.

Para obtener más detalles y ejemplos visuales de las actualizaciones, eche un vistazo a las publicaciones del blog de administración y noticias de Salesforce.

¿Cuál es el motivo de la actualización?

Con los colores actuales en Salesforce, los usuarios con problemas de visión tienen dificultades para reconocer los elementos clave de la interfaz de usuario, lo que no solo los frustra, sino que también les impide adoptar Salesforce. Además, Salesforce y sus clientes enfrentan problemas de cumplimiento clave debido a que un número cada vez mayor de gobiernos en todo el mundo, incluida la Unión Europea (UE) , requieren contraste de color de acuerdo con WCAG 2.1 . WCAG 2.1 ha requerido que los sitios web de las empresas usen texto que cumpla con un contraste de color de 4.5: 1 de su fondo y elementos funcionales que no sean texto que cumplan con un contraste de color de 3: 1 . Aumentar nuestro contraste de color para cumplir con estos estándares nos permitirá brindar una mejor experiencia a los usuarios con baja visión y permitirá a las empresas que usan nuestros productos evitar fuertes multas por accesibilidad.

¿Cuándo está ocurriendo la actualización?

Todos los íconos se actualizarán como parte del lanzamiento de Summer '23. Las páginas de inicio de registros seleccionados, incluidos los LWC incrustados en las páginas, se actualizarán como parte del lanzamiento de Summer '23. Todas las demás páginas, SLDS y los componentes básicos de Lightning se actualizarán como parte de la versión Winter '24.

¿Qué es lo que hay que hacer?

Si descargó íconos de Salesforce y seleccionó íconos específicos para usarlos como recursos estáticos, asegúrese de actualizarlos con los nuevos íconos . Si está utilizando nuestro paquete SLDS NPM , actualice ese paquete a la última versión para ver los cambios. Si tiene páginas personalizadas desarrolladas con SLDS, vea cuáles de los siguientes escenarios se aplican a su base de código y realice los cambios correspondientes.

1. Componente base Lightning/Aura

Utiliza un componente Lightning sin anulaciones adicionales. Su código podría verse como el Ejemplo 1 a continuación.

¿Qué es lo que hay que hacer?

  1. Nada. Las actualizaciones de color se realizan de forma gratuita a medida que Lightning Base Components implementa un plan SLDS .
  2. Se aplican excepciones a algunos componentes a continuación.

Ejemplo 1

<dx-code-block title language="html" code-block="
Save
«>

2. Componente personalizado con plano SLDS

Utiliza un componente personalizado que implementa un modelo SLDS y solo usa clases SLDS para diseñar. Su código podría verse como el Ejemplo 2 a continuación.

¿Qué es lo que hay que hacer?

  1. Nada. Las actualizaciones de color se realizan de forma gratuita si su componente implementa exactamente un modelo SLDS .

Ejemplo 2

<dx-code-block title language="html" code-block="

«>

3. Componente personalizado con plano parcial de SLDS

Similar a 2. Componente personalizado con modelo SLDS , pero en este caso, usa un componente personalizado que implementa parcialmente un modelo SLDS o usa más clases de SLDS para diseñar. Su código podría verse como el Ejemplo 3 a continuación.

¿Qué es lo que hay que hacer?

  1. Es posible que deba actualizar los colores en su CSS personalizado si ve regresiones visuales.
    1. Si existe un componente base Lightning para ese modelo y variante, recomendamos reemplazar su componente personalizado con el componente base Lightning.
      1. Si necesita personalizar el estilo de los componentes, le recomendamos que utilice los nuevos ganchos de estilo --slds para cualquier valor de color codificado. Si el valor de color codificado no tiene una coincidencia exacta en términos de ganchos de estilo, querrá considerar usar el gancho de estilo más parecido.
    2. Es posible que desee verificar si hay suficiente contraste de color para el componente antes de actualizar el valor codificado a un gancho de estilo.
  2. Los cambios de color en las clases de SLDS se realizan de forma gratuita. Debido a que los cambios se limitan al color, estas clases deberían continuar funcionando como se esperaba.

Ejemplo 3

<dx-code-block title language="html" code-block="

«><dx-code-block title language="css" code-block="/* CSS */
.my-class { color: #ccc;

En este caso, la clase de CSS personalizada .my-class anula un valor de .slds-button_neutral . Este valor no solo debe actualizarse para tener un mejor contraste, sino que toda la implementación también sería más fácil de mantener si se reemplazara con un componente base Lightning y luego se usara el enlace de estilo --slds-c-button-text-color para hacer una anulación accesible.

Nota: Si no existe un gancho de estilo para el valor codificado, recomendamos usar el gancho de estilo más cercano disponible.

<dx-code-block title language="html" code-block="
Save
«>

4. Componente personalizado con tokens o clases SLDS

Está usando un componente personalizado que usa directamente tokens SLDS dentro de CSS personalizado o usa clases SLDS en el marcado. Su código podría verse como el Ejemplo 4 a continuación.

¿Qué es lo que hay que hacer?

  1. Es posible que deba reemplazar los tokens que está utilizando en CSS personalizado con los ganchos de estilo global relevantes según sea necesario.
    1. Consulte el ejemplo 4 a continuación.

Ejemplo 4

<dx-code-block title language="html" code-block="

«>

En este ejemplo, el token t(colorBorder) está diseñado para bordes decorativos como tarjetas y divisores. Debe reemplazarse con un gancho de estilo que esté alineado con el plano del botón SLDS.

5. Componente personalizado con fichas personalizadas

Está usando un componente personalizado que usa tokens personalizados. Su código podría verse como el Ejemplo 5 a continuación.

¿Qué es lo que hay que hacer?

Recomendamos reemplazar tokens personalizados con ganchos de estilo SLDS cuando sea posible. Cuando use ganchos de estilo, asegúrese de usar ganchos que tengan el contexto semántico correcto. Por ejemplo, un gancho como --slds-g-color-border-base-1 solo debe usarse para bordes. Esto ayudará a garantizar que su producto siga siendo coherente con el estilo de Salesforce a medida que se produzcan futuras actualizaciones de color.

Si debe mantener su token personalizado por cualquier motivo, vuelva a verificar que su token personalizado no haya experimentado ninguna regresión visual.

Ejemplo 5

<dx-code-block title language="html" code-block="

«><dx-code-block title language="html" code-block="

«>

En este ejemplo, el token t(myBackgroundColor) usa un valor de color desactualizado de SLDS. El lenguaje visual Lightning actual ya no usa este color. El token personalizado debe reemplazarse con el color más parecido de la lista de ganchos de estilo. En este ejemplo, —slds-g-color-neutral-base-95: #f3f3f3 es el gancho de estilo SLDS más parecido.

6. Componente personalizado con valores codificados

Está usando un componente personalizado que usa un valor de color codificado como #444 o rgb(68,68,68) . Su código podría parecerse al Ejemplo 3 anterior.

¿Qué es lo que hay que hacer?

  1. Recomendamos reemplazar los colores codificados con ganchos de estilo si existe un color análogo. Al seleccionar tokens, asegúrese de usar tokens semánticos de manera que conserven su significado. Por ejemplo, --slds-g-color-border-base-1 solo debe usarse como el color del borde de los elementos del formulario. Si desea mantener su valor de color codificado, verifique que estos colores no hayan experimentado ninguna regresión visual.
    Nota: Los valores alternativos pueden permanecer como valores de color codificados.

7. Componente base con anulación --lwc

Está utilizando un componente Lightning o Aura base y está anulando un token --lwc para personalizar el estilo de uno o más componentes. Su código podría verse como el Ejemplo 7.

NOTA: Esta no es una forma recomendada de personalizar componentes y no hay garantía de que las personalizaciones realizadas de esta manera continúen funcionando.

¿Qué es lo que hay que hacer?

  1. Verifique si está anulando y --lwc tokens para cualquiera de estos componentes .
    1. Reemplace el token --lwc que se anula con el enlace de estilo actualizado --slds introducido.

Ejemplo 7

<dx-code-block title language="html" code-block="

«>

En este ejemplo, al anular —lwc-colorBorder a rojo, todos los bordes de los botones se vuelven rojos. El equipo de SLDS actualizó esta variante de componente para usar un enlace de estilo global, por lo que esta anulación dejará de funcionar. En este caso, simplemente use --slds-g-color-border-base-4 en el ámbito del selector para anular el color del borde.

Mejores prácticas

  • Reemplace los valores de color codificados de forma rígida con ganchos de estilo globales cuando sea posible (los valores de colores codificados de forma rígida están bien como valores alternativos).
  • Reemplace los tokens de diseño con ganchos de estilo global donde sea posible.
  • Reemplace los ganchos de estilo --lwc con ganchos de estilo globales.
  • Elija ganchos de estilo que correspondan al contexto de uso. Por ejemplo, al reemplazar el valor codificado de #747474 que se usa para un borde con un gancho de estilo, hay dos alternativas para elegir: --slds-g-color-border-base-4 o --slds-g-color-neutral-base-50 . Se recomienda usar --slds-g-color-border-base-4 para el contexto de estilo CSS de "border" en lugar de --slds-g-color-neutral-base-50 .
  • Use declaraciones var(..) y coloque valores de color codificados como respaldo en caso de que un navegador heredado no pueda leer el enlace de estilo o el token de diseño. Esto es opcional.
    • background: var(—slds-g-color-neutral-base-50, #747474);
  • Intente que sus personalizaciones de color cumplan con los estándares de contraste de color de texto y no texto de WCAG 2.1.

Más recursos

Sobre el Autor

Timothy Yeh es Gerente de Producto para Sistemas de Diseño en Salesforce, enfocado en ayudar a los clientes a construir una interfaz de usuario de mayor calidad más rápido al proporcionar sistemas sólidos de patrones.

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

Seguir leyendo

¿Cómo atienden las marcas de lujo a los compradores más jóvenes? Web3 y NFT

¿Cómo atienden las marcas de lujo a los compradores más jóvenes? Web3 y NFT

Marcas de lujo como Gucci y Balmain están liderando la industria minorista en el uso de tecnología como tokens no fungibles (NFT) y Web3 para conectarse con los clientes y ofrecer nuevas experiencias. La creación de experiencias exclusivas y la adopción de la necesidad de autoexpresión digital de los consumidores más jóvenes son tendencias minoristas de lujo que están dando forma a cómo la industria minorista más grande en general puede interactuar mejor con los clientes.

Hoy en día, la moda de lujo tiene menos que ver con el estatus y más una forma de autoexpresión. Gen Z y Millennials exigen formas más creativas de conectarse con sus marcas favoritas. Estos clientes favorecen la co-creación y la colaboración sobre el simple consumo. También son compradores conscientes que favorecen una mayor calidad y sostenibilidad, lo que influye en las marcas de lujo para que adopten el mundo de la reventa.

¿Nuevo en Web3?

Las tecnologías Web3, como blockchain, tokens y el metaverso, pueden ayudar a las empresas a profundizar las relaciones con los clientes. Vea cómo estas tecnologías pueden mejorar la lealtad del cliente y ayudarlo a lanzar líneas de productos digitales.

La adopción de tecnología como Web3 impulsa muchas de estas tendencias minoristas de lujo, pero no necesita ser una marca de alto nivel para crear este tipo de experiencia para sus clientes.

Nuevas formas de autoexpresión e identidad.

Todos tenemos una identidad digital. Su perfil de Linkedin, Instagram o Twitter son todas formas de identidad y canales para la autoexpresión.

Recientemente, hemos visto plataformas como Discord, Telegram y Roblox ganar popularidad. Y a medida que surjan más plataformas con Web3, las identidades digitales evolucionarán y la forma en que nos expresamos en ellas también lo hará.

En un informe reciente de Roblox Metaverse Fashion Trends , el 47% de los encuestados dijeron que usan la moda digital para expresar su individualidad. Y el 45% dijo que sus avatares representaban un personaje de fantasía. No es de extrañar que muchas marcas de lujo como Burberry, Gucci y Louis Vuitton estén experimentando.

A medida que las marcas exploran estas nuevas plataformas, es importante considerar la estrategia: mantenerse fiel a los valores fundamentales de su marca y cómo desea que sus clientes "vivan la marca".

“Los productos digitales desafían la cadena de valor del producto tradicional: desde el diseño hasta la producción, la distribución y el compromiso”, dijo Laura Puricelli, asesora de moda de lujo del metaverso. “Los activos digitales pueden ser infinitamente creativos, sin límites físicos en términos de materiales”.

Los modelos comerciales que se aplicaron a los productos físicos no siempre se traducirán en activos digitales. Es importante que las marcas consideren estos nuevos canales de compromiso y cómo las personas quieren expresarse allí.

Uso de Web3 y NFT para conectarse con clientes más jóvenes

Las marcas de lujo se enfocan en brindar experiencias memorables, compromiso personalizado y membresía para la lealtad a la marca. Esto es también en lo que las generaciones más jóvenes ponen más énfasis. Siguiendo el ejemplo de las tendencias minoristas de lujo, las marcas se están enfocando más en estas experiencias únicas, y menos en los programas de puntos, para ganar la lealtad de los consumidores más jóvenes.

Entonces, ¿qué papel juegan Web3 y NFT? En los últimos años, las empresas han utilizado proyectos de metaversos , realidad virtual y NFT para crear las experiencias de cliente seleccionadas que desean los compradores más jóvenes. A través de proyectos NFT, las marcas crearon comunidades con beneficios exclusivos y acceso temprano a productos y servicios. Las marcas encontraron nuevos medios de participación: la 'utilidad' de un token.

Por ejemplo, la marca de ropa Scotch & Soda lanzó 1000 NFT como parte de su iniciativa piloto Club Soda 3.0 , un tipo de programa de fidelización. Los poseedores de tokens reciben acceso exclusivo a eventos especiales y acceso anticipado a productos. El programa ayudó a atraer a una audiencia compuesta por un 30 % de nuevos clientes y 2000 identificaciones de billetera.

Para hacer esto, comenzaron a promocionar Club Soda 3.0 a través de sus canales de medios tradicionales y luego lanzaron un sitio de preventa. Los clientes que se registraron obtuvieron acceso a un canal de Discord, lo que reunió a estos defensores de la marca en una comunidad en línea.

El rumor funcionó, ya que acuñaron los 1,000 NFT de Founders Pass en el primer día. También ayudó a incorporar a sus consumidores que quizás no conocían antes las tecnologías Web3. Ahora han construido relaciones más profundas con sus clientes, quienes ahora son parte de una comunidad exclusiva.

Del mismo modo, marcas como Gucci, Moncler y Balmain han lanzado colecciones NFT que otorgan acceso exclusivo a un producto o evento físico.

Algunas marcas de lujo también ven esto como una puerta de entrada para atraer nuevos clientes a un precio más bajo. Otros tienen como objetivo crear valor para los poseedores de fichas a través de la creación conjunta y la colaboración. A medida que estas empresas continúan experimentando, estamos viendo cómo evolucionan casos de uso y experiencias más emocionantes.

Potenciando la co-creación y la colaboración

Los activos digitales y la prueba de propiedad han provocado un incendio en la economía de los creadores. Artistas, diseñadores e influencers han encontrado nuevas formas de ser recompensados, captando nuevas audiencias en nuevas plataformas.

Las marcas de lujo han utilizado esta tendencia para mostrar el talento a través de la cocreación y la colaboración. Marcas como Porsche, Salvatore Ferragamo y Nike están co-creando con sus clientes y creativos. A través de NFT, han lanzado colecciones creadas conjuntamente de obras de arte digitales y productos físicos.

Al aprovechar las tendencias minoristas de lujo de co-crear con creativos digitales y clientes, las empresas pueden lanzar productos más rápido. Las marcas también pueden capitalizar una tendencia más rápido de esta manera. Gucci x Superplastic y Balmain x Barbie son solo dos ejemplos. Esta colaboración no solo genera una mayor conciencia de marca, sino que las empresas pueden probar el éxito de una colaboración en pequeños lotes antes de lanzar una colección completa.

También puede usar la creación conjunta para mejorar sus conexiones con un segmento específico, definido por la propiedad de NFT.

Por ejemplo, Tiffany & Co. se dirigió a los titulares de Cryptopunk NFT con su colección NFTiff . La colección resultó en $ 12,5 millones de ingresos y se agotó en 20 minutos . Los titulares de Cryptopunk NFT obtuvieron acceso exclusivo para comprar un NFTiff, canjeable por un colgante personalizado de su avatar Cryptopunk.

Siguiendo el ejemplo de las tendencias minoristas de lujo, las marcas se están enfocando más en estas experiencias únicas, y menos en los programas de puntos, para ganar la lealtad de los consumidores más jóvenes.

Blockchain puede ayudar a autenticar productos de reventa

Se espera que los mercados globales de reventa de artículos de lujo superen los 51.000 millones de dólares para 2026, lo que significa que las marcas deben encontrar una manera de autenticar sus productos. Y a medida que los consumidores se vuelven más conscientes a la hora de tomar decisiones de compra, aumenta la demanda de trazabilidad de los insumos.

Blockchain ofrece una solución potencial. La tecnología permite un libro mayor inmutable, una forma a prueba de manipulaciones para registrar transacciones. Esto permite la trazabilidad de la propiedad y cuenta la historia de un producto. Podemos rastrear los orígenes de un producto, a través de la cadena de suministro y la propiedad, y garantizar la autenticidad.

Marcas como el relojero de lujo suizo Vacheron Constantin (relojero de lujo suizo) han utilizado la tecnología blockchain para certificar digitalmente la propiedad, lo que permite a los propietarios verificar el historial de propiedad e incluso asegurarlo.

Las regalías se pueden codificar en un certificado digital, de modo que, tras la transferencia, una parte de la transferencia vuelva a la marca.

A medida que los consumidores se vuelven más conscientes y crece el mercado de reventa, las regalías son una forma para que las marcas sigan obteniendo ingresos por sus productos y servicios.

Hemos visto cómo las empresas han utilizado nuevas estrategias para construir en Web3. Las marcas se están alejando de la comunicación unidireccional hacia la construcción de una comunidad para involucrar a los clientes.

Al liderar con la creación de valor y la creación conjunta, las marcas pueden crear lealtad y satisfacer las demandas de los consumidores más jóvenes.

Para los minoristas que están considerando estas tendencias y una estrategia Web3, les recomendamos:

  1. Considere el valor, la utilidad y el beneficio que está brindando a su cliente y diseñe teniendo en cuenta los valores fundamentales de su empresa.
  2. Considere la visión a largo plazo y el plan de participación. Considere una estrategia Web3 como una extensión de la experiencia del cliente y la estrategia de marketing.
  3. Sigue experimentando. Todos los días aparecen nuevos casos de uso e innovaciones. Las marcas que entienden el espacio tendrán una ventaja al interactuar con sus clientes.

Comience a construir la lealtad del cliente hoy

Descubra cómo puede lanzar su marca a nuevos mundos digitales. Cuando su estrategia Web3 se basa en tecnología segura y sostenible, puede profundizar la lealtad del cliente y unir las experiencias digitales y físicas.

Seguir leyendo

Cómo aprobar el examen de certificación de asociado certificado de Salesforce

Última actualización el 13 de septiembre de 2022 por Rakesh Gupta Como asociado certificado de Salesforce recién nombrado, estoy compartiendo mis experiencias de estudio con usted y quiero que sea el próximo en hacerlo. ¡Así que prepárate y sumérgete! 👉 Ya que estás aquí, es posible que desees

La publicación Cómo aprobar el examen de certificación de asociado certificado de Salesforce apareció primero en Automation Champion .

Seguir leyendo

Configure la integración continua para sus proyectos de Salesforce ☁️

Crear aplicaciones robustas es difícil. Los desarrolladores pueden esforzarse mucho en escribir código, probar y realizar revisiones por pares, pero los errores aún pueden afectar la producción. Para reducir este riesgo y mejorar la calidad del código, confiamos en la integración continua (CI). En esta publicación, presentaremos CI y sus conceptos básicos, luego discutiremos cómo […]

La publicación Configure la integración continua para sus proyectos de Salesforce apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Las 15 habilidades más importantes de atención al cliente con ejemplos

Hemos seleccionado las 15 habilidades de atención al cliente más importantes para ayudarlo a usted y a su equipo a prosperar en esta posición.

La publicación Las 15 habilidades de atención al cliente más importantes con ejemplos apareció primero en Groove Blog .

Seguir leyendo

Impulse la coherencia y aumente las habilidades de los desarrolladores con una lista de verificación de mejores prácticas para desarrolladores ☁️

Como desarrollador, líder de desarrollo, líder de tecnología o arquitecto técnico, ¿alguna vez ha tenido dudas sobre el código, por ejemplo, "¿Esa clase tuvo algún manejo de errores?" o "¿Ese método de prueba tenía alguna afirmación del sistema?" – ¿días después de que ya lo hayas aprobado? Todos hemos experimentado esos momentos en los que revisamos el código para adultos a un […]

La publicación Impulse la coherencia y aumente las habilidades de los desarrolladores con una lista de verificación de prácticas recomendadas para desarrolladores apareció primero en el Blog de desarrolladores de Salesforce .

Seguir leyendo

Accediendo a una base de datos PostgreSQL desde Node.js ☁️

Si ha estado siguiendo nuestra serie de blogs, "Introducción a Node.js para desarrolladores de Salesforce", habrá aprendido mucho hasta ahora sobre este popular tiempo de ejecución de JavaScript de código abierto. Nuestras dos publicaciones anteriores discutieron por qué Node.js es importante para los desarrolladores de Salesforce y lo guiaron a través de cómo construir su primera aplicación web usando Node.js. En esta tercera publicación […]

La publicación Accediendo a una base de datos de PostgreSQL desde Node.js apareció primero en el Blog de desarrolladores de Salesforce .

Seguir leyendo

Diseñador de experiencia de usuario (UX) ¡Un certificado imprescindible para todos los profesionales expertos en Salesforce!

Hace unas semanas, me presenté para el examen de certificación de Diseñador de experiencia de usuario certificado por Salesforce y, ¡sí !, ¡Aprobé! Después de anunciar en las redes sociales que ahora soy un diseñador certificado de experiencia de usuario, muchas personas me enviaron mensajes para preguntarme sobre mi experiencia y cómo prepararme para

El diseñador de experiencia de usuario (UX) de publicaciones ¡ Un certificado imprescindible para todos los profesionales expertos en Salesforce! apareció primero en Automation Champion .

Seguir leyendo

Estos 8 Autorespondedores mejoraron las conversiones en un 250%

Nuestras campañas de correo electrónico de respuesta automática más exitosas, ahora las suyas para que las tome (y aprenda).

La publicación Estos 8 Autorespondedores mejoraron las conversiones en un 250% apareció primero en Groove Blog .

Seguir leyendo

Cómo hablar con los clientes: 10 consejos para fundadores de empresas emergentes

Una guía para ayudar (con éxito) a los clientes mientras gestiona todas las demás partes de su negocio.

La publicación Cómo hablar con los clientes: 10 consejos para fundadores de empresas emergentes apareció primero en Groove Blog .

Seguir leyendo

Cómo hacer crecer su negocio: 15 pasos que realmente tomamos para crecer a $ 3.5 millones / año

Después de siete años, más de 2,000 clientes, y con un crecimiento de $ 0 a $ 290K + en ingresos mensuales, quiero correr el telón sobre exactamente lo que se necesita para hacer crecer un negocio. Bueno, malo y feo. Casi cierro todo. Fue hace dos años. Nuestro negocio se había estancado. Mi jefe de marketing tenía […]

La publicación Cómo hacer crecer su negocio: 15 pasos que realmente tomamos para crecer a $ 3.5M / año apareció primero en Groove Blog .

Seguir leyendo

5 elementos esenciales del servicio al cliente para guiar su negocio en crecimiento

Estos cinco elementos del servicio al cliente sientan las bases para el crecimiento de la empresa, el éxito del cliente y la felicidad del cliente en las pequeñas empresas en crecimiento.

La publicación 5 Elementos esenciales del servicio al cliente para guiar su negocio en crecimiento apareció primero en Groove Blog .

Seguir leyendo

Preguntas de la entrevista en profundidad basadas en escenarios sobre la integración de Salesforce

Generalmente, dominar los conceptos de integración resulta complicado para muchos desarrolladores de Salesforce. Este artículo cubrirá todas las preguntas de la entrevista sobre conceptos de integración de salesforce como Salesforce Connect, Streaming API, SOAP API, … Leer más »

Seguir leyendo

🏆 Por qué Dropbox es un Éxito « EGA Futura Software

⭐️ ¿Nunca has tratado de decirle a un amigo qué es la nube y cómo funciona? Es una tarea muy complicada y además de ser una tecnología relativamente nueva, pocas personas la conocen.

Seguir leyendo