요즘 iOS 앱 개발을 하고 있다

Reading time ~1 minute

올해부터 iOS 앱 개발도 맡아서 하게 되었다.

Objective C로 작성된 코드가 대부분이고 일부 Swift 코드가 존재하는 상황이다. Objective C는 문법이 아주 올드한 느낌이 난다 ㅎㅎ. 스몰토크를 직접 다뤄본 적은 없지만 책과 인터넷에서 코드를 간간이 본 적이 있는데 Objective C의 문법은 스몰토크에서 따온 것 같다. C 언어의 특징을 가지면서도 C++과는 다른 방식으로 객체지향을 구현해내고 있는 게 재미있다.

특히 메시지 전달이라는 개념은 다른 객체지향 언어보다 제대로 구현하고 있지 않나 하는 생각도 든다. 객체끼리는 어떤 메시지든 주고받을 수 있고, 응답하려는 메시지가 있으면 어떻게 처리할 것인지를 정의하면 된다. 정의되지 않은 메시지는 무시된다. @selector를 사용하면 매번 인터페이스 선언해서 쓸 필요도 없다. 그냥 selector에 지정된 메시지를 구현한 객체라면 아무거나 전달할 수 있다.

Swift는 Xcode 버전업 + 구버전 문법 지원 중단 문제 때문에 좀 꺼려졌는데 이제는 하위호환성을 유지한다고 하니 해볼 마음이 생겼다. 현재 yes24에서 검색되는 국내 Swift 3 서적은 세 권인데 첫 번째와 세 번째를 사는 것으로 마음이 기울고 있다. (아마존에서 베스트셀러 원서를 사는게 가장 확실할 것 같지만 당장 다음 주부터 개발 일정이 본격적으로 시작되기 때문에 배송 기간까지 기다릴 수 없는 상황.)

  • 이것이 iOS다
    • 작은 예제 프로젝트들로 구성된 점이 마음에 든다
    • 그러나 메모리 관리나 ARC, 프레임워크의 구조에 대한 설명이 따로 존재하지 않는다. (아마도 프로젝트 중간에 설명되어있을 것 같기한데…)
  • 꼼꼼한 재은씨의 Swift 3
    • 설명이 방대하고 자세하긴 한데 핵심을 짚기 보다는 사소한 것들에 대한 설명에 지나치게 많은 지면을 할애하는 느낌.
    • 두꺼운 내용을 다 볼 시간도 없다.
    • 무엇보다도 회사에 이 책의 Swift 2 버전이 있는데, 책 분량에 비해서 실제 업데이트된 내용은 그다지 많지 않을 것으로 짐작해본다.
  • iOS 앱 개발을 위한 Swift 3
    • 서점에서 대충 훑어봤을 땐 앱 개발보다는 Swift 언어 자체만 다루는 느낌이었는데 목차를 다시 보니 앱 개발도 다루는 것 같다.

iOS 개발은 Xcode 자체가 앱 UI 설계와 프로젝트 빌드에 관여하는 부분이 많은 것 같은데 이게 좀 불만이다. Xcode UI나 문서가 그렇게 친절하지도 않고…어떤 파일은 그냥 열기만 해도 git status에 modified가 막 생기고…

kiwi campus

가족여행차 샌 프란시스코에 갔다가 오랜만에 버클리 교정을 구경하러 갔다.돌아다니다보니 Sather gate 근처의 분수대 주변에 이런 게 돌아다니고 있었다.처음엔 학생이 만든 장난감 정도로 생각했다. 폰에 외장(?)렌즈를 달아서 꽂아놨는데 이게 ...… Continue reading