Некоторые пользователи уже дали несколько хороших ответов на ваши вопросы, поэтому я хочу дать вам несколько советов, как мне управлять своими проектами.
В: На какой ОС должно работать мое приложение?
Windows и Linux! -> Я бы использовал C ++ или Java
В: Важна ли скорость выполнения?
Да! (расчеты, графики, доступ к системным ресурсам ...)
-> С точки зрения скорости C ++ часто быстрее (не всегда)
В: Требуется ли файл конфигурации?
A: Да! Я должен установить некоторые пользовательские и системные значения.
-> Может сохранить конфигурацию в реестре, но так как мы также хотим использовать наше приложение на Linux, давайте использовать xml (rapidxml было бы хорошим решением для C ++)
В: Требуется ли база данных?
A: Да, у меня есть некоторая информация / расчеты, которые мне нужно сохранить (локальные / глобальные).
-> Локальный: я бы использовал sqlite
-> Если вам просто нужно сохранить сравнительно немного информации, пожалуйста, подумайте о более быстром способе хранения этой информации (xml?!)
В: Как мне структурировать свое приложение?
A: ВСЕГДА держите свой графический интерфейс отдельно от "логической" части -> Позволяет позже изменить код, и вы сможете использовать его и для других проектов. + уже упомянутые причины.
В: Как мне структурировать мой графический интерфейс?
A: Подумайте, для чего должно использоваться ваше приложение и что должны делать пользователи. Ах, и, пожалуйста, не создавайте слишком глубокую иерархию, которая означает, что пользователю не нужно открывать 10 окон, чтобы открыть окно, которое они хотят иметь. То же самое касается вашего кода, это не мудрое решение иметь слишком много объектов, которые создают новый объект.
object->object->object->object->object->object->object->object
В: Должно ли мое приложение взаимодействовать с приложением сервера?
A: Да? Вам придется использовать сокеты! Но имейте в виду, что связь через сокеты не очень быстрая и безопасная, поэтому не используйте их, если вам не нужно.
В: Я не уверен, как начать (мы группа разработчиков)
A: Когда я начинаю новый проект, я думаю обо всех этих моментах (возможно, о некоторых других) + Чтобы увидеть, какие классы и методы мне нужны, я начинаю с создания UML-диаграммы, которая поможет мне понять, где Я должен начать, и диаграмма также поможет мне отслеживать мои классы и методы и как они связаны друг с другом. UML-диаграмма также поможет вашим партнерам или клиентам понять, как будет структурировано ваше приложение.
Для больших проектов я бы использовал C ++ & wxWidgits или, может быть, Qt. (Только моя точка зрения)
Rgds
Лэйн