문제

나는 상당한 경험이 있습니다 에이스, 후원 그리고 wxwidgets. 나는 최근에 그것을 발견했다 포코 도서관. 누구든지 그들에 대한 경험과 성능 및 신뢰성과 관련하여 ACE, Boost 및 WXWidget과 어떻게 비교되는지가 있습니까?

특히 Ace를 Poco로 교체하는 데 관심이 있습니다. ACE가 X64 대상으로 VS2008을 컴파일 할 수 없었습니다. 나는 주로 ace_task를 사용하므로 Poco의 스레드 및 메시지 대기열로 교체 할 수 있다고 생각합니다.

나에게 관심을 갖는 Poco의 다른 부분은 httpserver, httpclient 및 layeredconfiguration입니다. 이러한 라이브러리는 Boost 및 WXWidget의 라이브러리와 비슷하지만 WXWIDGET을 GUI 구성 요소로 제한하고 비슷한 부스트 라이브러리가 어렵습니다.

나는 누구나 Poco, 좋든 나쁘 든 공유 할 수있는 경험에 관심이 있습니다.

도움이 되었습니까?

해결책

나는 Poco의 일부를 계속해서 사용했고 그것이 아주 좋은 lib라는 것을 알았습니다. 나는 몇 년 전에 에이스를 크게 버렸지 만 Poco에는 동일한 패턴과 같은 일부가 포함되어 있습니다. 작업, 원자로 등. 나는 그 문제가 없었기 때문에 안정적이라고 가정해야합니다.

내가 좋아하는 몇 가지 측면 :

  • 그것은 꽤 잘 통합 된 OOP 계층으로 구성 요소가 서로 잘 작동합니다. 그것은 부스트와 같은 것보다 훨씬 더 응집력있는 느낌을 가지고 있습니다.

  • 소스 코드를 사용할 수 있고 매우 명확합니다. 당신은 그것이 무엇을하고 있는지 이해하기 위해 큰 시간을 바칠 필요가 없습니다 (에이스, 적어도 마지막으로 소스를 보았습니다) 또는 템플릿 마법사 (부스트)가됩니다.

  • 구성 요소는 표준 C ++에 가깝습니다. 예외는 std :: 예외에서 파생됩니다. 그들은 아직 상대방의 계급 등을 재창조하지 않았습니다.

  • 놀랍게도 포괄적입니다. 언뜻보기에 나타나는 것보다 더 많은 것이 있습니다.

단점 :

  • 개인적인 취향의 문제이지만 저자는 헤더 파일 모델 당 한 클래스에 거의 고정되어있어 많은 다른 파일을 포함하여 끝납니다.

  • 제한된 문서. 대부분 Doxygen Type API 페이지와 소스 예제를 가리키는 몇 개의 PDF. 사용 가능하지만 LIB의 크기를 고려하면 구성 요소를 최대한 활용하는 경우 처음에는 파악하기가 어렵습니다.

  • 그 주위에 활발한 커뮤니티가 있다면 나는 그것을 찾지 못했습니다. 이 패키지는 일부 유럽 기반 회사에 의해 유지되며 위키가 있었지만 활발하거나 유용한 것을 찾지 못했습니다.

모든 것을 고려한 것은 단점이 아주 작은 것입니다. 나는 그것이 아주 좋은 도서관이라고 생각하며 확실히 추천 할 것입니다.

다른 팁

나는 ACE를 사용한 적이 없지만 Boost와 Poco를 사용했습니다. 나는 Poco의 코딩 스타일을 정말 좋아합니다. 패키지는 일관되며 소스 코드는 읽기 쉽습니다. 그들은 부스트처럼 미친 템플릿이 아닙니다. 내 경험상 부스트 - 직렬화 패키지, 포인터 맵 컨테이너 등을 사용하는 방법을 읽고 Poco를 사용하는 방법을 읽는 방법을 읽는 데 몇 시간을 보냅니다. 나는 그들이 좋은 디자인을 가지고 있고 필요한 경우 템플릿을 사용한다고 말할 것입니다.

부정적인 측면에는 API 문서가 있지만 패키지 사용 방법에 대한 광범위한 문서가 없습니다. 이를 위해 일반적으로 예제 소스 코드 또는 해당 단위 테스트 소스 코드를 살펴 봅니다.

Httpserver가 명백한 오류없이 Windows/Linux에서 작업하고 있습니다.

그래서 그것을 1 긍정적 인 경험으로 분필하십시오.

나에게 부스트는 새로운 C ++ 라이브러리에 가장 큰 견인력을 가지고있는 것 같습니다. 많은 사람들이 다가오는 C ++ 표준에 받아 들여 졌다는 사실은 그 자체로 말합니다.

나는 ACE를 사용하고 나 자신을 부스트하고 내가 선택한 이유는 그들이 성숙하고 (특히 ACE)가 대규모 강력한 사용자 커뮤니티를 가지고 있기 때문에 그들이 유지되고 향상 될 것이며 좋은 품질의 전문적인 지원을 얻을 수 있기 때문입니다. 우리는 사용 그것을 치료하십시오 ACE/TAO 지원을 위해 매우 만족합니다.

ACE는 부스트보다 훨씬 오래된 라이브러리이며 목표 중 하나는 더 이국적인 (내장) 플랫폼을 지원하는 것이므로 출혈 엣지 C ++ 기술을 부스트로 사용하지 않습니다. 나는 에이스와 부스트의 혼합물을 사용하고 있으며 그 조합에 매우 만족합니다.

WXWIDGETS를 주로 그래픽 UI 라이브러리이기 때문에 왜 WXWidget을 경기에 넣었는지 잘 모르겠습니다. 하지만 C ++ UI 프로젝트를해야한다면 함께 갈 것입니다. QT, 주로 이것은 널리 사용되는 라이브러리이기 때문에 (모든 KDE 데스크탑은 QT 위에 구축되어 있음) 잘 관리되어 있으므로 질문과 지원을 위해 큰 사용자 기반에 액세스 할 수 있습니다.

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