Посоветуйте, пожалуйста, на чем написать GUI программы:
1. Пока под Windows но, в перспективе, что бы легко можно было подогнать и под Linux;
2. Высокая скорость разработки, т.к. написать нужно побыстрее, писать надо одному, а проект немаленький;
3. По возможности быстрая (необходимо обмениваться данными по USB и рисовать осцилограммы).
Мне кажется, что на C++(MFC or WTL) по пункту 3 оптимально но по пунктам 1 и 2 — не подойдет. Framework(С#) — по п.3 боюсь несправится, да и по п. 1 под Linux(Mono) говорят слегка ущербная.
Пока склоняюсь к Java (Swing — вроде оптимизирована под контролы ОС). Но незнаю как она справится со скоростью вывода графики?
Выслушаю любые мнения. Только, пожалуйста, не подымайте флэйм, мне нужно с практической точки зрения.
27.06.05 12:31: Перенесено модератором из 'Философия программирования' — AndrewVK
Лучше всего сделать тестовые проги на все три варианта. В них должны проверяться потенциально узкие места.
Как я понял их два: получение данных от устройства и вывод в виде графика.
Здравствуйте, Be_happy, Вы писали:
B_>Посоветуйте, пожалуйста, на чем написать GUI программы: B_>1. Пока под Windows но, в перспективе, что бы легко можно было подогнать и под Linux; B_>2. Высокая скорость разработки, т.к. написать нужно побыстрее, писать надо одному, а проект немаленький; B_>3. По возможности быстрая (необходимо обмениваться данными по USB и рисовать осцилограммы).
А что остальная часть программы уже написана? И на чем?
Если тебе нужна портабельная GUI программа, то, имхо, нужно думать либо о Java, либо о C++. Т.е. первичным здесь будет выбор языка. Ведь я так понял, что тебе и с оборудованием работать нужно, и расчеты проводить.
В C++ есть портабельные GUI библиотеки. Например, одна из самых продвинутых, но дорогих: Qt. К ней же можно найти различные готовые виджеты для графики. Например, Qwt — Qt Widgets for Technical Applications.
Так же есть бесплатные быстрые GUI для C++: OpenGUI, FLTK. Только не знаю, насколько быстро их можно освоить.
Здравствуйте, Banch, Вы писали:
B>Лучше всего сделать тестовые проги на все три варианта.
Вот как раз на тесты времени и нет. Поэтому и хотел спросить у кого есть подобная практика
Здравствуйте, eao197, Вы писали:
E>А что остальная часть программы уже написана? И на чем?
Программа еще не писалась.
E>Если тебе нужна портабельная GUI программа, то, имхо, нужно думать либо о Java, либо о C++. Т.е. первичным здесь будет выбор языка. Ведь я так понял, что тебе и с оборудованием работать нужно, и расчеты проводить.
Про оборудование понятно, драйвер под USB уже написан. В Linux это будет по другому. Меня интересует именно GUI.
За ссылки спасибо, посмотрю
B>>Лучше всего сделать тестовые проги на все три варианта. B_>Вот как раз на тесты времени и нет. Поэтому и хотел спросить у кого есть подобная практика
Странно, нет даже одного-двух дней чтобы провести тесты?
Hello, Be_happy!
You wrote on Mon, 27 Jun 2005 07:45:11 GMT:
Bh> Посоветуйте, пожалуйста, на чем написать GUI программы: Bh> 1. Пока под Windows но, в перспективе, что бы легко можно было Bh> подогнать и под Linux; 2. Высокая скорость разработки, т.к. написать Bh> нужно побыстрее, писать надо одному, а проект немаленький; 3. По Bh> возможности быстрая (необходимо обмениваться данными по USB и рисовать Bh> осцилограммы).
Bh> Мне кажется, что на C++(MFC or WTL) по пункту 3 оптимально но по Bh> пунктам 1 и 2 — не подойдет. Framework(С#) — по п.3 боюсь несправится, Bh> да и по п. 1 под Linux(Mono) говорят слегка ущербная. Пока склоняюсь к Bh> Java (Swing — вроде оптимизирована под контролы ОС). Но незнаю как она Bh> справится со скоростью вывода графики?
Bh> Выслушаю любые мнения. Только, пожалуйста, не подымайте флэйм, мне Bh> нужно с практической точки зрения.
С практической точки зрения такие вопросы надо решать самому, а не в форуме
спрашивать. Вот для себя я бы в таких условиях выбрал C++ и wxWidgets, Java
бы не прошла по пункту 2, а C# — 1 и 2
With best regards, Sergey.
Posted via RSDN NNTP Server 1.9
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Здравствуйте, Be_happy, Вы писали:
B_>Посоветуйте, пожалуйста, на чем написать GUI программы: B_>1. Пока под Windows но, в перспективе, что бы легко можно было подогнать и под Linux; B_>2. Высокая скорость разработки, т.к. написать нужно побыстрее, писать надо одному, а проект немаленький; B_>3. По возможности быстрая (необходимо обмениваться данными по USB и рисовать осцилограммы).
B_>Мне кажется, что на C++(MFC or WTL) по пункту 3 оптимально но по пунктам 1 и 2 — не подойдет. Framework(С#) — по п.3 боюсь несправится, да и по п. 1 под Linux(Mono) говорят слегка ущербная. B_>Пока склоняюсь к Java (Swing — вроде оптимизирована под контролы ОС). Но незнаю как она справится со скоростью вывода графики?
B_>Выслушаю любые мнения. Только, пожалуйста, не подымайте флэйм, мне нужно с практической точки зрения.
GTK-2 + C++,
а еще лучше Gtk-2 + Python + C++ (С++ только для критических мест по быстродействию!)
Прототип пишется на питоне очень быстро, потом если не устраивает (скоростью или еще чем) частично или полностью переводится на C++.
Авторитеты, которые уже сейчас делают так — Novell. У них все свои конфигурационные утилиты сейчас пишутся на питоне. Есть информация, что Google также использует прототипы на Python.
Кстати, есть возможность связки Gtk-2 и C#. Но это для тех, кто кроме C++ и C# ничего не умеет
Есть средства RAD для Gtk — Glade.
Мой опыт — перевод за 2 недели (80 часов) проекта размером 10000 строчек кода, C++ + WTL, на Gtk + Python, с получением превосходства в мощности GUI.
Опыт питона до этого — 2 рабочих недели.
Здравствуйте, eao197, Вы писали:
B_>>Посоветуйте, пожалуйста, на чем написать GUI программы:
E>В C++ есть портабельные GUI библиотеки. Например, ... E>Так же есть бесплатные быстрые GUI для C++: ... E>Ну и хороший обзор разных GUI есть здесь: ...
Mr.Chipset вот ещё давече поделился ссылкой на Visual Component Framework. Линукса правда ещё нет (есть Mac OSX и Win32) н вроде ожидается.
Кратко:
The Visual Component Framework is an advanced C++ application framework that makes it easy to produce powerful C++ applications. The framework is a based on a thoroughly modern C++ design and has built in support for Rapid Application Development (RAD). The framework is designed to be portable over multiple platforms and compilers, so you don't have to lose all that work that went into writing your app for a single platform!
<< RSDN@Home 1.1.4 beta 7 rev. 500 >> =10:25= [Windows XP — 5.1.2600.0] {Build at .NET 1.1.4322.2032}
under «*none*»
Help will always be given at Hogwarts to those who ask for it.
Здравствуйте, _FRED_, Вы писали:
_FR>Здравствуйте, eao197, Вы писали:
B_>>>Посоветуйте, пожалуйста, на чем написать GUI программы:
E>>В C++ есть портабельные GUI библиотеки. Например, ... E>>Так же есть бесплатные быстрые GUI для C++: ... E>>Ну и хороший обзор разных GUI есть здесь: ...
_FR>Mr.Chipset вот ещё давече поделился ссылкой на Visual Component Framework. Линукса правда ещё нет (есть Mac OSX и Win32) н вроде ожидается. _FR>Кратко: _FR>
_FR>The Visual Component Framework is an advanced C++ application framework that makes it easy to produce powerful C++ applications. The framework is a based on a thoroughly modern C++ design and has built in support for Rapid Application Development (RAD). The framework is designed to be portable over multiple platforms and compilers, so you don't have to lose all that work that went into writing your app for a single platform!
Кстати, он есть в том обзоре, ссылку на который я дал раньше.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
SObjectizer: <микро>Агентно-ориентированное программирование на C++.