문제

프로. 그리고 단점? 얼마나 오래 사용합니까? Jambi는 어떻습니까?

도움이 되었습니까?

해결책

나는 7 년 동안 여러 플랫폼에서 C ++에서 한 몇 가지 프로젝트에서 QT를 사용했습니다. 나는 그것이 잘 작동한다고 생각하고 당시에 알지 못하는 언어 (Objective-C)를 통해 Plodding보다 Mac에서 괜찮은 GUI 앱을 개발하는 것이 더 빠르다고 생각합니다.

신호/슬롯 메커니즘은 약간 펑키하지만 끔찍하지 않다고 생각합니다. 일단 조금 사용하면 쇼 스토퍼가 아닙니다. 연결 재료는 상승하기 쉽고 (또는 적어도 적어도) 앱이 길을 가고 작동하지 않았다고 말하지 않기 때문에 항상 반품을 확인하는 것이 좋습니다.

나는 잠비를 사용한 적이 없다.

다른 팁

나는 상업적 개발을 위해 몇 년 동안 QT를 사용해 왔으며 그것에 매우 만족했습니다.

QT의 좋은 점 중 하나는 GUI 물건 (예 : XML 파싱, 스레드, 네트워킹), 모두 일관된 스타일과 모든 멀티 플랫폼을 제공한다는 것입니다. 이것은 우리가 다른 라이브러리를 사용하지 않아도되지만, 우리는 어떤 것들에 부스트를 사용한다는 것을 의미합니다.

우리에게 또 다른 중요한 요소는 국제화였습니다. 이전의 MFC 기반 애플리케이션에서는 우리가 지원하는 두 가지 언어에 대해 2 개의 현지화 된 버전을 유지해야했습니다. QT 기반 앱에는 하나의 버전 만 있습니다.

  • 언어 학자를 사용하는 QT 번역 시스템은 사용하기 쉽고 여러 언어를 쉽게 지원할 수 있습니다 (물론 많은 작업 인 문자열을 번역해야합니다!)
  • 위젯이 레이아웃에 따라 크기를 조정하는 GUI 레이아웃 시스템은 모든 것을 훨씬 쉽게 만듭니다. 다른 언어에서는 문자열의 길이가 다릅니다. 고정 된 크기 위젯 (MFC와 같은)의 경우 각 언어에 대해 각 대화 상자를 조정해야합니다. 그렇지 않으면 레이블의 일부가 차단됩니다. QT와 함께 그들은 스스로 크기를 조정합니다. 물론 정확히 제대로 작동하지 않지만 여전히 모든 것이 훨씬 쉬워집니다.
  • Qstring은 유니 코드의 모든 것을 수행하고 다른 코덱의 변환을 매우 쉽게 처리합니다.

매우 귀중한 한 가지는 소스에 대한 액세스입니다. e는 확실히 QT에 고유하지는 않습니다. 여러 경우에 QT 소스를 확인하는 능력은 이상한 행동을 설명하거나 무언가를 달성하는 방법에 대한 단서를 제공했습니다.

우리는 QT에서 몇 가지 버그를 발견했으며, 그 중 일부는 Trolltech에보고 한 후 수정되었습니다. 다른 경우에는 주변의 작업을 제안했습니다. 이것들은 모두 상당히 모호했으며 우리의 발전에 큰 영향을 미치지 않았습니다.

QT의 주요 단점 중 하나는 상업용 응용 프로그램에 사용하기위한 타사 라이브러리가 부족하다는 것입니다. 그러나 QT는 상당히 완료되었으므로 우리에게는 큰 문제가 아니었지만 어떤 유형의 응용 프로그램을 개발하고 있는지에 달려 있습니다.

나는 잠비를 사용하지 않았다.

다음은 QT와의 장단점입니다.

장점 :
크로스 플랫폼
나는 이것이 항상 사용된다는 것을 알고 있지만, QT를 사용하여 Windows와 Linux 사이를 오가는 후에는 일어나서 실행하기 위해 얼마나 적은 일이 필요한지 놀랍습니다. 나는 이것이 QT 디자이너와 VIM 만 사용한다는 사실에 도움이된다고 생각합니다.

