Предположим, что я пишу коммерческую коммерческую программу с закрытым исходным кодом, которая должна была быть развернута в следующих ситуациях: приложение для Windows Desktop, встроенное в .Net, элемент управления ActiveX, плагин Windows Netscape, приложение для Mac Desktop, построенное на Cocoa, плагин Mac Netscape , Java-апплет, размещенный в браузере. Было бы жизнеспособным с точки зрения совместного использования кода писать мои модели и классы контроллеров в общих исходных файлах Ruby и использовать MacRuby, IronRuby и JRuby для интеграции в различные промежутки времени? Мои классы классов предположительно будут написаны для использования WPF в Windows, Cocoa на Mac и любого подходящего для Java (SWT?).Жизнеспособность Ruby для кросс-платформенной разработки с помощью собственных наборов инструментов?
С моей точки зрения, самое главное здесь - долгосрочное обслуживание кодовой базы, и похоже, что Ruby близок к тому, чтобы быть языком первого класса на трех платформах, на которые я должен нацеливаться: .Net, Какао и Java, как любой язык. Я ошибаюсь в этом?
Во-вторых, важно избегать любых требований к вирусной лицензии на наш код. Я вижу, где JRuby выпускается под различными лицензиями; могу ли я предположить, что я могу распространять двоичные файлы, а лицензии не применяются к любым файлам Ruby, которые я пишу для собственного приложения (в отличие от модификаций их фреймворка).
Используется ли Ruby в любых известных настольных приложениях? Это было сделано раньше?
Как я и пытался сказать, не в моих полномочиях или силе убеждения не поддерживать одновременно все три платформы. Это либо написать 3 параллельных кодовых файла в Java, C# и Objective-C (возможно, в C# с Mono), либо попытаться найти общий язык знаменателя, который при первом предположении был ванильным Ruby. У меня нет опыта с Ruby (в идеальной вселенной я бы хотел сделать все в Cocoa), но казалось правдоподобным, что Ruby может стать лингва-франкой. –
Кроме того, vanilla Ruby больше расходится в трех вариантах, чем C++ между Visual C++ и GCC? Я написал десятки тысяч строк ванильного C++, и почти все они могут быть скомпилированы для того же поведения в Windows и OS X с несколькими досадными исключениями, большинство из которых (слава богу) заканчиваются ошибками компиляции. –
Gotchya ... mmm ... Я не могу сказать, что я достаточно разбираюсь в разработке платформы .NET, чтобы выполнить эту работу, хотя в последнее время я слышал, что реализация IronRuby была неполной. Но ваша идея кажется правдоподобной для Java, Cocoa и Интернета. – btelles