|
|
|
umup |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 17.9.2006 Репутация: 1 Всего: 1 |
Возможно ли серьёзное использование Ruby для написания несложной программы сбора данных и отображения графиков, если даже старейшая GUI Ruby-Tk не имеет нормальной документации (нужно лезть в исходники, искать нужные классы и их методы). Неужели за столько лет нельзя было потратить день-два и привести доки до уровня Питона и Перла. Да, в книгах есть некоторое описание, но очень поверхностное. В версии 1.8.2 хотя бы примеры запускались, пробовал 1.8.4 и 1.8.5 - ни один не запускается (или виснет после запуска, или сразу закрывается) (запускал в Win98 и WinXP на двух разных компьютерах). Не говоря уже о разных глюках (например, где мышкой рисуются линии). По расширениям - Tix, BWidgets вообще никакой информации.
- С Fox Toolkit также - почему-то присутствуют версии 1.2 и 1.6, в дистрибутиве 1.8.4 версия примеры запускались, поставил 1.8.5 - не работают. - wxRuby - посмотрел - 'early beta stage' - все ясно. Думаю, похожая ситуация и с множеством других - FLTK, GTK и т.д. Часто на разных форумах вижу ответы авторов этих и других пакетов и даже самого Ruby - типа если хочешь, напиши сам, но неужели я смогу лучше автора написать документацию, роясь в чужих исходниках ? Я, например, использую Doxygen, когда вношу изменения, сразу вношу изменения и в документацию. Также многих отталкивает невозможность компиляции исходников в промежуточный код (как в Питоне) для производства коммерческих продуктов. Короче, использовал кто-нибудь Ruby для подобных задач ? Я сейчас больше склоняюсь к Питону, там с GUI таких проблем нет (Tkinter, wxPython - все примеры работают стабильно). Это сообщение отредактировал(а) umup - 17.9.2006, 13:33 |
|||
|
||||
max_lapshin |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 51 Регистрация: 10.9.2006 Где: Москва Репутация: 2 Всего: 3 |
Скорее всего, эта часть неразвита из-за того, что проще всего приложение писать, как веб-приложение. Способа быстрее создать софт еще не придумали.
|
|||
|
||||
umup |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 17.9.2006 Репутация: 1 Всего: 1 |
> что проще всего приложение писать, как веб-приложение
А можно подробнее, как это сделать, какие пакеты задействовать и т.п., вообще, в какую сторону копать (еще не сталкивался с этим). И можно ли организовать доступ к просмотру данных и графиков с других компьютеров в таком режиме (по локальной сети или через интернет)? Данные будут собираться через последовательный порт (уже работает, написал через вызовы WinAPI), интерфейс начал писать на Ruby-Tk, в версии 1.8.2 шло нормально, поставил 1.8.4, 1.8.5 - Tk вообще не запускается, виснет еще на этапе инициализации (в require 'Tk'), можел кто с этим сталкивался (системы WinXP, Win98). Нужна кроссплатформенная переносимость Windows - Linux - BSD. Это сообщение отредактировал(а) umup - 17.9.2006, 14:31 |
|||
|
||||
max_lapshin |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 51 Регистрация: 10.9.2006 Где: Москва Репутация: 2 Всего: 3 |
Я бы такое скорее всего делал бы с помощью Ruby on Rails, как фреймворка для веба. Соответственно, ты собираешь данные асинхронно к запросам через веб, их в базу данных кладешь, обрабатываешь, картинки-графики строишь, помечаешь пакет данных о готовности. Пользователь заходит через веб, получает страничку со списком обработанных кусков данных, смотрит то, что ему нужно.
Автоматически решается вопрос с синхронностью/асинхронностью приложения, с созданием ее морды, с многопользовательским доступом. Если нужна более детальная помощь, более детально озвучь задачу. Добавлено @ 17:15 Да, и автоматически решается вопрос с переносимостью. Не очень, правда, ясно, как же быть с COM-портом. Если нужно считывание данных под linux-ом, то выглядеть это будет по-другому. |
|||
|
||||
umup |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 17.9.2006 Репутация: 1 Всего: 1 |
С ком-портом разберусь (сейчас нужно работать только под Windows, потом разберусь с Linuxом, например как сделано в pyserial, для Ruby из подобных библиотек нашел serialport_win32, но прикрутить его не получилось, написал через вызовы WinAPI).
В RoR пока не лезу, сначала попробую что-нибудь попроще для ознакомления с Webом, сейчас смотрю Ruby cookbook, The Ruby way, Programming Ruby, Ruby developer's guide - там есть разделы на эту тему. |
|||
|
||||
max_lapshin |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 51 Регистрация: 10.9.2006 Где: Москва Репутация: 2 Всего: 3 |
Проще, чем с RoR не будет уже ни с чем =) Любая самостоятельная работа с CGI тебя похоронит.
Но есть одно но. Ты в чем данные собираешься хранить? В SQL таблице, или у тебя специализированней? |
|||
|
||||
umup |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 17.9.2006 Репутация: 1 Всего: 1 |
Наверно надо будет организовывать какую-то базу данных. Нужны как минимум 3 таблицы :
- текущие настройки (какие приборы подключены к каким портам, настройки портов, описание каналов измерения приборов); - текущие данные (то, что считано из приборов на данный момент), отображаются в цифровом виде и в виде шкал и стрелок; - архив всех данных и аварий на срок до 2-6 месяцев (по этим данным будут строится графики). Короче, задача типа промышленного OPC-сервера, сеть-Modbus на несколько портов. |
|||
|
||||
max_lapshin |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 51 Регистрация: 10.9.2006 Где: Москва Репутация: 2 Всего: 3 |
Ясно. Вообщем, я бы структуру делал так, что есть один процесс, который асинхронно в базу пишет, а есть веб-сервер, который из базы читает. И не вздумай кидаться и реализовать самостоятельную работу с базой данных, подключение к ней и т.п. Для этого уже есть ActiveRecord.
|
|||
|
||||
Dark Elf |
|
|||
Опытный Профиль Группа: Участник Сообщений: 576 Регистрация: 26.12.2003 Где: Брисбен Репутация: 1 Всего: 10 |
Если сильно хочешь GUI то вот тебе среда разработки с рисовалкой GUI (Ruby + Tk) - там есть выбор версии то есть таких проблем как у тебя
юыть не должно http://www.activestate.com/Products/Komodo/?mp=1 А вообще я бы использовал ROR или если уж хочешь GUI QtRuby http://rubyforge.org/projects/korundum/ |
|||
|
||||
umup |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 17.9.2006 Репутация: 1 Всего: 1 |
> юыть не должно
То есть, вы сами пробовали запускать ? Или это теоретическое рассуждение ? > http://www.activestate.com/Products/Komodo/?mp=1 Нет, за бапки мне не надо. Несколько кнопок, списков и канвасов для рисования графиков я могу и программно кинуть, что уже и сделано, но работает только на дистрибутиве 1.8.2, на других у меня Tk почему-то не запускается, поэтому и спрашивал, не сталкивался кто-нибудь с таким. > если уж хочешь GUI QtRuby А QT платный для коммерческого использования, или я неправ ? Пока делаю GUI, с веб-интерфейсом постепенно разберусь потом (пока ноль в этой области, за пару дней невозможно разобраться). Все-таки наверно буду делать на Питоне (возможно придется ставить без исходников, заказчик еще не решил). Спасибо за ответы. |
|||
|
||||
max_lapshin |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 51 Регистрация: 10.9.2006 Где: Москва Репутация: 2 Всего: 3 |
Ну смотрите, ваше дело. Создание гуя — это реальная потеря времени.
|
|||
|
||||
Правила форума "Ruby: Общие вопросы" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |