Вопрос

Плюсы.и минусы?как долго ты его используешь?А что насчет Джамби?

Это было полезно?

Решение

Я использовал Qt в нескольких проектах, которые делал на C++ на нескольких платформах в течение семи лет.Я думаю, что это работает довольно хорошо, и мне определенно было быстрее разработать достойное приложение с графическим интерфейсом для Mac, чем корпеть над языком, который я в то время не знал (Objective-C).

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

Я никогда не пользовался джамби.

Другие советы

Я использую Qt уже несколько лет для коммерческой разработки и очень доволен этим.

Одна из приятных особенностей Qt заключается в том, что он предоставляет большой набор библиотек, а также элементы графического интерфейса (например, анализ XML, потоки, работу в сети), все в едином стиле и на нескольких платформах.Это означает, что нам редко приходится использовать другие библиотеки, хотя для некоторых вещей мы используем boost.

Еще одним очень важным фактором для нас стала интернационализация.В предыдущем приложении на базе MFC нам приходилось поддерживать две локализованные версии для двух поддерживаемых языков.В нашем приложении на базе Qt у нас есть только одна версия.

  • Система перевода Qt с использованием Linguist проста в использовании и упрощает поддержку нескольких языков (конечно, вам все равно придется переводить строки, а это требует много работы!)
  • Система макетов графического пользовательского интерфейса, в которой виджеты изменяют свои размеры в соответствии с макетом, значительно упрощает работу.В разных языках длина строк разная.При использовании виджетов фиксированного размера (например, MFC) каждый диалог необходимо настраивать для каждого языка, иначе части надписей будут обрезаны.С Qt они изменяют размер сами.Конечно, бывают случаи, когда это работает не совсем правильно, но все равно все намного проще.
  • QString делает все в Unicode и очень легко обрабатывает преобразования из разных кодеков.

Одна вещь, которая была очень ценной, — это доступ к исходному коду, хотя это, конечно, не уникально для Qt.В нескольких случаях возможность проверить исходный код Qt объясняла какое-то странное поведение или давала подсказку, как чего-то достичь.

Мы обнаружили несколько ошибок в Qt, некоторые из которых были исправлены после сообщения в Trolltech.В других случаях они предлагали обходной путь.Все они были довольно неясными и не оказали серьезного влияния на наше развитие.

Одним из основных недостатков Qt является отсутствие сторонних библиотек для использования в коммерческих приложениях.Однако Qt достаточно завершен, поэтому для нас это не стало большой проблемой, хотя это будет зависеть от того, какой тип приложения вы разрабатываете.

Я тоже не пользовался Джамби.

Вот некоторые из моих плюсов и минусов Qt:

Плюсы:
Кросс-платформенный
Я знаю, что этот вариант всегда используется, но после переключения между Windows и Linux с помощью Qt удивительно, как мало мне нужно сделать, чтобы начать работу.Я думаю, этому способствует тот факт, что я использую Vim только с Qt Designer.

QMake
Это один из моих любимых аспектов Qt.После работы в wxWidgets, FLTK и т. д. я так устал возиться с разными системами сборки, что не хочу вручную создавать свои make-файлы.В настоящее время я использую CMake для чего-либо, кроме Qt, но думаю, что постепенно переведу даже Qt на CMake.Однако с QMake очень легко начать работу.

QTestLib
Я просмотрел пару других платформ модульного тестирования C++, и когда я создавал свои тесты с использованием QTestLib, они были очень похожи на NUnit(C#), и через несколько минут у меня было несколько пройденных тестов.Я также заметил, что было бы очень легко создать свой собственный непрерывная интеграция среда.

Ближайший к Java и .Net по производительности
Самое важное, что я слышу/читаю от людей о C++, это: «Я могу быть более продуктивным с Java или .Net».Из личного опыта я могу получить прототип приложения, работающего на Qt, с помощью Vim и Qt Designer еще до загрузки Eclipse или Visual Studio.Я также получаю очень похожий набор библиотек в Qt, который есть в .Net или Java, и если его там нет, я могу использовать существующий код C++.


Минусы:
Цена
Это самый важный фактор, о котором я могу сейчас думать.Однако стоимость стоит каждого цента, если бы я знал, сколько центов мне пришлось накопить, не звоня торговому представителю.Я купил лицензию еще в тот день, когда у них была скидка для малого бизнеса, и тогда она того стоила, я бы заплатил в три раза больше, и я думаю, что это текущая цена.

Разрабатывайте где угодно с коммерческой лицензией
Мне бы хотелось иметь возможность разрабатывать на любой платформе, но создавать и продавать для другой платформы.Например, разработайте для Linux, а затем создайте и разверните его в Windows, если у вас есть только коммерческая лицензия Windows.Насколько я знаю, вы можете разрабатывать и создавать коммерческое приложение только на той платформе, на которую у вас есть лицензия.

Привязка к поставщику
Ну, это скорее личное мошенничество.Мне не нравится быть привязанным к конкретному поставщику, потому что меня отвлекают от направления компании и направления продукта.TrollTech была куплена Nokia, хорошо это или плохо, я не знаю, но компания такого размера может творить злые дела.


Думаю, на этом я закончил :).О, я не использовал Jambi, но мне очень интересно реализовать пару проектов прототипов, чтобы выяснить, насколько легко использовать плагин, разработанный на C++, с Jambi.Особенно использование Jambi в качестве веб-интерфейса с плагинами C++.

