`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Вячеслав Колдовский

Sikuli: визуальное программирование для непрофессионалов

+44
голоса

Лет двадцать-тридцать назад будущее человека за компьютером виделось в образе профессионала, способного при помощи программирования решать различные прикладные задачи из области своих интересов. Сейчас об этом мало кто вспоминает, программирование считается уделом избранных, но очень даже зря – написать простенький макрос, заменяющий какую-нибудь постоянно выполняемую операцию, и экономящий в итоге вагон времени, под силу практически каждому, кто смог освоиться с ПК вообще. Но что-то все-таки людей останавливает: с одной стороны – отсутствие знаний и особого желания их получить, ну а с другой – не в меру высокий барьер для входа в когорту избранных носителей программистских знаний и навыков, существующий, не в последнюю очередь, и за счет того, что особого прогресса по направлению упрощения и приближения к среднестатистическому пользователю средств и методов программирования не происходит.

По этой причине считаю непозволительно обойти вниманием настоящий «луч света в темном царстве»: проект Sikuli, инициированный в MTI, предлагающий открытую кросс-платформенную среду разработки, которая ориентирована на программирование графического интерфейса при помощи… скриншотов.

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

На самом деле идея не нова, скриптовые платформы, ориентированные на программирование GUI (создание макросов, тестирование интерфейса) поддерживают такую возможность, но до Sikuli лично я не встречал ни одного проекта, где она поставлена во главу угла (“Sikuli” переводится с древнего индианского как «глаз бога», что недвусмысленно намекает на возможность видеть все на экране). А очень даже зря – если кто-то пытался автоматизировать какие-нибудь операции на своем компьютере при помощи того же Autohotkey, то он не понаслышке знаком с проблемой, когда простые с виду операции вроде «ткнуть мышкой туда-то, ввести в поле то-то» на самом деле запрограммировать вовсе непросто. И даже если их удалось запрограммировать без лишнего труда (например, при помощи AutoScriptWriter для Autohotkey), то это вовсе не означает, что работать они всегда будут так как задумывалось, поскольку привязка к координатам мыши – зло, а сопровождение малопонятного кода – еще большее зло.

Несмотря на то, что в текущий момент IDE Sikuli выглядит неуклюже, равно как и сам Windows-дистрибутив, который почему-то напрочь отказался устанавливаться на моей системе (Windows 7 x64) – помогло наличие ZIP-архива (сейчас это модно называть Portable-версией), все же в самой идее лично мне видится большой потенциал. Отмечу, что, несмотря на всю неуклюжесть, работают созданные скрипты очень даже неплохо, но что самое главное – выглядят понятно даже для домохозяек, которым не чуждо найти и обсудить свежий рецепт в Сети. К тому же в качестве скриптового языка в Sikuli используется Jython – вполне себе полноценный язык программирования, а сами скрипты можно выполнять «в один клик», передав в качестве параметра специальному батничку.

Дальше идет картинка с Sikuli IDE, в которой введен скрипт меняющий прокси-сервер в FireFox, а под ней – то же самое, но записанное с помощью AutoScriptWriter для Autohotkey. Что называется – почувствуйте разницу.

Так выглядит смена прокси в FF в IDE Sikuli

Рисунок – Так выглядит смена прокси в FF в IDE Sikuli

Та же самая задача решается в Autohotkey

Рисунок – А так – та же самая задача решается в Autohotkey.

+44
голоса

Напечатать Отправить другу

Читайте также

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

Интересно т.ж. можно ли Sikuli v.10 будет приспособить для политической реформации общества на основе принципов дополненнной реальности: вместо чтоб ходить голосовать за кандидата Х, выборщик может написать скрипт, распознающий и заменящий любого президента на Х во всех демонстрируемых ему изображениях:)

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

Ну, а со вторым - мое личное мнение состоит в том, что трансформацию надо проводить несколько в другом направлении: вместо опосредованной демократии и голосования "кто будет управлять" можно ввести прямую демократию путем постоянного голосования по всем волнующим людей вопросам, а от чиновников потребуется только испольнять глас народа. Условно говоря, утром во время традиционной чашечки кофе заходите на соответсвующий сайт, скажем, местного совета, и выбираете, куда потратить доступные совету деньги: на ремонт дороги, постройку школы и т.п.; то же самое с выделением земли - на магазин, на спортплощадки и т.д. Думаю, идея понятна.

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT