Мы, дизайнеры, живем в захватывающие времена. Новое поколение инструментов, созданных для цифровых медиа, медленно разрушает связи со старым миром. Пришло время укрепить связи между процессами проектирования и сборки, чтобы закрыть цикл. Дизайн учится на основе кода, а код учится на дизайне. Одним из проявлений этого взаимного обучения является контроль версий.

Контроль версий в процессе разработки продукта здесь, и он здесь, чтобы остаться.

Ранее я писала об управлении версиями проектов Sketch, в частности при помощи Abstract. В этой статье я поделюсь своими мыслями о 3 приложениях, которые управляют версиями проектов Sketch, все они основаны на Git.

Контроль версий является ключевым инструментом в рабочем процессе разработчика, но, что насчет дизайнера? Понятие нелинейная история, ветви и т. д. довольно чужды дизайнерам. Обычная работа дизайнера заключается в том, что вы постоянно переименовываете файлы, используя номера, инициалы члена команды, дату, время и т. п. Это коряво, но очень наглядно.

Краткий обзор: разные приложения, разные подходы

Abstract vs Kactus vs Plant

⚫️ Abstract

Размышляя над опытом работы с Git и с такими платформами, как LayerVaults или Folio, команда Abstract создала приложение, которое использует ключевые понятия рабочего процесса Git, упрощает их и представляет в графическом интерфейсе, специально созданном для визуальных файлов. Ограничивая функции Git, Abstract дает пользователям рабочий процесс, который не сложен для новичков и помогает дизайнерам использовать новый способ работы.

«Сила рабочего процесса на основе Git без всего багажа» — Джош Брюэр

🌵 Kactus

Подход Kactus остается верным исходному процессу, и переносит его на Sketch. Он не уклоняется от первоначальной терминологии и не пытается упростить функциональный инструмент.

Его самой захватывающей функцией является стремление объединить дизайнеров и разработчиков в общий рабочий процесс и общую платформу: GitHub. Разработчики уже полагаются на GitHub (или другой Git-клиент) в совместной работе над кодовой базой, а Kactus стремится привлечь разработчиков интегрированным процессом проектирования. Это открывает двери для некоторых интересных междисциплинарных возможностей (подумайте о создании файла Sketch с помощью кода, проектировании с данными, работе с копирайтерами), а также сделает дизайн более открытым. Это создаст интересные способы работы и вызовы для команды, но это пока только в перспективе.

🌱 Plant

В отличие от Abstract и Kaсtus, которые решили внедрить модель ветвления для совместной работы, команда Plant решила придерживаться только линейной истории. Используя известную парадигму загрузки / скачки изменений, Plant создал простое и элегантное решение, которое удовлетворит многих людей.

Подробный обзор каждого решения

Каждое приложение имеет свои особенности и потребует от вас изменить способ управления файлами. Plant имеет более простой рабочий процесс, но жертвует более продвинутыми возможностями, которые дает вам Abstract и Kactus.

⚫️ Abstract

Интерефейс Abstract
Слева: визуальное представление ветвей. Справа: подсказка для облегчения рабочего процесса.
Выйдя на стадию бета-версии этим летом, теперь он развивается полным ходом, адаптировав свои различные тарифные планы и активно работая над поддержкой непрерывных обновлений Sketch. Он требует, чтобы вы запускали дополнительное приложение и открывали свои файлы с помощью приложения Abstract.

(Вы также можете прочитать мою предыдущую статью, с более подробным обзором Abstract и его влияния на рабочий процесс проектирования.)

Сильные стороны

  • Стабильный продукт с частыми обновлениями и поддержкой новых версий и функций Sketch
  • Понятная новичкам терминология, вместо технических терминов, и четкие подсказки для облегчения рабочего процесса.
  • Визуальное представление активных ветвей и коммитов.
  • Обработка конфликта слияния: визуальные представления для разрешения конфликта.
  • Интеграция со Sketch Libraries: помечая файлы как «библиотеку», делает ее доступной напрямую для использования в других отслеживаемых файлах.
  • Просмотрите изменения в каждом обновленном артборде и оставляйте комментарии по тому же принципу, что и обзоры кода.
  • Автоматическая синхронизация: файлы автоматически синхронизируются с облаком, и вам не нужно скачивать или загружать изменения.
  • Возможность восстановления предыдущих коммитов

