Qt или Delphi... Если бы вы выбрали один за другим?
Если бы у вас был дифференциал либо отважиться на землю Дельфы, либо на землю Qt, которую вы бы выбрали? Я знаю, что они не совсем сопоставимы. У меня для одного есть опыт разработки Windows с Builder С++ (почти Delphi) и MFC (почти Qt), с немного большим временем работы с Builder С++. В анализе возьмите кроссплатформенную способность Qt.
Я надеюсь получить ответы от людей, которые работали с ними и как он или она будет сравнивать среду, среду и т.д.
Заранее благодарю за ваши ответы.
Ответы
Ответ 1
Изменить: этот ответ был написан в 2008 году. Вероятно, он уже не так умен, хотя, вероятно, он не совсем бесполезен. Возьмите с солью.
Я использовал и то, и другое закончил маршрут Qt. Вот причины:
- Trolltech предлагает быструю и индивидуальную поддержку по электронной почте.
- Qt обновляет и регулярно внедряет новые мощные функции.
- Документация Qt поразительна, и в редких случаях, когда она отсутствует, вы можете прочитать исходный код
- Наличие исходного кода для Qt также позволяет вам отлаживать внутри ваших базовых библиотек, которые были для меня жизненно важными для многих случаев.
- API очень последователен и хорошо разработан. Мы включили новых людей в проект, и через месяц они продемонстрировали глубокие знания инструментария и могут быстро изучить новые классы.
- Он имеет привязки к другим языкам, например. Ruby и Python.
С++ - это несколько недостаток, например. время компиляции, упаковка и менее интегрированная среда IDE. Однако Qt делает С++ более похожим на язык более высокого уровня. Например, QStrings снимает всю боль с обработки строк. Таким образом, дополнительные проблемы с С++, с которыми вы обычно сталкиваетесь, например. более багги, менее распространены в моем опыте при использовании Qt.
Кроме того, для Delphi больше библиотек, чем для Qt, но это смягчается из-за того, что вы можете просто использовать библиотеку ac или С++ в проекте Qt, а также потому, что Qt настолько полно, что вы часто не имеете чтобы посмотреть дальше.
Было бы странной ситуацией, когда я бы выбрал Delphi над Qt для нового проекта.
Ответ 2
Если вы говорите о интерфейсах пользовательского интерфейса, то вам следует сравнивать Qt с VCL, а не с IDE (в этом случае Delphi). Я знаю, что я сторонник, но Delphi - это IDE, Object-Pascal - это язык, а VCL - графическая структура.
Это, как говорится, я не думаю, что есть что-то, что даже приближается к силе и простоте VCL. Qt отлично, но это не VCL.
Ответ 3
Я бы выбрал Delphi. Конечно, вы спрашиваете любого pascalholic, и он обязательно ответит точно так же.;)
Qt снова отлично, но VCL просто чувствует себя более отполированным. Но тогда это могут быть мои годы работы с ним, поэтому он просто чувствует себя хорошо. Мой опыт работы с Qt был ограничен непродолжительным проектом, который в конечном итоге был переписан в Delphi после того, как было определено, что кросс-платформа действительно не нужна благодаря силе GoGlobal, который может сделать любое приложение win32 веб-приложением и, следовательно, работать на любой платформе.
Ответ 4
Это действительно зависит от ваших потребностей и опыта. Я работал с обоими (хотя должен сказать, что последняя версия Delphi, с которой я действительно работал, была Delphi 6, и я сейчас работаю с Qt 4.4).
Язык
Преимущества С++:
- С++ является более "стандартным", например. вы найдете больше кода, библиотек, примеров и т.д., и вы можете свободно использовать STL и boost, в то время как Object Pascal - скорее экзотический язык.
- Qt компилируется на разных платформах и компиляторах (Kylix основан на Qt, BTW)
Объект Pascal:
- некоторые динамические свойства строятся прямо на языке, не требуются уродливые обходные пути, такие как MOC.
- компилятор очень оптимизирован для языка и действительно очень быстро
- язык менее сложный, чем С++ и, следовательно, менее подвержен ошибкам
IDE
Qt профи:
- Строго говоря, для дизайнера нет IDE для Qt, но он прекрасно интегрируется в вашу предпочтительную IDE (по крайней мере, Visual Studio и Eclipse).
- дизайнер делает лучшую работу с макетами, чем формы Delphi (Примечание: это основано на Delphi 6 и может не соответствовать текущим версиям)
Delphi профи:
- IDE действительно отполирован и прост в использовании, и он отлично выполняет Visual Studio IMO (у меня нет опыта работы с Eclipse)
- нет точки 2... но если бы мне пришлось назначить модное слово "интегрированный", я бы назначил его IDE Delphi
Рамка
Я оставлю сравнение с другими, так как я не знаю самого нового VCL. У меня есть некоторые замечания:
- обе структуры охватывают большинство необходимых функций
- оба имеют исходный код, который является обязательным IMO
- у обоих есть более или менее согласованная структура - я предпочитаю Qt, но это зависит от ваших предпочтений (замечание: я бы никогда не сказал, что Qt почти MFC - я использовал MFC в течение длительного времени, и как Qt, так и Delphi - и .NET, если на то пошло - лучше.)
- VCL имеет больше функциональности, ориентированной на БД, особенно соединение с визуальными компонентами
- Qt имеет больше возможностей для рисования (2D/3D/OpenGL)
Другими причинами, которые говорят за Qt IMO, являются очень хорошая поддержка и лицензирование, но это зависит от ваших потребностей. Существуют большие сообщества для обеих фреймворков,
Ответ 5
Большая разница между Delphi и Qt - это система сигналов/слотов Qt, что позволяет легко создавать отношения N-to-N между объектами и избегать жесткой связи.
Я не думаю, что такая вещь существует в Delphi (по крайней мере, такого не было, когда я использовал ее).
Ответ 6
Я только начал экспериментировать с Qt/С++/Qt Creator, и я должен признать, что был удивлен, что этот "маленький милый ублюдок" был чуть ниже моего носа в течение многих лет, и я обращаю на него внимание только сейчас.
Он (фреймворк) выглядит аккуратно, полнофункционально (даже в том, что .NET не хватает, например, поддержка inbuld XQuery).
Похоже, что большинство написанных приложений Qt имеют дело с 2D/3D/Games.
Я считаю, что недостатки - это только то, что нужно знать С++ и отсутствие хороших идей DevExpress, таких как QuantumGrid.
Я серьезно рассматриваю перенос одного из моих простых приложений (просмотрщик изображений, например ThumbsView).
И он ДЕЙСТВИТЕЛЬНО работает с той же кодовой базой. ДЛЯ РЕАЛЬНОГО!
Забудьте о Kylix, Mono, Lazarus, Free Pascal. Эта вещь Qt превосходит всех их в 10 раз.
Создатель Qt далек от IDE. Но я надеюсь, что в будущем они добавят более мощный отладчик, понимание кода и рефакторинг (по крайней мере, "Переименовать" ) и более значимые ошибки компилятора.
Я бы рекомендовал кому-то без опыта работы в Pascal/С++ взять кривую обучения Qt.
Ответ 7
Я бы выбрал Delphi, но это, вероятно, потому, что я запрограммировал его раньше. Кажется, что по-прежнему существует ряд компаний, которые его используют, и почти каждый, у кого есть более 8 лет опыта, столкнулся с ним где-то. Похоже, что большинство программистов могут относиться к ее использованию или, по крайней мере, к изучению Паскаля. Не говоря уже о том, что на нем основаны более новые языки (С#) (по крайней мере частично).
Ответ 8
Выберите Delphi, если ваша проблема - родная скорость Win32, среда RAD первого класса и размер исполняемого файла. Выберите QT, если вам нужна действительно кросс-платформенная платформа в сочетании с гибкой политикой лицензирования и не против слегка раздутого кода.
Я портировал старую Delphi-программу под QT/С++, и я должен сказать, что QT - это среда, которая ближе всего к VCL с точки зрения простоты использования и мощности (IMHO)
Ответ 9
Я бы выбрал delphi. Только потому, что у меня больше опыта с ним. Я не думаю, что есть другие причины.
Ответ 10
Qt является кросс-платформенным, Delphi не так много, если мы подсчитаем Kylix. Lazarus - кросс-платформенный, но не совсем полноценный.