2009-10-31 2 views
3

Я занимаюсь разработкой приложений на базе Windows в течение длительного времени, и большинство моих нынешних клиентов по-прежнему хотят использовать настольное или клиент-серверное приложение Windows. Можно ли использовать Ruby для таких приложений, в отличие от своей основной цели - быть языком веб-программирования?Может ли Ruby использоваться для разработки простых приложений Windows?

ответ

11

Ruby не является, прежде всего, языком веб-программирования, хотя Ruby on Rails, безусловно, подходит для веб-разработки. Ruby - это язык сценариев общего назначения.

Каркасы FXRuby и WxRuby являются наиболее полнофункциональными графическими интерфейсами для Ruby. Вы можете писать приложения в Ruby, а затем сгенерировать исполняемый файл Windows. Рамки являются кросс-платформенными, поэтому вы можете также запускать приложения, написанные на них, на других платформах, таких как Linux или Mac OS X.

Есть также несколько других менее популярных подходов, таких как QtRuby и Shoes, и вы можете даже используйте IronRuby (реализация Ruby для CLR), чтобы написать приложение .Net.

+0

Как вы создаете исполняемый файл? – Geo

+0

rubyscript2exe сделает это. –

+0

Могу ли я разработать приложение Windows Phone в Ruby, так как RubyMotion помогает разрабатывать приложения для Android, iPhone. – AbhimanyuAryan

2

Да, вы можете. Ruby - это полный скриптовый язык. Вы можете начать с Ruby language homepage, чтобы увидеть доступные возможности и библиотеки.

Однако, только потому, что вы можете это не значит, что вам нужно. Перед тем, как перейти на Ruby и использовать Ruby для проекта, посмотрите, может ли Ruby дать вам то, чего не могут другие языки, или если есть какие-либо недостатки в использовании Ruby.

1

На Mac вы можете использовать Ruby Cocoa lib для создания (что-то вроде) собственных приложений. Если вы хотите нечто большее, чем кросс-платформу, тогда вы можете рассмотреть упаковку, такую ​​как обувь или qt.

Qt toolkit кажется самым популярным способом сделать это. Веб-сайт: http://www.darshancomputing.com/qt4-qtruby-tutorial/

Я сейчас пишу небольшое приложение в обертке под названием Обувь. Кажется, это делает так же просто, как пирог для создания оконных приложений в рубине. http://shoes.heroku.com/ - это веб-сайт.

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

0

Вы должны смотреть на IronRuby - WPF и Windows Forms оба поддерживаются:

4

Рубин является объектом общего назначения ориентированный язык сценариев. Ruby on Rails - это структура веб-приложений. Ruby предшествует Rails примерно на десять лет. Не путайте их.

1

Ruby может использоваться для разработки приложений с графическим интерфейсом, будь то Windows или кросс-платформенный.

Для целевых клиентов Windows вы должны посмотреть на работу, выполняемую с помощью IronRuby, поскольку они имеют хорошую интеграцию с платформой .NET в целом и с Silverlight, если вы хотите делать приложения, которые могут связывать веб-сайт и рабочий стол. В этот момент IronRuby можно использовать для разработки для Windows Presentation Foundation (WPF) или WinForms.

Для кросс-платформы у вас есть рубиновые крепления для QT, FOX и другие.

1

Я знаю, что эта ветка устарела, но для будущих ссылок на тех, кто ищет варианты использования Ruby для графического приложения, не используйте QtRuby. Я разработал проект для школы примерно через неделю, полностью функциональный и красивый, только чтобы узнать, что я не смог его выслать. Просто не было возможности упаковать и распространять приложение, не заставляя пользователей имитировать вашу точную среду (установить все зависимости от gem, создавать библиотеки разработки Qt и т. Д.). Я попытался с помощью:

  • Crate: мол, кросс-платформенный, но я нашел только 1 пример использования, что написано в 2008 году из ~ 2 часов прибегая к помощи, и пример в основном охватывает очень определенное подмножество приложений (какой-то gsm или h/s) gs или h/e ...)
  • Ocra: это похоже на кандидата, но это только окна и не соответствует моим требованиям, поскольку мне приходилось настраивать таргетинг на три основные платформы:
  • tar2rubyscript + rubyscript2exe: Я потратил большую часть своего времени, пытаясь заставить это работать, потому что я встретил многих, которые утверждали, что это способ пойти на распространение графических приложений, построенных в рубине (хотя и с использованием других инструментов, Tk/GTK/wxRuby) но это тоже не сработало; Я был бесконечно сталкивается с загадочными ошибкой, которая в основном влезает Qt :: функциональность UILoader, другими словами, вы не можете загрузить .ui листов вы создаете с QtDesigner так ...

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

Итак, мой ответ: не используйте QtRuby. По крайней мере на данный момент.

+0

Спасибо. Я думаю, что Ruby предназначен только для Интернета, и я думаю, вы пишете версию Windows. – RKh

+1

@ RPK, нет, Ruby, конечно, не только для Интернета. С этим вы можете многое сделать. Проблема Амиреха заключается в том, что не-веб-программа, которую он сделал, не могла быть легко распространена с помощью доступных ему инструментов. – paradoja

Смежные вопросы