2010-01-27 3 views
21

Symbian 시스템에서 개발할 계획을 가지고 있지만 익숙하지 않습니다. 나는 Symbian에서 개발하는 가장 보편적 인 방법이 Symbian C++이며, 또한 Qt에 대해서 들어 봤다. 그들 사이의 차이점은 무엇입니까? 내 애플 리케이션을 대부분의 심비안 시스템에서 실행하고 싶다면, 내가 선택해야 할 것인가? 누군가 전체적인 조언을 해 줄 수 있습니까? Qt 또는 Symbian C++?

는 ~

답변

33

심비안 C++ 운영 체제가 기록되는 C의 방언 ++ 응용 프로그램 프레임 워크까지 커널에서 모든 방법입니다 감사합니다. 표준 C++과 다른 점은 다음과 같습니다.

  • 예외는 사용되지 않습니다. 심비안은 '나뭇잎'이라는 자체적 인 스택 푸는 방법을 사용합니다. 이것의 주된 이유는 Symbian이 만들어 졌을 때 C++ 표준이 아직 개발 중이었고 그 당시 예외는 컴파일러에서 널리 지원되지 않았기 때문입니다.
  • 예외에 대한 지원이 부족하기 때문에 동적으로 할당 된 메모리 관리는 정리 스택이라는 독점 메커니즘을 사용합니다. STL과의 포트가 심비안을 위해 사용할 수 있지만
  • , 이것은 최근의 개발이다, 그래서 OS가 함께 찍은 문자열, 배열, 해시 등

에 대한 자신의 유틸리티 클래스를 가지고, 이러한 학습을 ​​할 수 있습니다 심비안 C++은 노련한 C++ 프로그래머들조차도 꽤 어렵습니다. 특히 클린업 스택과 문자열 클래스 (디스크립터로 알려짐)는 Symbian C++ 개발에 상당한 오버 헤드를 추가하는 것으로 보입니다.

모든 운영 체제와 마찬가지로, 모국어를 알아야 할뿐만 아니라 개발 영역과 관련된 라이브러리 주위의 방법을 알아야합니다. 심비안은 많은 양의 기능 (스레딩, IPC, 그래픽, 멀티미디어, 네트워킹, 위치, 메시징, PIM, 전화 통신 등)을 다루는 매우 풍부한 라이브러리 세트를 가지고 있습니다. 일단 Symbian C++ 관용에 익숙해지면, 최소한 다른 플랫폼과 동일한 기능 세트를 제공하십시오. 한 가지 주목할만한 예외는 Avkon이라고 알려진 UI 라이브러리입니다. 이제는 다른 플랫폼의 해당 프레임 워크와 비교했을 때 꽤 오래된 것입니다.

Qt은 위에 나열된 문제 중 일부를 해결하기위한 것이며, 이는 사람들이 Symbian OS에서 기본 개발 기능을 사용하지 못하게하는 경향이 있습니다. 특히 C++ 프로그래밍의 훨씬 현대적인 스타일을 가능하게하고 매우 고급 그래픽/UI 라이브러리 세트를 포함합니다. 최신 Symbian 기기의 경우 현재 Qt is available for installation입니다. 앞으로는 완전히 새로운 응용 프로그램 프레임 워크의 기초를 형성하게 될 것이며이 응용 프로그램 프레임 워크는 S^4 버전 the platform (2011 년 출하 예정인 장치에 탑재 예정)에 소개 될 예정입니다.

내가 지적해야 할 것은이 시점에서 Qt가 네이티브 라이브러리의 모든 기능을 다루지 않는다는 점입니다. 위 목록에서 Qt는 스레드, IPC, 그래픽, 멀티미디어 및 네트워킹의 추상화를 제공하지만 핵심 라이브러리에는 위치, 메시징 또는 PIM 기능이 포함되어 있지 않습니다. 따라서 Qt를 사용하여 FTP 클라이언트, 그리기 프로그램 또는 미디어 플레이어를 작성할 수는 있지만 메시징 클라이언트를 작성하는 데는 Qt를 사용할 수 없습니다. Qt는 C++이기 때문에 과 같이 기본 Symbian C++ (예 : 메시징에 액세스하기 위해 플랫폼 API로 이동)와 혼합 할 수 있지만 다소 복잡합니다.

이 기능 차이는 Qt Mobility이라는 프로젝트에서 다루고 있으며 위치, 메시지 및 PIM과 같은 영역을 포함하는 Qt 라이브러리가 소개됩니다.

요약하면, Symbian을 처음 사용하는 경우 Qt는 배우는 응용 프로그램 개발 환경이므로 Qt 응용 프로그램을 다른 플랫폼에서 개발할 수있는 추가 이점이 있습니다 (크로스 플랫폼 도구 키트이므로) . 7 가능한 툴킷의 비교 -Symbian C++에서이

+0

대단히 감사합니다. 심비안의 Java ME는 어떨까요? –

+0

내 대답은 네이티브 C++ 개발 옵션에 집중되어 있지만 Symbian은 또한 많은 다른 런타임을 지원합니다. Java ME를 제외하고 Flash, Python, WRT, .NET (독점 라이브러리 포함)으로 개발할 수도 있습니다 ... 목록은 계속됩니다 ... –

+0

대단히 감사합니다. –

7

이동합니다. 그것은 모든 노키아가 가고있는 방향이 될 것입니다. 게다가 프로그램이 Maemo/Meego에서도 실행됩니다.

0

대답은 조금 늦게, 그러나 여기에 노키아 개발자 위키 Symbian C++ 출신 :

심비안 C++, 심비안에 대한 네이티브 프로그래밍 프레임 워크, 낮은 메모리 장치에 최적화 된 C++의 관용적 변종이다. Qt는 현재 이며 Symbian 앱을 만드는 권장 네이티브 프레임 워크 인 반면, 은 Symbian C++ 사용 도구에 대한 액세스를 계속 제공합니다. 이 계속 지원을 통해 기존 응용 프로그램을 유지 관리하고 Symbian 플랫폼의 최신 버전으로 마이그레이션 할 수 있습니다.

Qt가 현재 선호되고 새로운 프로젝트는 Qt를 사용해야합니다.

관련 문제