Будет ли это жизнеспособным с точки зрения кода
делиться, чтобы написать мою модель и
Контроллер классов в общем Ruby
исходные файлы и использовать MacRuby, IronRuby
и JRuby для интеграции в
различные времена выполнения?
Вы сможете разделить код Ruby между тремя различными реализациями; все они - очень совместимые реализации Ruby. Имейте в виду, что JRuby и IronRuby нацелены на функции Ruby 1.8.6, JRuby также начинает работать с функциями 1.9, а MacRuby поддерживает только 1.9.
Вам потребуются специфичные для платформы части, которые не будут использоваться тремя реализациями, поскольку только JRuby может общаться с SWT, IronRuby с WPF и т. Д.
кажется, что Ruby как можно ближе к
будучи первоклассным языком на
три платформы, на которые я нацелился:
.Net, Какао и Java, как любой язык
Три реализации Ruby хорошо известны, поддерживаются постоянно растущим сообществом и поддерживаются устоявшимися компаниями. Хотя Ruby не является основным языком на любой из платформ, ни одна из реализаций не имеет серьезных ограничений, делающих использование Ruby невозможным, хотя вам может понадобиться использовать небольшое количество C # / Java / Objective-C для некоторых вещей. .
Прав ли я предположить, что могу распространять
двоичные файлы и лицензии не применяются
на любые файлы Ruby, которые я пишу для себя
приложение (в отличие от
модификации их каркаса.)
Ну, вам нужно самостоятельно прочитать лицензии, чтобы принять это решение, или спросить адвоката, которого вы знаете. При этом, поскольку ни одна из лицензий не является «вирусной», как GPL, вы должны иметь возможность свободно распространять свое приложение с двоичными файлами и лицензиями реализаций Ruby и решать, какую лицензию будет использовать ваше приложение, так как а также, платите ли вы деньги или нет. Но опять же, если вас беспокоит законность, спросите адвоката.
Использовался ли Ruby в каких-либо известных
настольные приложения? Это было
сделано раньше?
Я не знаю ни одного широко используемого настольного приложения, использующего Ruby, но я знаю пару приложений, использующих IronPython для Windows, таких как Blaze и Resolver One ; их методы развертывания будут одинаковыми для IronRuby.