Недостатки

  • Abstract должен быть основой вашего рабочего процесса. Файлы должны быть открыты в самом Abstract, а не в Sketch или Finder. Это, к сожалению, занимает некоторое время, даже больше, если вы работаете с огромным файлом Sketch.
  • Производительность: после запуска крупномасштабного проекта в Abstract на ноутбуках наша команда испытали Sketch и Abstract. Они используют много ресурсов не только во время работы, но также при попытке открыть файлы. Не совсем понятна причина этого.
  • Автоматическая синхронизация: с большими файлами, многочисленными файлами или просто плохим подключением к Интернету синхронизация может занять много времени. В отличие от Kactus, который создает текстовую версию ваших Sketch-файлов для хранения в Интернете, а затем перестраивает их, когда вы приступаете к работе.
  • Коммиты выполняются на уровне файлов: изменения должны сохраняться для 1 или более файлов за раз. Abstract не позволяет выборочно это делать для страницы или артборда. У этого есть преимущества, но также и некоторые неудобства, в зависимости от того, как вам нравится структурировать ваши файлы.
  • Не визуальные структурные изменения часто обнаруживаются в Abstract и являются причиной отображения артбордов как «отредактированных», хотя никаких изменений не было сделано. Например, просто открытие страницы или клик по артборду, чтобы скопировать его, а затем сохранить файл, скорее всего, заставит Abstract показать его как «отредактированный» (gif)
  • Закрытая экосистема, размещенная на серверах Abstract: вы не можете хранить файлы на своих серверах, и система по-прежнему скрыта от мира, поскольку нет режима «публичный проект». Публичные проекты могли бы сделать Abstract ближе к истинному «GitHub дизайну»

Тарификация: $ 9/в месяц/на пользователя начальный план, $ 15/в месяц/на пользователя бизнес план. Корпоративный план появится в 2018 году.

🌵 Kactus

Интерефейс Kactus
Слева: визуальные различия в Kactus. Справа: предупреждение о конфликте слияния, визуальная обработка конфликта еще впереди.
Единственная альтернатива с открытым исходным кодом — Kactus имеет много возможностей для роста и улучшения. Проект еще не сформировался, чтобы вписаться в рабочий процесс проектирования, но по-прежнему соответствует малым проектам. Интересно, что создатель Kactus Mathieu недавно присоединился к команде Sketch, поэтому мы с нетерпением ждем развития Sketch и Kactus в лучшую сторону.

Сильные стороны

  • Внесите свой вклад: это программа с открытым исходным кодом, поэтому вы можете активно принимать участие в улучшении платформы. Предложите идеи для новых функций, оставляйте фидбек и сообщите о проблемах непосредственно на GitHub.
  • Интеграция с GitHub: централизация, где хранятся файлы проектирования и разработки, и использование функциональности GitHub. Вы также можете использовать организации и предприятие GitHub для проведения частных проектов. Проекты в противном случае являются публичными, и, таким образом, позволяют другим пользователям принять в них участие.
  • Благодаря тому, как Kactus записывает изменения в вашем файле, вы можете быть достаточно внимательны к деталям в каждом коммите и выбранном изменении уровня слоя, а не на уровне артборда или файла. Тем не менее, это может быть опасно, поскольку вы можете создавать ошибочные файлы Sketch (например, 2 слоя с одинаковым ID, но с разным контентом)

Недостатки

  • Требуется хорошее знание Git: не ознакомившись надлежащим образом с рабочим процессом и терминологией Git, команде дизайнеров будет сложно сразу переключиться на использование Kactus.
  • Интерфейс основан на десктопном приложении GitHub, первоначально созданном для кода, а не визуальных файлов. Он содержит очень мало визуальных сигналов и указателей для неопытных пользователей. Это, в сочетании с необходимостью понимать Git, обуславливает болезненную кривую обучения.
  • Конфликт слияния не обрабатывается визуально или так просто, как в Plant или Abstract. (Или это у меня что-то не так)
  • С бесплатной версией Kactus вы можете интегрироваться только с GitHub. Таким образом, единственный способ иметь закрытые проекты — это быть частью организации GitHub или компании GitHub.
  • Программа все еще на ранней стадии развития, я думаю, что приложение само по себе выиграет от размышлений, об изменении рабочего процесса дизайнера.

