Одно из огромных преимуществ Ruby - это возможность очень легко создавать DSL. Ruby позволяет создавать «бизнес-правила» на естественном языке, что обычно достаточно просто для использования бизнес-аналитиком. Для этой цели существует множество приложений Ruby, не связанных с веб-разработкой.
Я настоятельно рекомендую погуглить "ruby dsl" для отличного чтения, но я хотел бы оставить вам один пост в частности. Расс Олсен написал сообщение в блоге, состоящее из двух частей, о DSL . Я видел, как он выступал с презентацией о DSL, и это было очень хорошо. Я очень рекомендую прочитать эти сообщения.
Я также нашел отличную презентацию Оби Фернандеса о Ruby DSL . Настоятельно рекомендуется к прочтению!
Я широко использую Ruby в своей работе, и ни один из них не основан на Rails (или даже в Интернете).
Мой домен - это обычно клиентские приложения Windows (wxRuby GUI) и сценарии, автоматизирующие Excel, Internet Explorer, запросы SQL Server и генерацию отчетов (автоматизация win32ole COM). Я также использую библиотеки sqlite, pdf-writer и gruff для различных задач преобразования данных и создания графиков.
Успех Rails был большим для Ruby, но я согласен с тем, что Rails привлек столько внимания, что ценность Ruby за пределами сети часто игнорируется.
источник
В основном мы специализируемся на C ++, но мы обнаружили несколько областей, в которых Ruby оказался весьма полезным. Вот несколько:
Ruby - это, по сути, мой инструмент там, где это имеет смысл. И это имеет смысл во многих местах.
источник
Google Sketchup использует Ruby в качестве встроенного языка сценариев. Вы можете использовать его для выполнения всевозможных задач 3D-моделирования и импорта / экспорта. Скрипт работает с бесплатной версией и даже есть достойная документация .
источник
Ruby с расширением homebrew, написанным на C ++, выполняет всю тяжелую работу с пикселями при обработке моих фотографий. Я использовал Python + numpy, но когда делал художественные вещи , Ruby доставлял больше удовольствия. Кроме того, относительное отсутствие или меньшая зрелость хороших библиотек обработки изображений заставляет меня меньше чувствовать, что я изобретаю колеса. Я ничего не знаю о Rails, кроме того, что я о нем слышал, имею нечеткое представление о том, что это такое, и на самом деле у меня есть книга об этом (неоткрытая)
источник
Мы используем Watir (библиотека Ruby) для тестирования нашего веб-приложения .net.
источник
Ознакомьтесь с Shoes , простым API для создания графических интерфейсов на Ruby, предназначенным для начинающих программистов.
источник
Или вы можете использовать Ruby для создания музыки, как «Археоптерикс» Джайлза Боукетта. Эта презентация Джайлза об археоптериксе - одна из лучших презентаций всех времен. Я очень рекомендую это.
источник
RubyCocoa и MacRuby. Можно создавать полноценные приложения с графическим интерфейсом на основе Какао без Rails. И тогда вы тоже можете использовать Interface Builder.
источник
В прошлом году я работал над музейным проектом, в котором было много Ruby. ( http: // http: //ourspace.tepapa.com/home )
Часть, над которой я потратил большую часть своего времени, была интерактивная карта этажа. У карты на полу есть датчики, поэтому, когда люди ходят по ней, включаются огни, а дисплеи на стене показывают, что воспроизводятся изображения или видео и аудиодорожки.
Весь контрольный код для этой части выставки - рубиновый. Я написал интерфейсы C с рубиновыми оболочками для связи с датчиками пола и контроллерами освещения. Система запрашивает базу данных MYSQL для отображения мультимедийных файлов, а затем сообщает компьютерам в стенах воспроизводить мультимедиа через UDP.
Это самая надежная часть всей выставки.
Рубин использовался для другой основной части выставки, Стены, хотя я не имел к этому особого отношения. Большая часть графики была прототипирована на Ruby с использованием интерфейсов к OpenGL, немного Cocoa и библиотеки физики, прежде чем быть перенесена на чистый Obj-C.
источник
Марионетка и шеф-повар: DevOps
Я не увидел упоминания Марионетки или Шеф-повара в 30 ответах, предшествовавших моему приезду. Ruby, кажется, доминирует в текущей работе по автоматизации облачных вычислений и является базовым языком, расширением и языком шаблонов этих двух крупных игроков. Они используются в основном для распространения информации о конфигурации системы и приложений для массивов серверов и для общего управления ИТ-рабочими станциями.
Поле DevOps хорошо знакомо с Ruby. Сегодня у Perl появился конкурент. Хотя действительно простой сценарий часто все еще может быть написан непосредственно для
sh(1),
сложной задачи, теперь его можно выполнять на Ruby, а не на Perl.источник
Единственный сайт, на котором я работал с Ruby, - это использование Rails, но я бы хотел попробовать Merb .
Помимо этого, я создаю множество небольших служебных программ на Ruby - например, приложение, которое читает RSS-каналы и импортирует новые сообщения в базу данных.
Это весело, поэтому я также пишу глупые вещи только потому, что это так быстро. Вчера я написал приложение для решения задачи Монти Холла 100000 раз, чтобы помочь другу убедить своего профессора, что переключение - правильная стратегия.
источник
Я почти оскорблен тем, что рубин - это рельсы. Это похоже на то время, когда CGI был последней тенденцией, и все считали, что если вы знаете Perl, вы должны делать это только потому, что вы программировали приложения CGI. Ruby для меня - это просто язык сценариев, хотя и не такой зрелый, как python, поэтому я несколько сожалею о том, что пришлось прыгнуть через некоторые из его обручей и недавних изменений, мне он все еще нравится и я его использую. Хотя я работаю в магазине java, и поэтому groovy - идеальный выбор для языка сценариев, я все еще использую ruby дома и для выбрасывания сценариев, которые не нужны для совместного использования на работе.
Я подумывал о том, чтобы попасть в RoR из-за всей этой шумихи и о том, насколько это быстро / просто, но после просмотра рельсов я не увидел вообще ничего удивительного или хотя бы немного инновационного или быстрого в его разработке по сравнению с любым другим фреймворк. Единственное преимущество, которое я увидел, заключалось в том, что я мог писать код на Ruby, что было бы неплохо, но первоначальная настройка, обслуживание сервера и масштабирование сложнее, что сводит на нет удовольствие от кодирования на Ruby.
источник
Я создал презентацию - по совпадению названную Off The Rails - для обсуждения веб-приложений на основе Rack:
https://github.com/alexch/Off-The-Rails
Репозиторий git включает слайды в формате Markdown и образец кода (в виде запущенных приложений и промежуточного программного обеспечения). Вот аннотация:
И вот несколько ссылок:
Надеюсь, что вы найдете ее полезной!
источник
Я в основном веб-разработчик, и я изучил Ruby для использования Rails, но мне настолько нравится этот язык, что я начал разрабатывать настольное приложение Swing на Ruby, используя JRuby и Monkeybars. Я компетентен в Java, но не очень люблю его, а Swing API ужасен, поэтому размещение Ruby на вершине было большой победой.
источник
В основном мы используем рельсы, но у нас есть много других рубиновых вещей, не относящихся к рельсам - например, автономный демон аутентификации для централизованной аутентификации пользователей и «сервер обработки изображений», который запускает произвольное количество процессов ruby для параллельной обработки изображений.
Да, и не забывайте старые добрые грабли :-)
источник
Ruby также используется для настольных приложений. Особенно использование JRuby для разработки настольного приложения Swing.
источник
Я использовал Ruby на работе для
источник
Мы используем Ruby для реализации нашего программного обеспечения для автоматизации тестирования. Сюда входит тестовая среда и код драйвера для Selenium RC, WATIR и AutoIT.
Ruby достаточно мощный, чтобы создавать комплексные приложения, которые могут взаимодействовать с инструментами тестирования, такими как Selenium или WATIR, и в то же время читать из файлов данных, взаимодействовать с удаленным пользовательским интерфейсом Windows и выполнять почти прозрачную сетевую связь. И все это при работе в Windows или Linux.
Лаконичный синтаксис делает его идеальным для чтения начинающими и неопытными программистами. Хотя его полностью объектно-ориентированный характер позволяет этим же программистам с самого начала применять хорошие (недавно изученные) объектно-ориентированные методы.
Гибкая природа синтаксиса Ruby также значительно упрощает использование и создание DSL. Это позволяет менее технически подготовленным людям привлекаться, читать и, возможно, создавать собственные тесты.
источник
Я использовал Ruby для генерации кода хранимых процедур C # и T-SQL в проекте с нестабильными требованиями. Модель данных была закодирована в файл YAML, а для классов и хранимых процедур использовались шаблоны .erb. Это также позволило получить гораздо более СУХИЕ решения, чем это было бы возможно с обычным C #, поскольку повторяющийся код мог быть выделен в один метод в генераторе кода.
источник
Там, где я работаю, мы используем Ruby для выполнения ряда различных разовых пакетных заданий. Одним из примеров этого является работа, которая взаимодействует с сервисом Amazon S3. В то время библиотека Ruby S3 была, вероятно, самой простой из имеющихся для нас, чтобы начать работу за короткий промежуток времени.
источник
Я написал экспертную систему обработки заказов (см. Также ответ DSL), преобразовал 100 тыс. Строк клиентского Perl примерно в 10 тыс. Строк ruby, обслуживающих десятки клиентов. Никаких веб-компонентов, никаких Rails.
источник
Я пользуюсь веб-драйверами. ruby используется webdriver для автоматизации процесса сборки благодаря rake. см. http://code.google.com/p/webdriver/ для получения дополнительной информации.
источник
Хех, отличный вопрос.
Я использовал Ruby для преобразования данных об объектах аэропорта в виде электронной таблицы Excel в sqlite3 для платформы телефона Android при создании приложения для пилотов.
источник
Я использую Ruby с Sinatra, который намного проще, чем Rails. Я действительно использовал Rails, но только что обнаружил, что он превратился в своего рода монстра, хотя Rails по-прежнему великолепен по сравнению с веб-фреймворками, доступными для Java.
Однако главная особенность Ruby, которая мне нравится, - это eval и method_missing, которые Rails фактически использует, например, в ActiveRecord, чтобы вы могли использовать удивительные запросы «find_by-field-name-».
источник
Я использовал Ruby для большого количества внутреннего кода просто потому, что я был единственным человеком, которому было поручено это сделать, и мне нужен был хороший чистый язык, который позволял мне быть очень продуктивным и писать простой в поддержке код. Я считаю, что Ruby позволяет мне делать это проще, чем Perl и Python. Мнения других людей могут отличаться от этого, но для меня это работает хорошо.
Кроме того, мне нравится, как работают Sequel и Nokogiri. Я также какое-то время использовал ActiveRecord отдельно от Rails.
источник
Мы используем Ruby для работы с файлами, но пока не можем включить рельсы.
источник
Я много профессионально использовал Ruby для быстрых сценариев для таких вещей, как перемешивание файлов. Точно так же я использовал Ruby, прежде чем вообще касался Rails.
источник
В Боулдере была отличная группа пользователей Ruby, которые встречались ежемесячно. Было отмечено, что Ruby действительно существует помимо использования в Rails. Обычные пользователи Ruby действительно существуют, они требуют внимания, могут показать интересные вещи и могут найти друг друга на собраниях групп пользователей.
У них также была пицца получше, чем у группы Python, которые встречались также в один и тот же день месяца. Можно выбрать только один ...
источник
Хотя у нас есть несколько приложений Rails, мы также используем Ruby для некоторых довольно интенсивных не-веб-вещей.
У нас есть демон доставки SMS, который извлекает сообщения из очереди, а затем доставляет их, и демон обработки кредитных карт, к которому могут обращаться другие приложения, что обеспечивает централизованный контрольный журнал.
источник