Qmake
이것은 QT에서 내가 가장 좋아하는 측면 중 하나입니다. WXWIDGETS, FLTK 등에서 일을 한 후에는 다른 빌드 시스템으로 엉망이되는 데 너무 지쳤으며 수동으로 MakeFiles를 만들고 싶지 않습니다. 나는 현재 QT 이외의 다른 것에서 CMAKE를 사용하고 있지만 QT를 CMAKE로 천천히 움직입니다. 그러나 Qmake와 함께 가기가 너무 쉽습니다.

qtestlib
다른 C ++ 장치 테스트 프레임 워크를 보았고 QtestLib을 사용하여 테스트를 만들었을 때 Nunit (C#)과 매우 유사한 느낌이 들었고 몇 분 안에 여러 번의 통과 테스트가있었습니다. 또한 내 자신을 만드는 것이 매우 쉬울 것임을 알았습니다. 지속적인 통합 환경.

생산성에서 Java 및 .NET에 가장 가깝습니다
사람들이 C ++에 대해 말하는 가장 큰 것은 "Java 또는 .NET로 더 생산적 일 수 있습니다"입니다. 개인적인 경험을 통해 Eclipse 또는 Visual Studio가로드되기 전에 VIM 및 QT Designer를 사용하여 QT에서 실행되는 응용 프로그램의 프로토 타입을 얻을 수 있습니다. 또한 .NET 또는 Java에있는 QT에서 매우 유사한 라이브러리 세트를 얻습니다. 그렇지 않은 경우 기존 C ++ 코드를 활용할 수 있습니다.


단점:
가격
이것이 제가 지금 생각할 수있는 가장 큰 요인입니다. 그러나 비용은 매년의 가치가 있습니다. 음, 영업 담당자에게 전화를 걸지 않고 얼마나 많은 센트를 절약해야했는지 알고 있다면 음. 나는 그들이 소규모 비즈니스 할인을받은 날에 라이센스를 다시 구입했는데 그만한 가치가 있었는데, 나는 3 배나 많은 비용을 지불했을 것입니다. 나는 그것이 현재 가격이라고 생각합니다.

상업용 라이센스로 어디서나 개발하십시오
나는 모든 플랫폼에서 개발할 수 있지만 다른 플랫폼을 위해 구축 및 판매하고 싶습니다. 예를 들어 Linux에서 개발 한 다음 Windows 상용 라이센스 만 있으면 Windows에 빌드 및 배포하십시오. 내가 아는 바에 따르면 라이센스가있는 플랫폼에서 상용 애플리케이션 만 개발하고 구축 할 수 있습니다.

공급 업체 잠금
글쎄요, 이것은 더 개인적인 사기입니다. 회사 방향과 제품 방향으로 측면을 추적하기 때문에 특정 공급 업체와 연결되는 것을 좋아하지 않습니다. Trolltech는 Nokia에 의해 구입되었으며, 내가 모르는 것이 좋거나 나쁘지만 규모가 악한 일을 할 수있는 회사는 악의적 인 일을 할 수 있습니다.


지금은 끝났다고 생각합니다 :). 오, 나는 Jambi를 사용하지 않았지만 Jambi와 함께 C ++로 개발 된 플러그인을 사용하는 것이 얼마나 쉬운 지 알아 내기 위해 몇 가지 프로토 타입 프로젝트를 수행하는 데 정말로 관심이 있습니다. 특히 C ++ 플러그인이있는 웹 인터페이스로 Jambi를 사용합니다.

솔직히 말해서 나는 그것에 대해 많이 읽지 않았으므로 불가능하거나 매우 쉬울 수 있습니다.

나는 이전 직업에서 QT를 사용했습니다. 나는 몇 년 전에 QT와의 가장 짧은 접촉을 가지고 있었기 때문에 나는 거의 QT Newb였습니다.

내가 시작했을 때 나는 언어와 환경을 선택하라는 말을 들었지만 교차 플랫폼 지원이 바람직했습니다. 나는 QT와 Java를 시험해 보았고 심지어 C# A가 도대체를 위해 갔다. 각 옵션을 평가하기 위해 이틀을 주었다.

