Самый быстрый (самый простой) графический интерфейс MFC или C # или QT или? - PullRequest
1 голос
/ 04 февраля 2010

Я только что закончил свое первое настоящее коммерческое приложение, написанное на C ++ / MFC.

Приложение состоит из агента, установленного на рабочих станциях пользователей, который, в свою очередь, управляется из приложения с графическим интерфейсом на рабочей станции администратора. Я выбираю C ++ / MFC по этим причинам.

  1. Потому что я не знал C #
  2. Потому что я не был уверен, сколько времени мне понадобится, чтобы стать настолько продуктивным в новом языке
  3. Потому что я не хотел хлопот по установке среды выполнения .NET на рабочие станции, некоторые из которых могут быть W2K.

Теперь я думаю о втором приложении, которое снова будет состоять из агента и приложения с графическим интерфейсом. Я рад продолжить работу с агентом по тем же причинам, что и выше, но приложение с графическим интерфейсом будет намного сложнее, чем первое. Создание первого приложения с графическим интерфейсом заняло очень много времени, оно было мучительным и выглядело устаревшим, хотя оно и было сделано недавно.

Должен ли я просто откусить пулю с помощью .net c # или посмотреть что-то вроде QT.

ТИА.

Ответы [ 8 ]

13 голосов
/ 04 февраля 2010

Если вы хотите действительно быстрых результатов, используйте .NET WinForms. Ничто не сравнится со скоростью создания приложения с графическим интерфейсом и наполнением его жизнью, кроме, может быть, Delphi. Язык C # и библиотека базовых классов .NET также дадут вам огромный прирост производительности даже по сравнению с и без того великолепной средой Qt. Если вы придерживаетесь основных элементов управления Windows Forms, он даже будет работать на Mono.

WPF становится еще более продуктивным, когда вы к нему привыкли, но привыкание к нему занимает гораздо больше времени, чем для Windows Forms.

6 голосов
/ 04 февраля 2010

.NET C # - очень хороший выбор для приложений с графическим интерфейсом. Это просто, на данный момент, и в Интернете есть огромные ресурсы.

Единственное, против чего я могу подумать, это совместимость с платформами, но если вы ограничиваетесь C ++ / MFC, это не должно вас беспокоить.

Даже если вы хотите стать независимым от платформы через некоторое время, вы можете создать отдельный Gtk в .NET в Linux (Mono, платформа с открытым исходным кодом .NET). Черт возьми, есть даже привязка Какао (Mac OS X), я просто не знаю, насколько она зрелая. Более того, Windows Forms уже в значительной степени поддерживается в Mono ... меня очень удивило, насколько он зрел, когда я пробовал его, хотя мой основной опыт работы с C # связан с Windows.

Для приложений с графическим интерфейсом вы не пожалеете об использовании C #. Даже если вы хотите использовать кроссплатформенность, и, конечно, нет, если вы намерены ориентироваться только на клиентов Windows.

1 голос
/ 04 февраля 2010

Первый вопрос будет именно то, что вызвало трудности в разработке графического интерфейса с MFC. Это было присуще MFC или что-то, потому что вы изучали что-то новое и не знали, что делаете? Иными словами, если бы вам пришлось делать это снова сегодня, как бы вы сравнили сложность?

Не заблуждайтесь - MFC - это старый дизайн, в котором гораздо больше проблем, недостатков и недостатков дизайна. .NET намного новее, но имеет гораздо больше проблем, недостатков и недостатков дизайна.

Наряду с этим .NET просто огромный. Он достаточно хорошо организован, что помогает, но все же требуется много времени, чтобы переварить объем информации, необходимой для его правильного использования. Точно так же, хотя C # (для наиболее очевидного примера) является совершенно приличным языком, научиться правильно его использовать - тоже задача не за одну ночь. Это, вероятно, меньшая проблема: C # на самом деле не имеет много новых концепций по сравнению с C ++. Например, компетентный программист C ++ может легко читать C # почти сразу, и, хотя он может не использовать его оптимально, он также может сразу же написать биты C #.

1 голос
/ 04 февраля 2010

Я сделал их все - обезьяна может использовать C #, все это интерфейс перетаскивания и общедоступные средства доступа. Я бы не хотел использовать MFC для моего злейшего врага, и QT просто не был настолько интуитивным, как C # для меня. Также очень легко заставить C # выглядеть красиво. Сложные вещи, такие как изменение цвета и мигающие элементы управления, тривиальны в C #. Он также имеет встроенные стили для использования. Я использую это профессионально ежедневно. Единственный раз, когда я использую C ++, это если я программирую сервер, где каждая микросекунда имеет значение.

1 голос
/ 04 февраля 2010

Delphi .Создает автономные исполняемые файлы Windows, которые будут отлично работать на Win2K (лучшая ОС, которую когда-либо выпускала Microsoft - этот пост пишется на нем).Единственным недостатком является Object Pascal, но если вы знаете C ++, его очень легко подобрать - и он был разработан, чтобы купить парня, который разработал C #.IDE на несколько порядков более производительный, чем MFC с VS.

1 голос
/ 04 февраля 2010

C # почти наверняка сделает вас более продуктивным!

0 голосов
/ 04 февраля 2010

C # не так уж и сложно адаптироваться, и есть буквально тонна примеров в Интернете и отличных книг (одна из первых статей попалась мне на глаза, когда вы можете написать клон nethack и другие интересные проекты). Мне пришлось самому переходить с C ++ на C #, и это было совсем не так грубо (на самом деле это казалось довольно простым переходом) и позволило мне быстро создать прототип.

Удачи!

0 голосов
/ 04 февраля 2010

на какой платформе будет работать ваше второе приложение? если это XP и выше, я предложу C # / WinForms / GDI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...