Подтвердить что ты не робот

Является ли Ruby хорошим для разработки графического интерфейса?

Я рассматриваю возможность создания GUI-инструмента, который я хочу быть кросс-платформенным. Я отклонил Java, поскольку лично мне не нравится Swing. В настоящее время я рассматриваю С# и использую Mono, чтобы сделать его кросс-платформенным. Однако мне интересно, могут ли новые кросс-платформенные языки, такие как Ruby, предложить мне достойную среду разработки графического интерфейса.

4b9b3361

Ответ 1

Короткий ответ: нет (потому что вы сказали кросс-платформу).

Длительный ответ: кросс-платформенный графический интерфейс - это старая проблема. Qt, GTK, wxWindows, Java AWT, Java Swing, XUL - все они страдают от одной и той же проблемы: полученный графический интерфейс не выглядит родным на каждой платформе. Хуже того, каждая платформа имеет слегка отличающийся внешний вид и, поэтому, даже если бы вы каким-то образом смогли получить набор инструментов, который выглядел родным на каждой платформе, вам нужно как-то закодировать приложение, чтобы почувствовать себя родным на каждой платформе.

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

ruby ​​не является плохим выбором для вашего общего бэкэнд.

Ответ 2

Ruby имеет Shoes, но это может быть немного легким.

Ответ 3

У вас будет Ruby/GTK, который позволяет использовать инструментарий GTK под Linux. Я думаю, что это должно работать под Windows и Mac Os (как для Gimp, Gaim и т.д.).

A французский журнал публикует хорошую статью для начинающих о Ruby/GTK.

Изменить: Согласно главной странице проекта SourceForge, Ruby-Gnome2 (aka Ruby/GTK) является кросс-платформенным (Windows, Linux, Mac Os).

Ответ 4

С Ruby вы можете использовать Tk, который представляет собой зрелый, кросс-платформенный инструментарий UI. Это набор инструментов GUI defacto для Python и Tcl, а также доступен для использования с Perl. В последних версиях Tk используются собственные виджеты, в которых рассматривается основная проблема, с которой Tk выглядит устаревшим.

Сайт с нейтральным текстом, посвященный Tk, http://www.tkdocs.com/, который включает примеры, закодированные как в Ruby, так и в Tcl.

Ответ 5

Там также FXRuby, который имеет преимущество в книге прагматического программиста, а также wxRuby, который основан на инфраструктуре GUI wxWidgets С++.

Ответ 6

- программист wxperl, я знаю, что wxruby тоже есть. Wx довольно быстро и имеет истинный кроссплатформенный внешний вид.

Ответ 8

Не уверен насчет Ruby, но вы упомянули Mono/С#. Я немного использовал Mono и GTK # в последнее время и очень впечатлен. Кажется, он довольно стабилен, и кросс-платформенная переносимость хороша.

Ответ 9

Ruby/GNOME2 работает очень хорошо. Вы можете использовать Glade для перетаскивания элементов окна и загрузки пользовательского интерфейса из вашего приложения Ruby.

Ответ 10

Вы посмотрели SWT на Java? Он использует собственные виджеты и намного проще получить с ним хороший интерфейс, чем Swing.

Ответ 11

Java по-прежнему является опцией, и это тоже хороший вариант. Если вы хотите, чтобы внешний вид и внешний вид использовали SWT/JFace. Вы действительно можете создавать мощные пользовательские интерфейсы с инфраструктурой RCP eclipse.

Ответ 12

Если вы когда-нибудь перейдете на Mac, посмотрите RubyCocoa. Это, очевидно, только для OSX, но я видел, как много людей царапают голову, когда ищут разработку GUI на Mac, и если вы любите рубин RubyCocoa, это очень весело.

Ответ 13

Я сильно поддерживаю Qt для разработки кроссплатформенного графического интерфейса. Это потрясающе, и API-интерфейсы очень интуитивно понятны. Внешний вид GUI выглядит почти родным с Qt, поскольку он использует элементы управления графическим интерфейсом, предоставляемые базовой ОС.

Хотя доступен базовый интерфейс с другими языковыми связями С++. Для Ruby RubyQt доступен. К сожалению, он очень незрелый.

Ответ 14

Я бы предложил посмотреть visualruby. Его IDE для создания GUI с использованием ruby. Он использует GTK в качестве графического инструментария, и приложения отлично смотрятся на меня на любой платформе. Вы можете увидеть скриншоты на Win7, WinXP, Ubuntu и Mac на странице скриншотов:

http://visualruby.net/site/Screen%20Shots.html

Вы можете легко попробовать его на каждой платформе, установив visualruby на разных платформах и запустив примеры программ.

Проверенный ответ был написан до того, как был выпущен visualruby.