Подходит ли Ruby для разработки графического интерфейса?[закрыто]

StackOverflow https://stackoverflow.com/questions/115501

Вопрос

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

Это было полезно?

Решение

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

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

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

Ruby — неплохой выбор для вашего обычного бэкэнда.

Другие советы

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

А Французский журнал опубликовал хорошую статью для начинающих о Руби/ГТК.

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

Руби имеет Обувь, но это может быть немного легковесно.

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

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

Есть также FXRuby который имеет преимущества книги прагматичного программиста, а также wxRuby который основан на платформе графического интерфейса wxWidgets C++.

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

Взгляни на Результаты опроса Ruby GUI 2008 и обсуждение здесь.Вам понравится это знать.

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

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

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

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

Если вы когда-нибудь зайдете на Mac, посмотрите РубинКакао.Очевидно, что это только для OSX, но я видел, как многие люди ломали голову, пытаясь заняться разработкой графического интерфейса для Mac, и если вы любите Ruby, RubyCocoa — это очень весело.

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

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

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

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

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

Проверенный ответ был написан до выпуска VisualRuby.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top