Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/24: Рейтинг темы: голосов - 24, средняя оценка - 5.00
4 / 4 / 5
Регистрация: 28.04.2010
Сообщений: 162
1

Выбор технологии

03.08.2011, 10:45. Просмотров 4817. Ответов 52
Метки нет (Все метки)

Всем привет!
У меня такой вопрос

Вот я сейчас работаю в компании, которая занимается разработкой ПО на С++
Начал разработку проекта

Про технологию речи не шло, я скачал много учебников (имею небогатый опыт прогарммирования на С++, и в учебниках есть необходимость)
Так уж получилось, что почти во всех учебниках, которые я скачал, и которые затрагивают Visual C++, речь идёт об MFC
Поэтому я и выбрал MFC, потому что про него много написано умными людьми (Том Арчер, Эндрю Уайтчепел, ну и в других книжках тоже есть)

Но последнее время с слышу отзывы вроде "Я бы не стал использовать MFC", "Вообще, не пиши на MFC", "Я больше к QT привык, MFC втопку" и т.д.
Но, при этом, эти комментарии неаргументированы.
Но мне всё равно очень интересно

А что тогда использовать?
Windows Forms? WinAPI?
Что вы посоветуете?
Очень важно
Буду благодарен за любой ответ
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.08.2011, 10:45
Ответы с готовыми решениями:

Выбор технологии для написания приложений под Windows
Добрый вечер. Столкнулся с вопросом, который не дает жить вот уже пару дней, а именно: под винду на...

Какие технологии актуальны для С\С++ программиста
Доброго времени суток. Какие технологии сейчас наиболее востребованы и перспективны для С++...

