2011-12-23 5 views
1

Apple은 64 비트 애플리케이션에서 Carbon을 삭제했습니다. 카본 UI 위젯을 타겟으로하는 레거시 코드 더미가 있는데, 잠시 동안 계속 사용하고 싶습니다. 대부분은 호스트 플랫폼과 동기화되어 64 비트가되어야하는 플러그인 및 번들 형식입니다.기존 탄소 코드 유지

애플이 가정하고있는 것으로 보이는 선택은 모든 기존 코드를 으로 버리고 코코아를 사용하여 다시 작성하는 것입니다. 그것은 짧은 실행에서 일어날 일이 아니기 때문입니다. 왜냐하면 동일한 레거시 코드가 PC 바인딩에도 묶여 있기 때문입니다.

나는 3 가지 옵션을 고려하고

코코아에

(1) 다이빙, 실제로 필요한 탄소의 작은 하위 집합 을 지원하는 호환성 패키지를 만들 수 있습니다.

(2) 새로운 타겟으로 Cocoatron을 사용하십시오. 짧은 실행 탄소 - 투 - 코코 트론, 그리고 아마도 더 이상 실행에 코코아 트론 네이티브 mac 및 pc로 변환합니다. (3) QT를 새로운 타겟으로 사용하십시오. 옵션 (2)를 참조하십시오. (참조 : http://qt.nokia.com/)

내가 정말 선호하는 애플 죽인 64 비트 탄소 베타의 불법 복사 또는 명시 적으로 단지 탄소를 에뮬레이트하도록 호환성 패키지로, 네 번째 옵션입니다.

+2

완전히 일반적인 답변이 아니라면 더 자세한 정보가 필요합니다. 레거시 코드는 무엇을합니까? 어떤 유형의 응용입니까? 우리가 더 많이 배울 수있는 링크가 있습니까? – wadesworld

답변

6

옵션 1을 선택하는 것이 좋습니다. 코드 작성을위한 Cocoa UI 래퍼를 만드는 것이 생각만큼 복잡하지는 않을 것입니다. 크로스 플랫폼 앱을 만드는 일반적인 방법은 크로스 플랫폼 C++에서 대량의 앱을 만들고 Mac UI 용으로 Cocoa/Objective-C++를 사용하고 Windows UI 용 Windows API 중 하나를 사용하는 것입니다.

이 옵션은 Apple에서 완벽하게 지원하며 API가 안정적이고 성숙한 장점이 있습니다.

코코 트론은 좋은 생각이지만 현재로서는 견고한 크로스 플랫폼 솔루션을 제공하기에는 충분히 성숙하지 않았습니다. 성공 사례가 있지만 샘플 크기는 작습니다.

Qt는 옵션입니다. 그러나 Mac과 같은 UI와는 거리가 멀습니다. Mac에서 Qt 응용 프로그램을 사용하면 기본 응용 프로그램이 아닌 빠른 포트처럼 느껴질 수 있습니다.

"bootleg Carbon 런타임"은 단지 환상적입니다. 안정적인 작동을 보장 할 수있는 방법이 전혀 없으며, 배포 할 기회도 전혀 없습니다. 다른 방법을 찾아야합니다.

+0

Cocotron에 관한 IDK,하지만 GNUstep은 지난번에 내가 시도한 Windows에서 아주 잘 돌아갔다. –

관련 문제