[App 개발] 코코아와 카본
본문
API와 MFC를 공부하잖아요
대게 C환경의 API를 어느정도 섭렵하고 C++환경의 MFC를 하는게 보통인데...(RAD툴은 제외하고..)
Object C와 Cocoa를 공부하다보니 저런 생각이 드는군요
특히 Network쪽을 구현하면 대부분 API레벨에서 구현을 하니까요.
실제로 어떤가요?
Cocoa로 못하는게 (또는 성능상의 이유로) Carbon으로 구현하는 경우...가 있나요
최신글이 없습니다.
최신글이 없습니다.
댓글목록 2
hongjuny님의 댓글
Win32 의 API 와 MFC 의 관계는
일단 기본 기능은 모두 Win32 에서 빌드업 되어 있고, 그 다음 C++ 로 Wrapper 를 만들어 준 것이 MFC 라고 개념을 잡으면 되겠지요.
카본과 코코아의 관계는 반드시 그렇지는 않습니다. (오잉~)
Cocoa 로만 지원되고 Carbon 으로는 안 되는 기능 (예: Core Image) 이런 경우 C 에서 Obj-C 용으로 브릿지 함수를 하나 더 정의해서 부르면 되긴 합니다만...
Carbon 에서만 되고 Cocoa 로는 지원되지 않는 기능 (예: 툴박스 ㅡㅡ;) 옛날 코드와의 호환성을 감안해서 남겨둔 파스칼 함수까지 코코아에서 지원할 이유가 없겠죠?
코어 그래픽스 함수 등은 Obj-C 가 아니라 C 형 함수죠? 하지만 Obj-C 가 C 함수를 부르지 못하는 것도 아니고... 또한, C 함수니까 카본이다 라고 부르는 것도 이상하고... ㅡㅡ;
그리고, 네트웍을 API 레벨에서 구현을 한다... 하는것도 약간 그런것이... ^^;;; 범용 함수들이 아닌, 특정한 세션 레이어를 위한 클래스는 이미 지원을 하고 있지요? 굳이 범용 클래스가 필요하지 않기 때문에 그 정도 선에서 멈추었다고 보는 편이 좋을 듯 싶습니다.
논란이 좀 있었습니다. 코코아 (혹은 Obj-C) 로 구현된 소프트웨어는 카본 (혹은 C) 보다 속도가 느릴까? 결론적으로 본다면, 최적화를 바짝 조여서 해야 할 경우에는 C 로만 구현하는 편이 더 나으며, 필요하면 inline 까지 섞어서 해야 하겠지요. 하지만, 일반 프로그램 운용을 생각한다면 코코아 쪽이 훨씬 쉽습니다. 코코아이기 때문에 못하는 것이 아니라, 코코아까지 쓸 필요가 없는 것이라고 해야 하지 않을까 싶네요. ^^
B군님의 댓글
답변 감사합니다^^ (닉네임 바꿨습니다~)