Salesforce avanza hacia una mejor experiencia de desarrollo (DX)
Salesforce DX busca mejorar la experiencia de desarrollo al abordar aspectos clave como el control de versiones, la entrega continua y los estándares abiertos.
Por Randalyn Hill-Coffer·Revisado por el equipo de Blue Canvas··5 min de lecturaCon este artículo, conoce la nueva visión de Salesforce para los desarrolladores, llamada Salesforce DX, que busca mejorar el proceso de entrega de excelentes aplicaciones al abordar áreas clave como el desarrollo basado en código fuente, la entrega e integración continuas, una nueva interfaz de línea de comandos y los estándares abiertos. También comprendí mejor la importancia del control de versiones y el historial de cambios para los desarrolladores y administradores de Salesforce.
Estas son nuestras 5 conclusiones clave:
- Salesforce DX es una nueva visión para los desarrolladores que busca mejorar el proceso de entrega de excelentes aplicaciones.
- El desarrollo basado en código fuente cobra cada vez más importancia para los desarrolladores de Salesforce, y el control de versiones con Git es fundamental.
- La entrega e integración continuas pueden reducir errores y ahorrar tiempo a los desarrolladores, y Salesforce DX busca hacer de esto una posibilidad real.
- La nueva interfaz de línea de comandos de Salesforce DX es un anuncio bienvenido para la comunidad de desarrolladores de Salesforce.
- Salesforce DX avanza hacia una actitud más abierta respecto a las herramientas, lo que fomenta un ecosistema sólido y dinámico a largo plazo.
Dreamforce ‘16 terminó, ¡y qué semana fue! Antes del evento, Alex compartió sus ideas sobre la etiqueta de Salesforce como la «tecnología más temida» en un artículo invitado en Salesforce Ben titulado «¿Salesforce es realmente la peor plataforma de desarrollo?”.
El artículo hacía referencia a la ya tristemente célebre Encuesta de Stack Overflow de 2015 que señaló a Salesforce como la plataforma de desarrollo de software «más temida», por delante de Visual Basic y Wordpress, entre otras. Aunque creemos que no es una evaluación del todo justa, consideramos que hay algunos problemas clave que deben abordarse, especialmente en las áreas de entrega continua y control de versiones – para permitir que los desarrolladores de Salesforce trabajen más rápido y tengan confianza al realizar cambios en su código y darles seguimiento.
Un día después de que Salesforce Ben publicara nuestro análisis, comenzó Dreamforce y tuvimos un adelanto de la nueva visión de Salesforce para los desarrolladores: Salesforce DX.
¿Qué es Salesforce DX?
DX significa «experiencia de desarrollo» y Salesforce DX es la iniciativa de la empresa para mejorar el proceso que siguen los desarrolladores y administradores de Salesforce para entregar excelentes aplicaciones.
Salesforce DX busca abordar varias áreas clave de preocupación en la plataforma Salesforce:
Desarrollo basado en código fuente
Tras años de enfocarse en el desarrollo mediante interfaces gráficas y los cambios declarativos a través de la interfaz web de apuntar y hacer clic, Salesforce finalmente acepta un hecho sencillo: ¡a la mayoría de los desarrolladores les gusta programar! Los cursos intensivos de programación están por todas partes, la enseñanza de informática comienza antes que nunca y las empresas invierten mucho para que los usuarios de negocio puedan personalizar sus aplicaciones con análisis a medida y funcionalidades ampliadas. Los resultados que puedes lograr con personalizaciones mediante interfaces gráficas se vuelven muy limitados cuando alcanzas cierto umbral. En ese punto, resulta más rápido e intuitivo modificar el código directamente. Hay una curva de aprendizaje, pero con buenas herramientas, las barreras de entrada son más bajas que nunca.
Sin embargo, los errores son inevitables, y por eso el control de versiones y el historial de cambios son importantes. Con DX, Salesforce anima a los desarrolladores a usar herramientas como GitHub para gestionar su código fuente. Es alentador escuchar a Salesforce hablar de esto abiertamente, ya que la falta de control de versiones ha sido una preocupación importante para desarrolladores, administradores y arquitectos durante años.
En Blue Canvas, estamos totalmente de acuerdo: el control de versiones con Git es fundamental para cualquier desarrollador o administrador de Salesforce.
Entrega e integración continuas
Para muchas organizaciones, la entrega continua se ha convertido en la forma estándar para crear y entregar software de alta calidad. Como la integración y las pruebas son automáticas y se realizan con tanta frecuencia, la probabilidad de descubrir errores en las últimas etapas del proceso de lanzamiento se reduce drásticamente. Acortar el tiempo entre la introducción de un error y su detección facilita enormemente encontrar y solucionar el problema. Esto no solo permite que los desarrolladores se concentren en crear, sino que también elimina el tiempo perdido en pruebas manuales o esperando a que terminen los despliegues.
Salesforce DX busca hacer que la integración y la entrega continuas sean una posibilidad real para los desarrolladores de Salesforce. Para lograrlo, incorpora la capacidad de crear organizaciones temporales: organizaciones de desarrollo optimizadas que te permiten probar tu código más rápido mientras desarrollas. Las organizaciones temporales se pueden crear mediante una API o la CLI e inicializar con un nuevo formato de configuración basado en JSON. Comienzan vacías y solo contienen el contenido que tienes bajo control de versiones.
En Blue Canvas, vivimos ese entusiasmo de primera mano: hoy, los despliegues tardan demasiado. Llevar tu código a un entorno de pruebas de aceptación de usuario (UAT) y luego a producción puede tomar fácilmente horas o más. Esto impide que los desarrolladores ejecuten pruebas y despliegues frecuentes y automatizados. Las organizaciones temporales permitirán probar los despliegues más rápido y animarán a los desarrolladores a usar el control de versiones. Por lo que sabemos, aún faltan unos meses para el programa piloto, pero tenemos muchas ganas de conocer más.
Nueva interfaz de línea de comandos (CLI)
DX incluye una nueva interfaz de línea de comandos que los desarrolladores pueden usar en lugar de las antiguas herramientas de Ant. La CLI te permite crear entornos de forma programática, recuperar y desplegar código fuente, ejecutar pruebas unitarias de Apex y mucho más. Lo interesante es que la nueva herramienta aprovecha la popular Heroku Toolbelt, una utilidad instalable escrita en Node.js.
En Blue Canvas, damos prioridad a las API y la CLI. En definitiva, es mejor crear una interfaz gráfica a partir de una buena API que hacerlo al revés. Al igual que el desarrollo basado en código fuente, ofrecer una CLI potente es una clara muestra de respeto por los desarrolladores y un anuncio bienvenido para la comunidad de desarrolladores de Salesforce. Es una gran noticia.
Estándares abiertos
Salesforce DX avanza hacia una actitud más abierta respecto a las herramientas. DX está orientado a herramientas como Selenium para pruebas y Git para el control de versiones, y ofrece a los proveedores de IDE un conjunto uniforme de herramientas para integrar en distintos editores. Se rumorea que gran parte de lo que vemos estará disponible como código abierto. Es muy positivo, porque fomenta un ecosistema sólido y dinámico a largo plazo.
Nuestra opinión sobre Salesforce DX
Nos entusiasma el anuncio de Salesforce DX. Demuestra que a Salesforce le importa la experiencia de sus desarrolladores y que ha escuchado más de cerca que nunca a su comunidad principal de desarrolladores. ¡Es alentador ver que los líderes de la empresa presentan una hoja de ruta de lo que consideran la próxima generación de la plataforma!
Todos los empleados de Salesforce con los que hablamos sobre DX en Dreamforce fueron increíbles. Se notaba su entusiasmo por estos nuevos cambios y nos fuimos con la clara impresión de que realmente quieren escuchar e incorporar más comentarios de los desarrolladores en su hoja de ruta.
También nos encanta la propuesta de crear herramientas basadas en API y con un fuerte enfoque en la línea de comandos. Con los años, los desarrolladores se han familiarizado mucho con las API y la línea de comandos, y creemos que DX es un gran paso para que puedan hacer el trabajo que les apasiona de forma rápida y sin complicaciones.
Nos encanta el concepto de las organizaciones temporales y creemos que hará que el desarrollo sea mucho más agradable.
Desde hace años está claro que Salesforce necesita mejores herramientas para los desarrolladores, y creemos que Salesforce DX es un paso en la dirección correcta. Nos entusiasma ver cómo DX evolucionará y tomará forma durante los próximos años, ¡y esperamos con ansias el programa piloto previsto para el próximo verano!
Un agradecimiento especial a @andyinthecloud por compartir sus comentarios sobre este artículo.



