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 - кросс-платформенный, но не совсем полноценный.