Хочется закрыть глаза. Это нормально. Цветной калейдоскоп, блестки, искрящийся звездный вихрь — красиво, но я знаю, что стоит за этой красотой.
Глубина. Ее называют «дип», но мне кажется, что по-русски слово звучит правильнее.
Сергей Лукьяненко, «Лабиринт отражений»

Калейдоскоп — всеми известная с самого раннего детства оптическая игрушка, выполненная, как правило, в виде трубки. Смотря в калейдоскоп и при этом поворачивая его, можно наблюдать за сменой красивых симметричных узоров — или, проще говоря, — изображений. Но игрушки были оставлены в детстве, и вот уже взрослые разработчики компании SOFA (известной своими приложениями Versions и Checkout, взявшими награды Apple Design Award) написали вполне серьёзный продукт для сравнения файлов всё с тем же названием — Kaleidoscope.

Kaleidoscope — приложение для нахождения различий между двумя изображениями или текстовыми документами. И в отличие от остальных 17 (по данным Википедии) приложений для сравнения файлов, что существуют для Mac OS X, Kaleidoscope в выгодную сторону отличается невероятно притягательным дизайном, удобством использования и расширенной функциональностью. Всё-таки сравнение изображений не входит в число стандартных функций другого подобного софта.

Не знаю, как у вас, а у меня сплошь и рядом лежат несколько ревизий одного и того же файла. Это то куча html-файлов, накопившаяся при экспериментировании в вёрстке, то целый ряд «фотошопных» *.psd-изображений с едва отличающимися слоями. При таком странном хобби, как веб-дизайн и вёрстка, этот рабочий бардак в порядке вещей, но с ним нужно как-то уживаться. Тут-то и помогает Kaleidoscope — он умеет находить различия в многих типах файлов, включая графические psd, jpg и png. Что и говорить про всякие там текстовые txt, doc, php, rb и прочие файлы — они тоже поддерживаются на ура!

ads

Ладно, давайте уже запустим Kaleidoscope и посмотрим, что же он из себя представляет.

При первом запуске будет предложено установить ksdiff — консольную утилиту для открытия файлов для сравнения в Kaleidoscope из командной строки — на радость трудящимся в консоли программистам. Кроме того сразу же можно будет интегрировать Kaleidoscope с Subversion-клиентами Versions и Cornerstone, а также бандлом TextMate. Помимо этого Kaleidoscope можно интегрировать с Subversion, Mercurial, Bazaar и Git для использования в командной строке вместо стандартной утилиты diff.

main

Сравнение текстовых файлов

Для сравнения двух файлов их нужно переместить в главное окно Kaleidoscope прямо из Finder, либо набрать в командной строке ksdiff путь_к_файлу_1 путь_к_файлу_2. После этой несложной операции в главном окне Kaleidoscope появляется две панели с содержимым файлов. Kaleidoscope анализирует файлы и подсвечивает отличающиеся фрагменты. Добавленные фрагменты выделяются зелёным, удалённые красным, изменённые фрагменты подсвечиваются фиолетовым цветом, а внесённые изменения внутри этих секций — тёмно-фиолетовым.

В самом верху окна Kaleidoscope располагается кнопка, с помощью которой можно поменять местами панели с текстом файлов, а также отображается путь к сравниваемым файлам. В правом нижнем углу окна находятся кнопки для быстрого перехода к предыдущим и последующим отличающемся фрагментам, а в левом нижнем углу — кнопки для переключения между тремя различными режимами просмотра: Blocks, Fluid и Unified (блочный, текучий и объединённый).

Подробнее о режимах

Режим Blocks
Режим Blocks пытается выровнять фрагменты двух текстовых файлов, чтобы они находились бок о бок. Для этого корректируется расстояние между текстовыми фрагментами, при необходимости добавляя пустое пространство. Данный режим упрощает визуальное сравнение файлов, но порой значительно увеличивает высоту документа.

1st

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

2nd

Режим Unified
Режим Unified, как несложно понять из его названия, соединяет два текстовых файла в один единственный документ. Одинаковые фрагменты объединяются, а изменённые — располагаются один под другим, при этом узнать, какой фрагмент какому документу принадлежит, можно в левом дополнительном информационном столбце.

3rd

Сравнение графических файлов

Начало точно такое же — перетаскиваете два изображения в Kaleidoscope и приступаете к сравнению с помощью различных режимов просмотра. Есть ли различные удобства? Да, есть. Например, изображения можно увеличивать и передвигать, растягивать до масштаба 1:1 или просто на всё окно.

1st_img

Выбор режимов

Для сравнения графических файлов есть четыре режима: Two-Up, One-Up, Split и Difference. Первый из них, Two-Up, одновременно показывает два изображения в двух блоках — горизонтальных или вертикальных, как того захочет пользователь. В режиме One-Up показывается одно изображение, но можно быстро переключиться на другое или же устроить слайд-шоу из этих двух изображений с заданным временным интервалом. Режим Split накладывает одно изображение на другое, при этом пользователь может строить прямую линию, которой одно изображение будет отделяться от другого — как это выглядит, можно увидеть на скриншоте снизу.

split

В последнем режиме Difference показывается одно изображение, на котором отмечаются различающиеся участки. В этом режиме можно мгновенно переключаться между двумя изображениями и настраивать прозрачность слоя с подсвеченными различающимися участками. Скриншот ниже даст понять суть этого режима.

diff_img

Про интеграцию Kaleidoscope с различными программами и различными системами управления версиями файлов я уже вскользь упомянул — там нет ничего сложного и сверхъестественного. Это и отличает программу от остальных в классе: никаких сложностей и излишеств — лишь удобный интерфейс и простая, понятная первоначальная настройка.

Благодаря такой простоте и отличному дизайну, Kaleidoscope входит в ряд тех программ, которые доступны лишь на Mac OS X, и благодаря которым хочется работать именно в Mac OS X. Неудивительно, если ещё раз вспомнить о том, что компания-разработчик SOFA за свои программы Versions и Checkout удостаивалась премии Apple Design Award в 2009 и 2008 годах.

С другой стороны, если вам, например, вовсе не нужно сравнивать графические файлы и тем более наплевать на красоту приложения, то проще и логичнее будет выбрать тот же diff, diff3 или DiffMerge. Они бесплатны, а вот за Kaleidoscope придётся отдать 29 евро. Прежде чем отдавать за программу деньги, её можно бесплатно скачать и пользоваться ей в течение месяца.