2010-12-13 6 views
8

Я начинаю работать над новым проектом GUI в .NET, и кто-то предложил Qt мне. Я начал читать об этом, и я не понимаю его преимуществ перед дизайнером Visual Studio.Каковы преимущества использования Qt?

Я вижу, почему C++ VS6 будет использовать его, но не почему .net разработчиков.

Если основным преимуществом является переносимость, то каково его преимущество в JAVA?

Спасибо!

+5

Qt - это, в частности, библиотека C++. Я бы не ожидал, что разработчики .NET или Java будут заинтересованы. –

+2

Ну, есть также порт python Qt. Но если вы используете .net, вам не нужна поддержка кросс-платформенной в любом случае, поэтому используйте все, что позволяет вам использовать Microsoft. – Falmarri

+0

Обратите внимание, что вы можете работать с QT и .Net http://en.wikipedia.org/wiki/Qt_%28framework%29 – AYBABTU

ответ

11
  • Это кросс-платформенный и используют ресурсы системы рисовать окна, управления и т.д. поэтому приложение получит нативный вид (например, на окне приложения Mac будет отсутствовать в меню бар и в строке меню появится в строке меню системы, так как это стандартное поведение на платформе Mac ).

  • Письмо на C++ дает вам отличный контроль, возможность работать с фантастическими библиотеками, такими как STL, Boost и т. Д .; и ваш код скомпилирован в собственные двоичные файлы, которые будут работать на полной скорости без необходимости в виртуальной машине.

  • Qt является открытым исходным кодом и разработан Qt Group (ранее Trolltech) в Nokia, поэтому у вас есть очень большое предприятие, поддерживающее его при поддержке сообщества и обеспечивающее его эволюцию.

  • Это лучший дизайнер GUI я когда-либо видел (я работал с .NET перед использованием как Windows Forms и WPF)
+0

Другой вопрос - он переводит команды C++ для правильной платформы? Я могу развить один раз на ПК, и он будет использовать «fork» автоматически, когда я скомпилирую его в Linux? – AYBABTU

+1

Он абстрагирует большую часть базовой платформы, поэтому, если вы не пишете код, специфичный для ОС (что не требуется в большинстве приложений), вы можете скомпилировать тот же код на всех основных платформах. До сих пор большинство приложений, которые я разработал с Qt, были скомпилированы в Linux, Windows и Mac без изменения даже одной строки кода. – Raphael

3

Наибольшее преимущество Qt ИМО - его способность идти кросс-платформенной.

Кроме того, поскольку он скомпилирован, он должен (по крайней мере теоретически) работать быстрее, чем как .NET, так и Java-приложения.

9

Посмотрите на этот пост: Do you use Qt and why do you use it?

Лично я, как Qt, так как его кросс-платформенный, очень популярны, и вы можете иметь прототип будет готов очень быстро!

+10

Обратите внимание, что лицензия на Qt изменилась с момента ответа на этот вопрос. Теперь теперь можно использовать Qt бесплатно в коммерческом приложении благодаря версии LGPL. – karunski

+6

Очень хорошо указать это на Karunski! LGPL сыграла большую роль в широком принятии QT. – athspk

3

Это кросс-платформенные возможности и популярность являются привлекательными.

Я думаю, что два из самых больших преимуществ:

  • дизайна API отлично
  • инструментов, которые работают так seemlessly вместе с ним: QtCreator, PySide, Jambi
5
  • Это не просто кросс-платформа для настольных платформ, а именно - Windows, Mac OS и Linux, но и тот же код будет работать на устройствах на базе Embedded Linux, Windows CE/Mobile, Symbian и новоприбывших Meego. Для встроенного linux у него есть своя легкая оконная система на основе фреймбуфера, исключающая необходимость в X11.
  • У этого теперь также есть очень способная IDE в Qt Creator, которая снова работает на всех платформах и, следовательно, дает вам такую ​​же среду разработки, где бы вы ни находились.
  • Последний 4,7 идет с новым способом разработки приложений для устройств с использованием QML + Javascript для вашего интерфейса с поддержкой гибкого интерфейса с множественным касанием, непосредственно связанного с бизнес-логикой, выполняемой в классах C++ Qt.
  • То же самое верно для Qt Webkit на основе Webkit toolkit, где вы можете подключить свой код javascript к вашим основным классам C++, выполненным в Qt.
1

В менее слов,

  • Qt лучше для графического дизайна, потому что это быстрее, чем другие языки
  • управляется непосредственно процессором
  • Использование управления смарт-памяти
  • Это GUI Дизайнер очень полезен и прост в обращении.
  • Я сделал одно и то же приложение на Java и QT и работает как в 5 раз быстрее по QT

Для более подробного описания, вы можете посмотреть на эту статью:

http://turing.iimas.unam.mx/~elena/PDI-Lic/qt-vs-java-whitepaper.pdf

краткое сравнение на Java и Qt, очень интересно.

+0

Хотя это теоретически может ответить на вопрос, [было бы желательно] (// meta.stackoverflow.com/q/8259) включить сюда основные части ответа и предоставить ссылку для справки. –

+0

Изменения сделаны, ответ обновлен. – GTRONICK