Тарификация: Бесплатно для публичных проектов, размещенных на GitHub, или используйте собственные тарифные планы Kaktus: премиальный план для частных проектов в размере $ 4,99, $ 11,99 за корпоративный план и поддержку альтернативного сервера Git (Gitlab, Bitbucket, .) или самостоятельного размещения.

🌱 Plant

Интерефейс Plant
Слева: загрузка изменений проекта в Plant (push). Справа: решение конфликта слияния с помощью Plant в Sketch.
Вместо того, чтобы требовать от вас запускать другое приложение на вашем компьютере, Plant интегрируется в Sketch через плагин, который отображается справа от интерфейса, без необходимости запуска другого приложения, такого как Abstract или Kactus. С помощью всего лишь нескольких команд и простого рабочего процесса, Plant, без сомнения — вариант с самым низким порогом освоения.

Сильные стороны

  • Использует плагин без необходимости в другом приложении и, таким образом, интегрируется более незаметно в ваш рабочий процесс, добавив только дополнительную боковую панель в Sketch.
  • После загрузки проекта файлы обрабатываются как обычные файлы: вы можете запускать их в Finder или Sketch и загружать изменения, когда они готовы.
  • Простой линейный рабочий процесс. С Plant ваша дизайн-команда заканчивает работу в одной временной шкале. Никаких ветвей и локальных коммитов. Рабочий процесс невероятно прост и многим будет знаком. Plant предложит вам написать сообщение о коммите при загрузке изменений, и если основная версия на Plant будет обновлена, это заставит вас обновить локальный файл, прежде чем вы сможете публиковать изменения. Это, по существу, типичный образ мышления «pull before pushing».
  • Конфликты слияния, разрешаются внутри самого Sketch, на уровне артборда. Чрезвычайно аккуратный способ решения конфликтов слияния, поскольку он действительно позволяет вам перемещаться по деталям, которые были изменены; вместо того, чтобы отрисовывать артборды, как это делает Abstract.
  • Plant также позволяет вам видеть ваш проект онлайн, просматривать артборды, коммиты и комментировать их.
  • Восстановление предыдущего коммита.

Недостатки

  • 1 проект Plant = только 1 Sketch-файл. Это означает независимое отслеживание каждого файла, а не набора файлов, как в Abstract, Kactus или рабочем процессе разработки.
  • Нет системы ветвления, хотя может быть для кого-то это вовсе не недостаток (в конце концов, мы обходились без нее до сих пор).
  • Возможность просмотра проекта на онлайн-платформе может быть не замечена, так как это направление не сильно развито. Без разветвления, все изменения автоматически принимаются без реализации более структурированного процесса «согласования».
  • На момент написания статьи программа была в стадии закрытого бета-тестирования, официальный релиз публичной версии состоялся в ноябре 2017.

Я только протестировала Plant на маломасштабном проекте, и мне любопытно попробовать его производительность с более крупной командой проекта и большими файлами. Если ваша команда разработчиков работает над одним ключевым файлом, а ветвление — это не тот рабочий процесс, который вы ищете, Plant может быть хорошим решением.

Тарификация: релиз состоялся 9 ноября 2017. Plant будет продолжать предлагать бесплатные планы (3 проекта, 5 пользователей); и анонсирована командная версия $ 12/в месяц (+ $ 6/за каждого дополнительного пользователя).

Вывод

Каждое из этих решений предлагает различный способ работы. Изменения трудные, но захватывающие. Мы находимся в поворотной точке, чтобы пересмотреть, как цифровые дизайнеры выполняют свою работу. Как каждый из них будет развиваться по мере того, как наши способы работы будут развиваться и станут более интегрированными с кодом?

В настоящее время я предпочитаю Abstract из-за его интерфейса и того, насколько легко привлечь новых участников к новому способу работы. Он также приближается к тому, на что я нацелен, чтобы принять наш рабочий процесс дизайн-команды. Тем не менее, я вижу Kactus в качестве возможности для внедрения более интегрированного рабочего процесса в мир разработки программного обеспечения и соответствующего дизайна. Что касается Plant, мне нравится его простота и разрешение конфликтов, но не нравится, отрыв от рабочего процесса разработки.

Обзор популярных инструментов управления версиями дизайна