2010-05-27 5 views
3

Моя группа студентов и я пытаемся продолжить работу над проектом, над которым мы работали в этом семестре летом, чтобы стать профессиональным, развертываемым приложением. Мы изначально сделали это в Adobe AIR, но теперь кажется, что компьютеры, на которых эта программа будет работать, будут очень медленными, может быть, 600 МГц и 128-256 МБ, поэтому вспышка просто не собирается ее сокращать. В основном это приложение для диагностики состояния здоровья, которое мы отправляем в обедневшие страны.Создание графических приложений в Linux/Windows. Какие языки/инструменты использовать?

Теперь возникает реальный вопрос. Мы задаемся вопросом, на каком языке нужно перестраивать наше приложение. У него должен быть хороший строитель gui, связанный с ним, например, adobe flex/air gui builder или создатель gui visual studio, но приложение должно работать на Linux в первую очередь, и если оно может работать на окна это просто плюс. Мы все студенты тоже без какой-либо внешней помощи, поэтому, когда бы мы ни решили сделать это, должна быть достаточная документация, доступная, когда мы сталкиваемся с проблемами.

Некоторые вещи, которые мы рассмотрели до сих пор, используют python и glade или C# и monodevelop, но мы действительно не являемся экспертами по этому поводу, поэтому я прошу о помощи, поскольку я бы предпочел потратить время на то, чтобы выбрать правильные инструменты вместо того, чтобы тратить время на линию, когда мы попали в блокпост.

Заранее благодарен!

+1

+1 для выпуска некоторых AIR. – BoltClock

ответ

4

Я вижу ответы толкая WX и GTK, так что я не могу не подталкивать Qt, мой любимый! -) С крупной корпорации, стоящая за ней (Nokia), два отличные наборы привязок Python (PyQt и PySide) , поддержка Python 3, превосходный Qt Designer, большой Mac и поддержки мобильных тоже ... это серьезно трудно превзойти ... -!)

+0

Это требует, чтобы вы программировали на C++, не так ли? Или я ошибаюсь? Также Qt/wx/Gtk - все графические библиотеки? И вы бы использовали другие инструменты, чтобы сделать guis с ними? –

+0

@ Javed, Qt отлично подходит для Python (** двух ** из них!), А также Java (извините, никакого опыта с последним), и Qt Designer - это то, что вы, вероятно, будете использовать для рисования ваших графических интерфейсов. В Qt есть несколько других средств переносимости, помимо GUI (я считаю, что wx и gtk являются только GUI); если ваш код на Python или Java вам менее нужен, то стандартная библиотека C++ намного меньше, чем Java и Python, поэтому дополнительные функции вам пригодятся. BTW, превосходная производительность Qt на смартфонах (почему вы думаете, что Nokia купила ее?) Показывает, что она превосходна для «доступа к действительно низким компьютерам» _too _...! -) –

+0

Qt также является хорошим вариантом, поскольку LGPL недавно. Однако я не намного более продвинутый, чем wxWidgets. Вам все еще нужен нестандартный MOC, и он не имеет встроенных элементов управления, таких как wxWidgets, но только для собственного рендеринга.Является ли это хорошей или плохой, зависит от типа приложений, которые вы строите. Кроме того, wxQt находится в пути, поэтому вы сможете просто связать приложение wxWidgets с библиотекой Qt и иметь собственное приложение Qt из коробки для Linux/KDE/mobile, сохраняя при этом элементы управления WinAPI, Gtk, Carbon другие платформы. –

3

Ближайшая вещь, вероятно, будет gtk# с monodevelop. У этого есть гладкий, похожий на Visual Studio идеал, и результирующие программы будут работать в Linux и Windows. Язык будет C#. Я думаю, что это будет лучший баланс производительности и простоты использования.

Кроме того, PyGtk приятный, и вы можете использовать Glade для дизайнера GUI, но он не так интегрирован, как Monodevelop.

1

Для такого низкокачественного оборудования я предлагаю wxWidgets или wxPython, используя wxFormBuilder для создания диалогов. Вы можете использовать MS Visual Studio, Eclipse или CodeBlocks в качестве IDE разработки. Последние два работают на Linux хорошо. Кроме того, вы можете использовать редактор более простого программиста, например, Geany или Kate.

1

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

+0

А это упростит ситуацию, но да, мы собираемся сделать действительно удобный графический интерфейс. На самом деле этот проект начался на курсе «Взаимодействие с людьми»/«Юзабилити», так что это основной акцент. :) –

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