Какая библиотека GUI лучше всего подходит для Ruby?

Какая библиотека GUI лучше всего подходит для Ruby?

Я бы предпочел кросс-платформенную библиотеку графического интерфейса, но в настоящее время меня интересует только Windows (Win32). Мне трудно найти что-то, что кажется простым в использовании. Есть ли?

19 ответов

Решение

Ruby Shoes (по какой причине) задумана как действительно простая структура GUI. Хотя я не знаю, насколько это полнофункционально.

Некоторые хорошие примеры кода можно найти в руководствах.

Кроме того, я думаю, что обувь способна взломать хакет, привлекательная среда обучения программированию для молодежи.

Вот хороший ресурс для вас:

http://en.wikibooks.org/wiki/Ruby_Programming/GUI_Toolkit_Modules

есть ссылки, сравнивающие в основном все из них.

Я начал с FXRuby, потому что у него была книга.

Недавно я начал использовать Qt в качестве инфраструктуры GUI для приложений на Ruby. Существует привязка, называемая QtRuby. Краткое руководство (только для окон) смотрите в этом посте.

Limelight Мне очень нравится театральная метафора.

Glimmer - интересная опция для пользователей JRuby, которая предоставляет очень рубиновый интерфейс для инструментария SWT. (SWT - это структура пользовательского интерфейса, стоящая за Eclipse, которая обеспечивает высокую производительность и знакомые метафоры пользовательского интерфейса, используя собственные виджеты на различных платформах, которые она поддерживает: Windows, OS X, Linux и т. Д.) SWT всегда привлекал меня как разработчика Java, но кодирование было крайне болезненным. Glimmer делает процесс намного более простым, делая упор на соглашении, а не на конфигурации, и оценивая DRYness и все остальные нормальные качества Ruby.

Еще одна полезная опция - это SproutCore, инструментарий GUI на основе Javascript с привязками Ruby, разработанный Apple. По крайней мере, демо-версии для него выглядят великолепно, а другие в inbox создали довольно привлекательное приложение поверх него. Лично я потратил довольно много часов, пытаясь запустить его на двух системах - одной Windows и одной Linux - и не преуспел ни на одной - я продолжаю сталкиваться с проблемами зависимости с Merb или другими частями Стек SproutCore. Но это достаточно интригующе, что я вернусь через несколько недель и попробую еще раз, надеясь, что проблемы будут решены в это время.

wxWidgets стоит проверить. Это хорошо поддерживается на Ruby через wxRuby. Для примера приложения взгляните на wxRIDE. Смотрите это по сравнению с другими инструментами. Вы также можете попробовать Anvil, который является своего рода фреймворком Rails-ish для работы с wx. Теперь это выглядит умирающим.

Если вы ищете кроссплатформенный графический интерфейс, я очень рекомендую использовать JRuby и Swing.

Кроме того, взгляните на библиотеку monkeybars, которая представляет собой библиотеку Ruby для создания приложений MVC с использованием JRuby и Swing, где вы также можете использовать превосходную среду IDE Netbeans для визуального построения вашего графического интерфейса.

Попробуйте http://visualruby.net/. Вы можете легко создавать свои формы с помощью дизайнера интерфейса glade, а затем писать чистый код ruby ​​для их анимации. Это намного проще, чем опции, упомянутые выше, потому что вам не нужно все вручную кодировать.

Вы можете увидеть примеры видео на сайте visualruby.

Если вы разрабатываете для Mac, MacRuby имеет лучшую библиотеку, руки вниз. Помимо быстрой работы, он имеет очень приятный графический интерфейс под названием hotcocoa. Кроме того, библиотека разработана Apple, использует в качестве основы классы Core Foundation и работает поверх среды выполнения Objective C с использованием LLVM. В двух словах, это очень быстро.

Есть привязки Ruby для QT и GTK, так что вы не ошибетесь с ними (они тоже переносимы).

Прагматичные программисты опубликовали мини-книгу по Ruby с QT и полную книгу по FXRuby, так что я думаю, что последний является еще одним хорошим выбором.

Обувь, хотя она проста в освоении и симпатична, довольно ситуативна и не предоставляет столько вариантов управления, как любой другой, поэтому если вы хотите создать что-то помимо простого пользовательского интерфейса (не ненавидите обувь, но она не зрелая) пока достаточно), я бы порекомендовал вам использовать один из более зрелых и проверенных наборов инструментов.

Используя интерпретатор ironRuby, вы получаете полную платформу.net, то есть вы можете кодировать Winforms и WPF(я пробовал только Winforms). Это потенциально кроссплатформенная, так как существует моноплатформа

Если вам интересно, RubyLearning предлагает курс по FXRuby и обуви. На самом деле, курс обуви проводится в настоящее время.

Наверное, самая простая обувь. Как помощник преподавателя в RubyLearning, я надеюсь, что у нас будут лучшие курсы для учащихся.

Некоторые люди застряли в установке FXRuby. Но у Shoes есть установщик для любых платформ (Windows, Mac и Linux).

У меня был очень хороший опыт работы с Qt, поэтому я определенно рекомендую его.

Вы должны остерегаться модели лицензирования, хотя. Если вы разрабатываете приложение с открытым исходным кодом, вы можете бесплатно использовать лицензионную версию с открытым исходным кодом. Если вы разрабатываете коммерческое приложение, вам придется платить лицензионные сборы. И вы не можете разрабатывать с открытым исходным кодом, а затем переключить лицензию на коммерческую, прежде чем начать продавать.

PS Я только что взглянул на обувь. Мне действительно нравятся декларативные определения элементов пользовательского интерфейса, так что это определенно стоит изучить...

Тк доступен для Ruby. Некоторые хорошие примеры (в Ruby, Perl и Tcl) можно найти по адресу http://www.tkdocs.com/

Используйте браузер как графический интерфейс, используя Watir, как в этом вопросе и ответе:

использовать браузер в качестве графического интерфейса в Ruby

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

Wxruby - это отличный фреймворк, простой и чистый. Попробуйте или используйте поляну с рубином (самый простой вариант)

Здесь есть обсуждение, которое может быть полезным.

Из моего собственного (ограниченного) воздействия я бы сказал, что обувь была самой веселой и, пожалуй, самой "легкой". Имейте в виду, однако, что выяснить, что было не так, когда что-то сломалось, может быть сложно (по крайней мере, это было для меня).

Для реального приложения, которое я планировал развернуть для реальных пользователей, думаю, я бы выбрал wxruby.

Другие вопросы по тегам