LXF132:Что за штука

Материал из Linuxformat.

Перейти к: навигация, поиск

Что за штука… Quickly?

Пол Хадсон представляет быстрейший, простейший и непримиримейший метод для постижения этой штуки, называемой программированием.
  • Хм, опять о программировании. Мало, что ли, о нём говорилось?
Но ведь мы все любимп рограммирование – многие именно из-за этого и пришли в мир Linux. На сейраз о Mono ни слова!
  • В самом деле?
Ну да! Quickly – ух ты! – построен вокруг Python, по крайней мере сейчас. Но это не просто отдельный язык программирования, инструментарий для пользовательского интерфейса или система контроля версий: проект Quickly задуман как мощный комплекс автоматизации практически любых процессов.
  • Нет уж, давайте о программировании, а не об этих, как вы их там назвали: я как-то не готов к разговору о них.
Не бойтесь: пока что Quickly – это именно средство программирования. У него немало сходства со стапельными [scaffolding] инновациями, представленными Ruby on Rails несколько лет назад.
  • Я сроду не пользовался Rails, и для меня это пустой звук. Что это за стапельные инновации?
Ну, пускай вам нужно написать простую программу для чтения RSS с графическим интерфейсом на GTK, причем на Python. Для этого придётся установить сам Python, библиотеки разработчика GTK, некоторые библиотеки XML (чаще всего libxml2), затем составить базовый код только для того, чтобы подготовить GTK к полезной работе. Возможно, понадобится установить и Glade (дизайнер пользовательского интерфейса GTK), затем собрать базовую оконную оболочку вашей будущей программы.
  • Ну и что здесь плохого?
Это не плохо, но скучно. И много повторных действий. А теперь Quickly их отменяет: после его установки командой sudo apt-get install quickly отовсюду будет автоматически стянуто около 40 МБ зависимостей, создающих базу для программирования. То есть, пользуясь Quickly при разработке приложений, вы получаете нечто вроде стапелей – строительных подпорок вашего приложения, включая подготовку GTK и, при желании, Glade для программирования интерфейса.
  • Да Glade настроить не так уж и трудно...
Речь не о тяжести труда, а о быстроте: Quickly сворачивает час нудной работы в единственную команду quickly create ubuntu-project.
  • Стоп, вы, кажется, упомянули Ubuntu? Я распрощался с ним после того, как там без моего ведома переставили все кнопки.
Quickly – это проект Canonical, что становится ясно вскоре после начала работы в нём. Вспомните о первой версии Ubuntu: там был один браузер, один офисный пакет, один текстовый редактор – и так далее. Разработчики сами решали, что будет лучше для пользователя, и для того времени это было революционным решением.
Это характерно для методологии Ubuntu. Несколько месяцев назад глава Canonical Марк Шаттлворт выразился так: «Мы намерены занять непримиримую позицию; будем применять основные принципы проектирования и сами отвечать за результат». Quickly следует тому же курсу по части программирования: ради ускорения процесса некоторые вещи выбирают за вас.
  • И что выбирают?
Как я уже говорил, Python. А также GTK и Glade. В качестве системы контроля версий предлагается Bazaar, а для обнародования своей программы можно воспользоваться Launchpad, специальным репозиторием Ubuntu.
  • Что-о?! Ненавижу GTK! И Bazaar тоже!
Имеете право. Это распространённое следствие непримиримых позиций – не каждый захочет взять Quickly на вооружение прямо сейчас. Но те, кто способен примириться с чужим выбором, существенно нарастят продуктивность.
  • То есть те, кому это не нравится, могут выйти вон?
Отнюдь нет. Предопределения касаются только шаблона ubuntu-project. А вы можете создать собственный шаблон, включить в него всё, что угодно, а ненужное зачеркнуть: Glade, Bazzaar или даже сам Python (хотя я и не пойму, за что...).
  • А если я применю Quickly, то буду навечно к нему прикован?
Опять нет. В отличие от Mono или Vala, Quickly не создает зависимости от кода или среды времени выполнения: это только средство сборки остова для готового проекта, само это средство можно перестраивать в широких пределах. Если вы однажды решите дать Quickly отставку, на здоровье – ни один проект от этой системы не зависит.
  • Предположим, я сживусь с Quickly... Похоже, он помогает только на начальном этапе. А будет ли польза от него на более поздних стадиях проекта?
Вы удивитесь: будет! Смирившись с Bazaar, вы с ходу получите мощную систему контроля версий (отслеживания истории ваших файлов), безо всяких усилий. Это развитый инструмент, который сохраняет и регистрирует каждый сделанный вами шаг. Если вы поймёте, что сделали ошибку, и захотите вернуться к прежней версии, Bazaar вам поможет, хотя не помешает сопровождать сделанные изменения комментариями типа «удвоил количество примочек в файле foobar.py».
  • Круто, конечно, но система контроля версий меня не впечатляет. Что ещё?
Как вам нравится создание пакета Debian одной командой? Правда, придётся ещё установить пакет devscripts, да и сама команда выполняется где-то с минуту. Но согласитесь: разве не здорово так просто передать свою программу другу? Достаточно отправить электронное сообщение с Deb-пакетом, который для вас соберёт Quickly!
  • Но я мизантроп — живу как сыч, и у меня нет друзей!
ОК. Ну, не совсем ОК – это всё-таки странно. Но вы все равно можете подарить свою работу людям: наберите простую команду quickly release для выгрузки вашего пакета на Launchpad в виде персонального архивного пакета (PPA), и назавтра проснётесь знаменитым.
  • А если меня не устраивает Launchpad?
И снова вопрос выбора. Не вашего выбора, а автора шаблона ubuntu-project в проекте Quickly. Если он вам не нравится – создайте свой шаблон, включив в него всё, что захотите.
  • Это сложно?
Индивидуально. Шаблоны в Quickly – просто рабочие скрипты, их можно писать на Python, Perl или на чём хотите. Простейший метод сборки собственного шаблона – загрузить готовый (лучше всего ubuntu-project, как наиболее универсальный) и изменить в нём участки, которые вас не устраивают. Скомандуйте quickly quickly ubuntu-template my-awesome-template – и меняйте себе. Хотите по умолчанию Mono или C# – флаг вам в руки!
  • Вы вроде сказали, что новый проект сгодится не только для программирования?
Да, я не вижу причин, по которым нельзя скроить шаблон для чего-нибудь иного. Например, если вы постоянно пользуетесь одним и тем же набором файлов для издания ежемесячного бюллетеня, Quickly послужит каркасом для сборки каждого нового номера.
  • Хм, ладно. Попробую. Не обещаю, что мне понравится, но попробовать можно. Не дадите ли пару ссылок для начала?
Установив Quickly, наберите команду quickly tutorial ubuntu-project – загрузится краткое вводное руководство. Существует видеоролик, разработанный авторами Quickly, который наглядно описывает процесс создания (несколько рудиментарной) программы: http://www.youtube.com/watch?v=dx93U10Kkro.
  • Рудиментарной? А подробного руководства, с пошаговым прохождением всего процесса, разве нету?
Пока нет, но мы подготовим его специально для вас в одном из следующих номеров – не пропустите!
Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию