본문으로 건너뛰기

개발 노트

macOS 앱 개발과 관련한 기술 노트를 모아둡니다. 이론 강의가 아니라, 실제 문제를 풀다가 정리하게 된 관찰과 코드 스니펫이 중심입니다.

주로 다루는 기술 스택

SwiftUI. Apple 플랫폼의 새로운 표준 UI 프레임워크. macOS 14 이후 성숙도가 실용 수준에 올라왔지만 여전히 특정 영역은 AppKit과 함께 써야 합니다. 두 프레임워크의 연결 방식이 자주 다루는 주제입니다.

AppKit. macOS의 전통적 UI 프레임워크. NSView, NSWindow, NSResponder 같은 기본 개념부터 커스텀 컨트롤, 툴바 구성, 창 관리까지. 성숙한 macOS 앱이 여전히 AppKit에 의존하는 이유를 이해하는 것이 이 시리즈의 목표입니다.

Objective-C 유산. 새 코드를 Objective-C로 쓰는 경우는 드물지만, 오래된 프로젝트를 유지하거나 시스템 API의 명세를 이해할 때 여전히 등장합니다. 특히 KVO, KVC, NSInvocation 같은 개념은 Swift에서도 그 흔적이 남아 있습니다.

Foundation. NSString, NSArray, NSDictionary, NSDate 등의 기본 클래스와 Swift 대응 타입 (String, Array, Dictionary, Date). 두 세계를 오가는 브릿징의 실제 동작.

macOS 스크립팅. AppleScript, JXA (JavaScript for Automation), Shortcuts 앱, Shell 스크립트. 개발자의 워크플로우와 사용자 자동화를 이어주는 도구들입니다.

노트 구조

개별 노트는 대체로 다음 구조를 따릅니다.

맥락: 어떤 상황에서 이 문제를 마주쳤는지, 왜 이 주제가 필요했는지.

실제 해결: 코드 예제와 함께 실제로 작동하는 해결책. 복사해서 프로젝트에 붙일 수 있는 형태를 지향합니다.

대안과 트레이드오프: 다른 방법이 있으면 함께 소개하고, 왜 이 방법을 택했는지 서술합니다.

참고 자료: Apple 공식 문서, WWDC 세션, 신뢰할 만한 커뮤니티 리소스 링크.

다루지 않는 영역

UIKit이나 순수 iOS 개발은 이 사이트의 범위가 아닙니다. macOS와 함께 쓰는 맥락에서 iOS가 등장할 수는 있지만, 순수 iOS 개발 노트는 다루지 않습니다.

웹 개발, 백엔드 개발, 크로스 플랫폼 프레임워크 (React Native, Flutter)의 macOS 대응 부분은 다루지 않습니다. macOS 네이티브 앱 개발이 이 사이트의 초점입니다.

게임 개발, Metal, 고성능 그래픽스는 편집팀의 전문 영역이 아니라서 다루지 않습니다.

학습 리소스

편집팀이 자주 참고하는 리소스를 간단히 소개합니다.

Apple Developer Documentation. 첫 번째 참고 자료. SwiftUI와 AppKit의 공식 명세는 이곳에서 확인합니다. 오래된 문서는 여전히 Objective-C 예제만 있는 경우가 있어 주의가 필요합니다.

WWDC 세션 비디오. 특히 SwiftUI와 macOS 관련 세션은 실전 지식을 얻는 최선의 소스입니다. developer.apple.com/videos에서 검색으로 접근합니다.

Swift Forums. 언어 변경사항과 표준 라이브러리 관련 논의. Swift 자체의 진화 방향을 이해하는 데 유용합니다.

Hacking with macOS (Paul Hudson). macOS 개발 튜토리얼 시리즈. 실전 프로젝트 중심의 접근이 장점.

NSHipster (Mattt). Cocoa/Swift의 덜 알려진 API에 대한 심도 있는 노트. 편집팀 스타일에 가장 가까운 참고 자료.

코드 예제 정책

노트에 포함된 코드 예제는 실제로 동작하는 코드를 지향합니다. 실행 확인 없이 개념 설명용으로만 넣은 코드는 표시합니다. 코드 라이선스는 별도 명시가 없으면 개인 프로젝트에서 자유롭게 사용할 수 있습니다. 상업적 재배포는 사전 문의를 권합니다.

자주 묻는 질문

어떤 기술 스택을 주로 다루나요?

SwiftUI, AppKit, Objective-C, Foundation, 그리고 macOS와 함께 쓰기 좋은 스크립팅 언어(Python, AppleScript, Shell)를 주로 다룹니다.

샘플 프로젝트나 코드는 어디서 받을 수 있나요?

개별 노트 안에 코드 스니펫을 포함합니다. 전체 프로젝트 형태의 저장소는 별도로 제공하지 않습니다.

iOS 개발 관련 내용도 다루나요?

macOS 중심으로 다루지만, 공유되는 SwiftUI나 Foundation 관련 내용은 일부 iOS 컨텍스트도 포함할 수 있습니다.

오래된 Classic Mac OS 관련 내용은 왜 있나요?

2000년대 초 트로픽 소프트웨어가 Classic Mac OS 셰어웨어를 배포하던 배경 때문입니다. 역사적 맥락 정리 차원에서 남깁니다.

개발 자문이나 컨설팅 요청도 받으시나요?

요청은 받지만 스케줄상 대부분 거절합니다. 편집 활동이 우선입니다.