일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- MSX
- analogue
- LMD
- 게임기어
- PSP
- 슈퍼마리오
- Game Gear
- YS
- fpga
- 닌텐도 스위치
- snes
- 모빌슈트
- mobilesuit
- 3DS
- 오블완
- 슈퍼패미컴
- 티스토리챌린지
- 패미컴
- 건담
- 메가드라이브
- 게임보이
- PC엔진
- 컨트롤러
- GOG
- ensemble
- 이스
- mister
- 앙상블
- Apple II
- ps4
- Today
- Total
Just a Blog
오랜만에 macOS 개발 튜토리얼 읽어보다 본문
iOS 개발 방법에 대해 복습하기 위해 raywenderlich 사이트에서 튜토리얼을 보다가, 예전에 macOS 개발 관련 글을 보다가 그만 두었던 것이 생각나서 macOS 개발 내용을 찾아 보았다. 마침 Sarah Reichelt라는 분이 쓴, 초보자(beginner)를 위한 3개 파트 짜리 글(파트1, 파트2, 파트3)이 있어서 Xcode를 사용해 따라하기 형식으로 하면서 읽어 보았다.
<이미지 출처: raywenderlich>
파트1의 내용은 macOS 어플리케이션의 기본적인 동작방식과 기초적 개발 방법을 다룬다고 볼 수 있다. 파트1을 보고서는 예전에 하던 경험들이 떠올랐는데, Swift 언어에 대해 경험이 거의 없음에도 Objective-C로 작성하던 논리들을 떠올리며 적용할 수 있었다. 간단한 예제를 다루는 내용이라 나름 응용까지 해 보기도 했다.
파트2에서는 macOS UI 컨트롤과 연계 방식들을 좀 더 본격적으로 다루는데, 라이브러리의 컨트롤들을 세밀하게 조절하는 방법과 ViewController 내 설정 등을 다룬다.
파트3에서는 본격적으로 MVC 모델을 다루며, 어플리케이션 로직 구성을 위한 모델의 구성과 delegate/notification을 이용한 연결 등을 다룬다. 파트3에서 난이도가 급격히 올라가는 느낌인데, protocol, extension, delegate, notification 등의 개념이나 좀더 고급의 Swift 문법이 부가 설명 없이 사용되기 때문이기도 하고 예제인 EggTimer 어플리케이션의 로직이 의외로 단순하지 않기 때문이기도 하다.
파트3까지 쭉 따라해 보고 여러가지 생각이 들었다.
첫째, 이 글이 그렇게 쉽지 않음에도 불구하고 이 글이 다루지 않은 macOS의 부분이 많기에 macOS 개발이 쉽지 않을 것이라고 생각했다.
둘째, xib의 구조를 보고 macOS 어플리케이션의 구조를 고민하던 시절은 지나갔다는 것이다. 스토리보드 방식을 지나 향후 SwiftUI가 사용될 것이다.
셋째, 그렇기에 프레임워크 내부에 자리잡고 있는 개념들(MVC 구조, UI 컴포넌트들의 동작 방식, Cocoa 프레임워크 구조)을 간과하며 개발할 수 있겠다 싶다. 과거 MFC 개념도 잘 모르며 Visual C++로 Windows 어플리케이션을 작성하던 것 같은 위험성이 떠올랐다.