23 Jan

Разработка GUI приложений на Ruby.

Современные языки программирования представляют большие возможности для разработки различных приложений. Одним из вектором такого развития является возможность представлять разработчикам средства для создания удобного графического интерфейса для конечных пользователей(GUI или ГПИ). Порой хорошо задуманная и отлично выполняемая свою функцию программа, особенно в системах GNU/Linux, лишается определенного круга начинающих пользователей из-за отстутствия графического интерфейса.

В Ruby представлены несколько таких инструментариев, представлящих удобную и быструю разработку GUI приложений. Самыми популярными из них являются Ruby-Gnome2 (19%), Shoes (21%), wxRuby (16%). Наиболее популярен Shoes. Но например в Японии 56% GUI приложений разработаны на Ruby-Gnome2. Рекомендуеться работать с Shoes, так как по словам автора – он достаточно популярен, кроссплатформный, легок в установке и разработке.

Установка с репозитория:

1
sudo apt-get install shoes

Возможно скачать с офиц сайта версию novideo – пакет .sh, который легко запустить с консоли:

1
$ sh *novideo.sh

При этом shoes3 требует библиотеку ruby 1.9

Cуществует deb пакет, с которым можно познакомиться тут – https://github.com/zacharyscott/shoes-deb

Напишем простую программку, которая показывает время. Создаем файл programm.rb и заполняем его кодом:

Shoes.app do


Shoes.app do
  button("Press me") do
    alert Time.now
  end
end

Сохраяем и выходим. Запускаем из консоли:

1
$ shoes programm.rb

или через

1
$ sh *novideo.sh

Или создаем простой текстовой редактор:

Shoes.app(:width => 600, :height => 500) do #передаем параметры окна будущей программы
  stack do
    flow do
      @open_button = button "Open" # cоздаем кнопку "открыть"
      @save_button = button "Save" # создаем кнопку "сохранить"
    end
    @t = edit_box :width => 0.9, :height => 400 # размер окошки для ввода или редактирования текста
  end
  @open_button.click do # привязывем функции к кнопке "открыть"
    @t.text = File.read(ask_open_file) #копируем содержимое файла в окошко ввода текста (присваиваем обьекту @t содержимое файла)
  end
  @save_button.click do # привязываем функцию к кнопке "сохрaнить"
    File.new(ask_save_file, 'w') do |f| # Создаем новый файл для сохранения
      f.puts @t.text # вписываем в новый файл информацию с текстового окошка
    end
  end
end

Статистечкие данные и примеры кода с Beginning Ruby: From Novice to Professional, Second Edition 2009 by Peter Cooper.

Tweet about this on TwitterShare on FacebookShare on Google+Share on RedditShare on VK
  • Mysiters

    Спасибо за статью  если будет еще что про Shoes пишите