Mac OS X 10.4 Tiger에 추가된 기능들
OSXDEV
Mac OS X v10.4 Tiger는 2001년 Mac OS X이 처음 릴리즈 된 이후에 가장 중요한 릴리즈이며 어떠한 개발을 하는 개발자에게라도 유용하고 관심있을 법한 많은 기능들을 가지고 있다. 이 문서는 타이거에 포함된 다음과 같은 기술에 대해 설명한다.
- Spotlight
- Dashboard
- 64-bit Development
- Xcode 2.0
- Automator
- Core Image
- Core Data
목차 |
[편집] Spotlight
메뉴바 상단 오른쪽에 추가된 아이콘으로 돋보이는 엔드유저들에게 첫번째로 두드러지게 부각되는 기능으로는 spotlight가 있는데 이것은 시스템에 있는 모든 데이터를 빠르고 직관적으로 검색하는 기능을 제공한다. Spotlight, 그리고 스마트 폴더 같은 타이거에 내장된 많은 다른 새로운 기능들은 시스템에 내장된 시스템 서비스로 시스템에 있는 파일들의 컨텐츠와 메타데이타를 수집, 업데이트 그리고 인덱스한다. 간단히 말해서, 매번 파일이 저장될때 메타데이타와 컨텐츠를 확인해서 인덱스된 데이타베이스에 저장한다. 그리고나서 Spotlight 검색이 실행될 때, 데이타베이스에 쿼리를 보내서 시스템 안에 있는 모든 해당파일의 경로를 받아온다. 이 방법은 애플리케이션과 데이타포맷를 전혀 변경할 필요가 없다. Spotlight의 작동은 아래 그림과 같다.
개발자에게 Spotlight의 잠재력은 거의 무한하다. 예를 들면, 애플리케이션이 사용자의 홈 폴더에 있는 카탈로깅된 이미지를 찾아서 작업해야 하거나 contacts와 연동되어 작동되는 애플리케이션을 상상해보라. Spotlight는 파일들과 적절한 특정 사람의 아이템을 디스플레이 해줄 수 있다. 타이거에는 다양한 많이 알려진 파일 포맷의 임포터를 제공하는데 그것으로 JPEG, PNG, TIFF, GIF같은 이미지 파일이나 MP3 또는 AAC같은 오디오 파일, 퀵타임 무비 ,PDF파일, iChat기록, 이메일, 주소록, 칼렌더 등등으로부터 메타데이타를 가져올 수 있다. 만일 당신이 제작한 애플리케이션이 고유의 포맷으로 파일을 저장한다면, Spotlight가 그 파일의 메타데이타를 수집하기를 원할 것이다. 그렇게 하기 위해서는, 애플리케이션과 함께 Spotlight 임포터 플러그인을 제공해야 한다. Xcode에서 Spotlight 임포터 템플릿을 이용해서 Spotlight 시스템을 위한 플러그인을 만들고 한개의 함수만 구현해주면 된다. 보다 많은 Spotlight 검색 기술에 대한 정보를 원하면 Working with Spotlight(http://developer.apple.com/macosx/spotlight.html)를 참고하라.
[편집] Dashboard

타이거에 추가된 새 기능 중 가장 참신한(정말?) 것은, 자주 참고해야하는 정보나 사용해야하는 기능을 빠르게 사용할 수 있게 해주는 새로운 방법인 Dashboard이다.
Dashboard는 매우 단순하고 특정 작업에 촛점이 맞춰진 위젯, 작은 애플리케이션의 기반 시스템이다. 그것들은 매우 빠르게 뜨며, 매우 간결하고 사용하기 쉽다.
위젯은 독립적일 수도 있고, 크고 강력한 애플리케이션과 연동되어 작동 될 수도 있고, 인터넷으로 부터 자료를 가져와 보여줄 수도 있고 그 이상의 다른 기능도 가능하다.
Dashboard는 강력한 새로운 방법으로 다양한 Mac OS X 기술과 연결 될 수 있다.
- Dashboard는 키를 누르거나 간단한 마우스 조작으로 엑스포제와 유사한 비쥬얼 이팩트를 사용해서 보이거나 보이지 않게 할 수 있다.이것은 위젯을 간편하게 사용 할 수 있게해주고 사라지게 할 수 있다.
- 위젯은 웹킷을 기반으로 한다. HTML, CSS, JavaScript만 작성할 줄 알면 누구나 위젯을 만들 수 있다.
- 쿼츠기반의 향상된 드로윙 능력을 가지고 있어서 JavaScript로 아름다운 UI를 만들 수 있다.
- 위젯은 플러그인을 지원한다. 그래서 코코아와 오브젝티브C 그리고 시스템 코드나 네이티브 코드와 연동이 가능하다.
- 그리고 코코아를 이용해서 다른 시스템 기능을 이용할 수 있다.
매우 빠르고 쉽게 많은 흥미로운 기능을 가진 위젯을 만들 수 있다. 예를 들면, 네트웍상 어딘가에서 당신의 애플리케이션을 체크 아웃하고 빌드하고 테스트하는 빌드 시스템을 상상해보라. 위젯을 통해서 에러 메시지를 빌드서버로 부터 받아서 보여줄 수 있다. 위젯의 링크를 클릭하면 파일을 Xcode로 열고 즉시 문제를 수정한 후에 다시 빌드 할 수 있을것이다. 웹킷, 쿼츠, 코어이미지의 능력을 이용해서 위젯의 가능성은 무한하다. Dashboard에 대해서 더 많이 알고자 한다면 Developing Dashhboard Widgets(http://developer.apple.com/macosx/dashboard.html )를 참고하기 바란다.
[편집] 64-bit Development

타이거의 64비트 지원은 데이터 집약적인 예를 들면, 유전자염기서열을 처리하거나 진보된 의학용 이미지 프로세싱, geospatial 애플리케이션 같은 애플리케이션에 64비트 어드레싱을 가능하게 해준다. 64비트로 표현된 데이터의 예를 들기위해서, 32비트로 표현된 금문교의 road area 데이터셋을 가지고 작업한다고 상상해보라. 64비트 어드레스 스페이스는 동일 해상도에서 지구 전영역의 지표상태의 모델을 제공해준다. 또한, LibSystem 그리고 많은 애플의 최적화된 수학라이브러리가 타이거에서는 64-bit 어드레싱을 지원한다, 이것은 PowerPC G5의 컴퓨팅 파워와 매우 큰 용량의 메모리를 개발자로 하여금 쉽게 사용할 수 있게 해준다.
알다시피 Power Mac G5와 iMacG5는 완전한 64비트 프로세서인 PowerPC G5 프로세서를 사용한다.
이것은 64비트레지스터, 64비트 연산 그리고 OS가 4기가바이트를 넘어서는 메모리를 억세스 할 수 있게 해준다. 16exabyte의 가상메모리를 제공하며 맥에 물리적 메모리 역시 더 많이 꽂을 수 있다.
다른 CPU 아키텍쳐와 달리 G5는 32비트 애플리케이션을 돌릴때 성능 저하가 없다.
이것은 PowerPC 아키텍쳐가 처음부터 32비트 서브셋을 가지는 64비트 아키텍쳐로 설계되었기 때문에 자연스럽게 32비트에서 64비트로 옮겨갈 수 있다.
더더군다나 32비트 애플리케이션에서도 64비트 레지스터와 연산 같은 많은 64비트의 기능을 사용할 수 있다.
이것은 애플이 32비트 아키텍쳐에서 64비트 아키텍쳐로 자연스럽게 옮겨 갈 수 있게 해준다.
예를 들면, 애플 하드웨어를 위한 단 한가지 버젼의 커널만 존재한다.
타이거의 64비트 지원은 더 나은 애플리케이션을 만들 수 있게 해준다.
더 많은 64비트의 기능은 Developing 64-bit Applications에 설명되어있다.
[편집] Xcode 2.0
Xcode 2.0은 애플 개발자 툴셋의 두번째 중요한 메이져 버젼으로 새로운 몇몇 기능과 함께 전 제품에 걸쳐 신뢰성이 향상되었다. 가장 주의할만한 새 기능은 새로운 비쥬얼 모델링 툴이다. 프로젝트에서 클래스들을 선택해서 Xcode가 단순히 코드를 반영하는데 그치지 않고 네비게이션 할 수 있는 비쥬얼 클래스 상속 다이어그램을 생성하게 할 수 있다. 그리고 코드를 수정하게 되면 다이어그램에 반영된다. 이 다이어그램들은 직접 생성한 클래스에 제한되는 것은 아니라 코어데이타에서 생성되고 관리되는 데이타 엔티티에 대해서도 해당된다.
다른 새로운 기능은 비쥬얼한 리모트 디버깅이다. 많은 애플리케이션의 경우 가장 확실한 디버깅 방법은 개발자가 Xcode를 돌리는 기계에서 애플리케이션을 실행시키는 방법이다. But when working on full-screen applications, 하지만 게임같은 풀스크린 애플리케이션을 제작하고 있는 경우, 또는 이벤트 핸들링을 디버깅 하는 경우, 원격 디버깅은 다른 기계에서 애플케이션을 작동시키고 같은 디버깅 기능을 원격으로 사용 할 수 있게 해준다. Xcode 2.0은 GUI가 향상되었을 뿐만 아니라 새로운 C++파서와 auto-vectorization을 포함해서 코드 생성기능이 향상된 GCC 4.0을 탑재했다. 수작업으로 튜닝된 벨로시티 엔진이 G4와 G5에서 최대의 성능을 끌어 낼 수 있지만 이제는 GCC로 쉽게 할 수 있다. 어레이 같은 데이타를 다룰때 GCC의 auto-vectorization으로 최소 4배에서 최대 14배의 성능 향상을 기대 할 수 있다. Xcode 2.0에 대해서 더 알고 싶다면 Working with Xcode 2.0을 보기 바란다.
[편집] Automator
애플스크립트는 여러개의 애플리케이션을 엮어서 사용할 수 있게 해준다. 오토매이터는 애플스크립트의 애플리케이션 통합기술을 크게 발전 시켰다. 오토매이터로 사용자들은 드래그 앤 드랍으로 다양한 애플리케이션으로 하나의 저장가능한 워크플로어를 만들 수 있다. 이것은 셸스크립트와 커맨드라인 툴의 파이핑 같지만 비쥬얼 인터페이스를 가지고 있다.

Figure 4: 오토매이터에서 서로 엮여있는 액션들.
개발자의 관점에서 애플스크립트나 코코아를 이용해서 액션을 구성하는 것은 쉽다. 다른 사람이 자신의 워크플로어에서 사용할 수 있게 기능을 추가할 수 있다. 예를 들어 공동작업 환경에서 다양한 내부 웹사이트로 부터 데이타를 수집해서 리포트를 생성하고 팀 내의 다른 맴버에게 그 리포트를 보낼 수 있는 액션을 만들 수 있다.
-계속 번역 중-