어쩌면 나는 C ++ 개발자로서의 역사와 약간 편견이 있었지만 각 옵션에서 시간을 보내고 나면 QT가 긴 학습 곡선없이 유용하다는 힌트를 보여주는 유일한 사람이었습니다.

QT와 예제 애플리케이션과 함께 제공된 문서는 숙련 된 개발자가 쉽게 쉽게 만들었지 만 QT 초보자는 매우 빨리 일어나고 실행할 수있었습니다. 시험 기간이 끝날 때까지 최종 응용 프로그램의 UI 프로토 타입/모형이있었습니다. Java/Eclipse, Java/Sunstudio 및 C#/vs.net을 사용하면 그 당시 사소한 일이 발생하는 데 어려움을 겪었습니다.

신호/슬롯은 익숙해졌지만 너무 나쁘지는 않았고, 연결이 앱을 멈추지 못하게하는 연결이 실패했을 때 간단한 포장지를 썼습니다. 일에서.

내가 좋아하는 또 다른 것은 QT가 내가 필요한 거의 모든 것을 가지고 있다는 것입니다. 스토리지, 네트워킹, GUI, 스레딩, 컨테이너 - QT는이를 처리 할 클래스가 있습니다. 라이브러리를 믹싱하면 때때로 문제가 발생할 수 있기 때문에 어떤 IMHO가 중요합니다.

소스 코드를 QT에 보유한 것은 큰 관심을 끌기위한 큰 장점이지만, 개발 중에 사용하기위한 디버그 버전을 포함하여 컴파일러와 선택의 설정을 사용하여 QT를 컴파일 할 수있었습니다.

또한 Trolltech의 지원이 상당히 좋은 것을 발견했습니다. 나는 QT에서 몇 가지 버그를 제기했는데, 그 중 하나는 여전히 프로젝트를 진행하는 동안 고정되어 출시되었습니다 (6 개월 만).

내가 기억할 수있는 유일한 부정적인 것은 QT 객체를 디버깅하는 데 어려움이 있다는 것입니다 (VS 사용) - QT 객체를 검사 할 수있는 VS 용 QT 플러그인이 있지만 VS의 무료 버전을 사용하고 있으며 플러그인이 작동하지 않습니다. 그러나 그것은 QT의 잘못이 아니 었습니다.

나는 잠비를 사용하지 않았으므로 댓글을 달 수 없습니다.

C ++에서 유일한 다른 대안은 MFC 및 WXWIDGET입니다. QT / WXWIDGETS는 주로 개인적인 취향입니다. QT는 좋은 문서를 가진 깨끗한 디자인이라고 생각합니다.
QT는 GPL에 사용하지 않는 경우 약 1 개월의 개발자 급여 비용이 소요됩니다.

저는 2 년 넘게 QT를 사용해 왔습니다.

내가 QT에서 좋아하는 것은 다음과 같습니다.

  • Easy GUI 프로그래밍 (MFC 비교), QT 디자이너
  • 멋진 컨테이너 클래스
  • 멋진 그래픽 장면 프레임 워크
  • 유용한 예제가있는 훌륭한 문서
  • 번역 지원
  • 좋은 기술 지원

나는 강력히 추천 할 수있다 QT 개발자 일. 참여할 기회가 있다면 그렇게하십시오! 거기에 멋지고 매우 흥미로운 대화가 많이 있습니다.

QT는 매우 멋진 라이브러리이지만 고요한 시트 당 개발자 라이센스가 있으므로 모든 프로젝트에 항상 유용하지는 않습니다.

그러나 그것을 사용하지 마십시오 ... ...

Pro : QT는 옵션 3 위상 레이아웃을 가지고 있는데, 여기서 WX는 현재 2 개만 허용합니다 (3 단계를 수행 할 계획이라고 생각합니다. 아직 작동하지 않았습니다).

레이아웃 사용에있어 더 큰 문제 중 하나는 정적 텍스트와 포장입니다. WX는 최소 너비/높이와 화면의 부분이 얼마나 큰지 묻습니다. QT는 X가 넓고 X 폭이 얼마나 높아야하는지를 말할 수있는 옵션이 있습니다. 이를 통해 페이지의 흐름을 훨씬 더 잘 표현할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top