Подходит ли Ruby для разработки графического интерфейса?[закрыто]
-
02-07-2019 - |
Вопрос
Я подумываю о создании кроссплатформенного инструмента с графическим интерфейсом.Я отклонил 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.
Будучи программистом 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.