Una paso más cerca de encontrar ‘el elegido’

Abstract vs. Plant, una guerra abierta por el control de versiones

Hace poco hablaba de ‘Cómo el control de versiones cambió mi vida’ pero seguramente tú, al igual que yo, antes de encontrar una herramienta dedicada a este tema ya habrás pasado por distintas fases para organizar tu propio VCS (sistema de control de versiones). Estoy convencido de que todos hemos pasado por las infinitas (no finales) versiones finales de un archivo.

Esto es una simulación. Cualquier parecido con la realidad es pura coincidencia.

Y diría más, estoy casi seguro de que habréis tratado de gestionar todo usando Google Drive o Dropbox. Estas herramientas son útiles si queremos restaurar un archivo en el que puede que la hayamos cagado o si hemos perdido alguna mesa de trabajo por el camino pero la realidad es que ninguno de estos métodos es efectivo o está diseñado para hacer un verdadero control de versiones.

Así que desde este punto de necesidad personal, tuve que empezar la ardua tarea de encontrar LA HERRAMIENTA (léase con mucho reverb), empezar a probar distintas soluciones en pruebas locales o proyectos pilotos y ver si tenían el potencial para escalarla a todo un departamento. Y como siempre pasa, siempre suele haber alguien que ya ha pasado por el mismo punto que tú así que comencé a investigar, por ejemplo, cómo lo hacían otras empresas, busqué por todo internet en general y por Medium en particular y, en este último, encontré varios artículos que hablaban sobre buenas propuestas como Abstract, Kactus or Plant.


Después de una criba inicial de herramientas, destiné unos días para investigar a fondo lo que cada una me ofrecía. Es probable que sepáis que finalmente me quedé con Abstract. Creo que es la que mejor se adecuaba a las necesidades de mi workflow y los proyectos en los que intervengo pero como hice una pequeña recapitulación comparativa de las características clave que yo buscaba voy a dejarla por aquí por si acaso a alguien en la misma situación le pudiese resultar útil.

App vs. In-app

  • Abstract es una aplicación con versión web. Los archivos de Sketch tienen que abrirse desde el propio programa, en lugar de Sketch o Finder (por lo tanto, de ahora en adelante, Abstract debe ser el inicio de tu flujo de trabajo). Sin embargo, una vez que estés en Sketch verás la Snackbar en la parte inferior de la pantalla desde la que podrás gestionar todo.
  • Plant es un plugin de Sketch con versión web. Al igual que Craft, Plant se añade automáticamente a Sketch en un panel lateral con lo que es muy fácil integrar su uso en tu workflow.

Sincronización

  • Abstract funciona en segundo plano y, de vez en cuando, guarda archivos temporales automáticamente. Es bueno porque puedes seguir editando otros archivos (siempre que no sean de la misma rama) y luego volver a confirmar los cambios en cualquier momento.
  • Plant necesita que pushees los cambios al repositorio y, hasta ahora, no permite commitear solo las mesas de trabajo seleccionadas.

Gestión de las librerías

  • Abstract es 1 proyecto con múltiples ramas y múltiples archivos de Sketch. Es la interpretación ‘lite’ del verdadero poder de Git; tú puedes comenzar a trabajar en una feature (rama) y luego abrir diferentes líneas de trabajo (sub-ramas) que pueden evolucionar de forma separada entre sí y fusionarse con la rama de developer (incluso en el Master) en el futuro.
  • Plant es 1 proyecto con varios archivos de Sketch. Al contrario que pasa con Abstract, Plant te mostrará solo una línea de trabajo lineal, en la cual el equipo de diseño puede trabajar cargando / descargando cambios. Pero todo sin ramas, ni commits locales.

Auto-guardado vs. guardado manual

  • Abstract te permite guardar localmente y luego los archivos se sincronizan automáticamente a la nube.
  • En Plant, necesitas acordarte de subir (pushear) o descargar (pullear) los cambios cada vez que quieras trabajar en tu proyecto.

Revisión de cambios

  • En Abstract puedes resolver conflictos visuales y no visuales dentro de la aplicación. Además, puedes fusionar dos ramas y unir automáticamente esos archivos de Sketch en un solo archivo o fusionarse con el Master.
  • Por el contrario, en Plant debes resolver conflictos dentro de Sketch. Una forma intuitiva de resolver conflictos a nivel de mesa de trabajo ya que realmente te permite identificar los detalles que han cambiado.

Revisión cambios con tu equipo

  • En Abstract, cuando hayas terminado tu trabajo puedes modificar el status de tu rama con un cambio de etiqueta y pedir a tus compañeros de equipo que revisen los cambios.
  • Por el contrario, en Plant, no puedes realizar commits locales. Debes hacerlos a través de la versión del sitio web y no tiene una notificación directa al resto de miembros.

Librerías de Sketch

  • Después de marcar tus archivos de Sketch como ‘biblioteca’, Abstract los transformará para que estén disponibles para usarlos como bibliotecas enlazadas. Cualquier modificación posterior en el Master, se notificará automáticamente a través de una notificación contextual (tal como lo hace Sketch ahora) para a continuación aplicarlos localmente a cada símbolo afectado.
  • Con Plant, también tendrás la oportunidad de compartir bibliotecas en todo tu proyecto pero primero debes cargarlas dentro de Sketch.

Just do it!

Después de todo esto, lo único que puedo decirte es que no importa qué herramienta uses mientras incorpores un VCS en tu día a día. Abstract fue mi elección. Es una buena opción que veremos a ver cómo evoluciona pero si eres ese tipo de diseñadores en búsqueda constante de herramientas que faciliten y mejoren tus procesos de trabajo, no pierdas de vista estas dos herramientas.


Cobarde pecador!

Puedes seguirme la pista en Medium, Twitter y Linkedin.