Выбор инструмента/технологии
Доброго времени суток! Есть следующая задача. На входе файл в dbf формате(с досовским набором...

Технологии OpenMP
Доброго времени суток. Объясните, почему на такой код void quickSortR(int left,int right,int...

52
769 / 759 / 59
Регистрация: 06.07.2009
Сообщений: 3,016
03.08.2011, 10:53 2
Lindemann66, Скажем так, если ты нормально разберешься в MFC то твои программы будут прекрасно работать.
Windows Forms в плане разработки считается более безопасным, но поидее работает медленнее, и требует фреймворк (хотя на новых ОС это не так актуально наверное).
WinAPI это как бы более низкий уровень, поэтому и более надежный, однако требует более глубоких знаний предметной области.
Qt очень удобен для разработки интерфейсов, сам по себе имеет не очень хороший отладчик и различные косяки, которые, если их знать, вообщем то не очень сильно мешают. Qt+Visual Studio лучше, так как компенсирует проблему с отладчиком.
1
4 / 4 / 5
Регистрация: 28.04.2010
Сообщений: 162
03.08.2011, 10:55  [ТС] 3
Это первый аргументированный ответ, спасибо
по поводу QT - есть у него 1 большой минус, который сейчас перекрывает плюсы - это его цена для коммерческого использования...
так что его использование, к сожалению, отменяется
Кстати, а для MFC фреймворк не требуется разве?

Добавлено через 34 секунды
Если я создал MFC приложение под Framework 2.0, он ведь будет необходим для работы на клиентской машине?
0
1662 / 1131 / 80
Регистрация: 21.08.2008
Сообщений: 4,724
Записей в блоге: 1
03.08.2011, 10:56 4
Цитата Сообщение от vitaly1981 Посмотреть сообщение
Qt очень удобен для разработки интерфейсов
и все? QNetwork, QXml, QSql и т.д. куда дели?
0
769 / 759 / 59
Регистрация: 06.07.2009
Сообщений: 3,016
03.08.2011, 10:57 5
Lindemann66, Так можно использовать по лицензии LGPL если возможно, там вроде как и коммерческие продукты делать допускается, конечно с какими то ограничениями...

Для MFC требуются только студиевские библиотеки установить и все.
0
1662 / 1131 / 80
Регистрация: 21.08.2008
Сообщений: 4,724
Записей в блоге: 1
03.08.2011, 10:58 6
Цитата Сообщение от Lindemann66 Посмотреть сообщение
по поводу QT - есть у него 1 большой минус, который сейчас перекрывает плюсы - это его цена для коммерческого использования...
а зачем его покупать? можно использовать и LGPL для коммерческой разработки, если не изменять саму Qt. А стоимость MFC?
0
769 / 759 / 59
Регистрация: 06.07.2009
Сообщений: 3,016
03.08.2011, 11:00 7
oxotnik, Я не говорил что там можно разрабатывать только интерфейсы. Там много классов, однако основное преимущество Qt это все же интерфейсы, ну конечно и кроссплатформенность.
0
105 / 105 / 11
Регистрация: 17.10.2010
Сообщений: 283
03.08.2011, 11:00 8
WinAPI очень низкоуровневая, производительность труда (особенно при программировании интерфейсов) минимальна.

WinForms требует библиотеки .NET, не всегда подходит по системным требованиям. Плюс это просто библиотека для интерфейса, нет встроенной поддержки Model-View и т.д. Кроме того, мне лично расширения .NET для C++ кажутся издевательством над C++.

MFC - неплохая библиотека, но она довольно неудачно спроектирована и является лишь надстройкой над WinAPI - со всеми вытекающими.

QT для меня оказался оптимальным выбором. Она хорошо спроектирована, позволяет выполнить рутинные задачи по манипуляции с интерфейсом быстрее, имеет поддержку регулярных выражений, улучшенную по сравнению с MFC валидацию данных, она лучше расширяется под задачи пользователя в части, касающейся, скажем технологии Model-View. Плюс она кроссплатформенна.

Мой совет: если нет специфических системных требований, лучше использовать QT. Если есть код на WinAPI или MFC, который необходимо поддерживать, то MFC. Если надо делать быстро простые программы и можно использовать C#, тогда C#+WinForms.
1
397 / 353 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
03.08.2011, 11:03 9
Цитата Сообщение от Lindemann66 Посмотреть сообщение
по поводу QT - есть у него 1 большой минус, который сейчас перекрывает плюсы - это его цена для коммерческого использования...
насколько знаю MFC тоже платное. И еще говорят wxWidgets похож на MFC можно и это выбрать.

Добавлено через 2 минуты
Цитата Сообщение от soft.creator Посмотреть сообщение
мне лично расширения .NET для C++ кажутся издевательством над C++.
мне тоже, я вообще против .Net
0
1662 / 1131 / 80
Регистрация: 21.08.2008
Сообщений: 4,724
Записей в блоге: 1
03.08.2011, 11:05 10
Цитата Сообщение от vitaly1981 Посмотреть сообщение
однако основное преимущество Qt это все же интерфейсы
для "формоклепателей" пересевших с билдеров бесспорно. Однако обычно интерфейс занимает не более 20% от основной логики софта.
0
4 / 4 / 5
Регистрация: 28.04.2010
Сообщений: 162
03.08.2011, 11:09  [ТС] 11
Цитата Сообщение от oxotnik Посмотреть сообщение
а зачем его покупать? можно использовать и LGPL для коммерческой разработки, если не изменять саму Qt. А стоимость MFC?
Ну это нужно уточнить у начальства
Потому что у нас уже год используется QT, и вот, в последнее время, начинается отказ от него, потмоу что, как выразился начальник "Слишком дорого"
Странно
0
769 / 759 / 59
Регистрация: 06.07.2009
Сообщений: 3,016
03.08.2011, 11:11 12
oxotnik, Зависит от приложения, иногда интерфейс играет очень весомую роль.
Если сравнивать разработку "рабочей части" софта на MFC и Qt, то классы Qt мне лично экономят процентов 5 времени. Если сравнить время затрачиваемое на интерфейс, то экономия процентов 50 как минимум. Именно из этого я и исхожу.

Добавлено через 49 секунд
Lindemann66, LGPL у них появилась сравнительно недавно, может начальник просто не в курсе...
0
1662 / 1131 / 80
Регистрация: 21.08.2008
Сообщений: 4,724
Записей в блоге: 1
03.08.2011, 11:11 13
Цитата Сообщение от Lindemann66 Посмотреть сообщение
последнее время начинается отказ от него, потмоу что, как выразился начальник "Слишком дорого"
либо начальника гнать надо, за то что в предметной области не разбирается, либо он имел ввиду, что работники со знаниями Qt слишком дорого обходятся.
0
4 / 4 / 5
Регистрация: 28.04.2010
Сообщений: 162
03.08.2011, 11:12  [ТС] 14
Цитата Сообщение от oxotnik Посмотреть сообщение
для "формоклепателей" пересевших с билдеров бесспорно. Однако обычно интерфейс занимает не более 20% от основной логики софта.
Верно
Хотя мне и писали, что в MFC интерфейсы ни к чёрту, я думаю, что обычный интерфейс там спроектировать можно
но на данном этапе (сейчас у меня) разработка интерфейсов всё равно не слишком актуальна
0
1662 / 1131 / 80
Регистрация: 21.08.2008
Сообщений: 4,724
Записей в блоге: 1
03.08.2011, 11:14 15
Цитата Сообщение от vitaly1981 Посмотреть сообщение
классы Qt мне лично экономят процентов 5 времени
ой ли? к примеру возьмем работу через SSL - сколько это дело надо реализовывать в MFC, или авторизацию на socks5 прокси? или работу с БД. Как надо допиливать CDatabase, CRecordset и т.п. что бы этим можно было пользоваться нормально? А если их еще с GUI попытаться связать, так вообще труба.
0
4 / 4 / 5
Регистрация: 28.04.2010
Сообщений: 162
03.08.2011, 11:14  [ТС] 16
Всё, теперь вопрос только в лицензии и возможности использовать QT для коммерции
0
1662 / 1131 / 80
Регистрация: 21.08.2008
Сообщений: 4,724
Записей в блоге: 1
03.08.2011, 11:15 17
Цитата Сообщение от Lindemann66 Посмотреть сообщение
Всё, теперь вопрос только в лицензии и возможности использовать QT для коммерции
Лицензии GPL 1,2,3 - просто как раз, два и три ))
1
4 / 4 / 5
Регистрация: 28.04.2010
Сообщений: 162
03.08.2011, 11:16  [ТС] 18
Цитата Сообщение от oxotnik Посмотреть сообщение
или авторизацию на socks5 прокси? или работу с БД.
на MFC где-то строк 600 (я делал, ка краз авторизацию и работу с БД), на QT - строк 300(делал друг)
Это было тестовое задание на приём
0
769 / 759 / 59
Регистрация: 06.07.2009
Сообщений: 3,016
03.08.2011, 11:16 19
Цитата Сообщение от Lindemann66 Посмотреть сообщение
на данном этапе (сейчас у меня) разработка интерфейсов всё равно не слишком актуальна
Это как посмотреть, у меня как то был прикол, начальник сказал что интерфейс нужно простенький, главное что бы программа работала как часы. После разработки, началось "а давай сюда лампочку добавим", "а здесь все пусть мигает", "а почему нельзя этот кусок интерфейса свободно перетаскивать?", "а пусть все рисунки масштабируются", и т.д.
1
4 / 4 / 5
Регистрация: 28.04.2010
Сообщений: 162
03.08.2011, 11:18  [ТС] 20
Цитата Сообщение от vitaly1981 Посмотреть сообщение
Это как посмотреть, у меня как то был прикол
да кстати, у меня такое много раз было

и кстати, а можно ссылку на то, что QT теперь под лицензией LGPL?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.08.2011, 11:18

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Облачные технологии на С++
В последнее время побывал на нескольких конференциях, на которых говорилось, что будущее...

GUI, технологии
Здравствуйте. Подскажите мне пожалуйста какую-нибудь хорошую IDE для с++. Либо хорошую визуальную...

технологии программирования
помогите разобраться в сути вопроса вопрос по технологиям программирования: общая структура памяти...

Информационные технологии проделать в экселе
Показать, что выражения x=sin(a) и y=cos(a) описывают окружность при изменении а от 0 до 6.28...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.