Честно говоря, я мало что читал об этом, так что это может быть невозможно или очень легко.

Я использовал Qt на предыдущей работе.За несколько лет до этого у меня был самый краткий контакт с Qt, так что я был практически новичком в Qt.

Когда я начинал, мне сказали выбрать язык и среду, но кроссплатформенная поддержка была желательна.Я попробовал Qt и Java, и даже попробовал C#, просто так.Я дал себе два дня, чтобы оценить каждый вариант.

Возможно, я был немного предвзятым в отношении своего опыта работы в качестве разработчика C++, но после того, как я потратил время на каждый вариант, Qt был единственным, который показал какие-либо намеки на полезность без длительного обучения.

Документация, поставляемая с Qt, и примеры приложений позволили опытному разработчику, но новичку в Qt, очень быстро приступить к работе.К концу пробного периода у меня были готовы прототипы/макеты пользовательского интерфейса конечного приложения.С Java/Eclipse, Java/SunStudio и C#/VS.net у меня были проблемы с тем, чтобы за это время произошло что-то нетривиальное.

К сигналам/слотам потребовалось некоторое время, чтобы привыкнуть, но это было не так уж и плохо, и я написал несколько простых оболочек, которые будут сообщать, когда соединения не работают, и не позволяют глупым опечаткам останавливать приложение.от работы.

Еще мне понравилось то, что в Qt было почти все, что мне нужно.Вы называете это — хранилище, сеть, графический интерфейс, потоки, контейнеры — в Qt есть класс, который с этим справляется.Что, ИМХО, важно, потому что смешивание библиотек иногда может вызывать проблемы.

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

Я также нашел поддержку Trolltech довольно хорошей.Я поднял пару ошибок в Qt, одна из которых была исправлена ​​и выпущена, пока я еще работал над проектом (всего 6 месяцев).

Единственный минус, который я могу вспомнить, - это сложность отладки объектов Qt (с использованием VS) - для VS существует плагин Qt, который может проверять объекты Qt, но я использовал бесплатную версию VS, и плагины для нее не работают.Но это была не вина Qt.

Я не использовал Jambi, поэтому не могу комментировать.

На C++ единственными альтернативами являются MFC и wxWidgets.QT/wxWidgets — это во многом личное предпочтение.Я считаю, что QT — это чистый дизайн с хорошей документацией.
QT стоит около месячной зарплаты разработчика, если вы не используете его под лицензией GPL.

Я использую Qt уже более двух лет.

Что мне нравится в Qt:

  • Легкое программирование с графическим интерфейсом (по сравнению с MFC), QT Designer
  • Хорошие контейнерные классы
  • Хорошая графическая среда сцены
  • Отличная документация с полезными примерами
  • Поддержка перевода
  • Хорошая техническая поддержка

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

Qt — очень хорошая библиотека, но у нее дорогая лицензия разработчика на рабочее место, поэтому она не всегда полезна для всех проектов.

Однако не используйте его...

Плюсы:QT имеет дополнительную трехфазную схему, тогда как WX в настоящее время допускает только две фазы (я думаю, что они планируют сделать трехфазную схему, просто еще не разработали ее).

Одна из самых больших проблем при использовании макетов — статический текст и перенос.WX спрашивает, насколько велика ваша минимальная ширина/высота и части экрана, у QT есть возможность сказать, какой ширины вы хотите, какой высоты вам нужно быть, если у вас ширина X.Это позволяет вам гораздо лучше выразить поток страницы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top