본문 바로가기

Jbee/서평&영화&자격증

[개발] 스위프트로 시작하는 아이폰 앱 개발 교과서 / 모리 요시나오 / 위키북스


스위프트로 시작하는 아이폰 앱 개발 교과서 <초보 입문용>


Intro

책을 소개할 때는 일단 필자의 베이스부터 소개하는 것이 맞다고 생각한다. 웹 개발을 공부하다가 iOS 애플리케이션 개발에 관심이 생겨서 공부를 시작했다. iOS 개발의 전통 언어인 Objective-C에 대해서는 어떻게 생겼는지 아는 정도이며, HeadFirst iPhone/iPad 책으로 따라하기 식 iOS 개발 공부를 조금 한 상태였다. 요즘 핫한 Swift 관련 도서를 찾던 도중 가장 최근에 나온 책이며 최신 Swift 문법과 최신 Xcode 버전으로 쓰여진 책이라고 해서 설레는 마음으로 바로 구매를 했다. 그 결과는 참담했다. 초보 입문용이 프로그래밍 초보 입문자라는 뜻이였기 때문이다.


참담했던 이유 1. 너무 기초다.

초보 입문용이라고 나와있긴 하지만, 이 정도로 입문용일 줄 몰랐다. 웹 개발 경험이 있는 사람으로서는 필요한 부분이 거의 없다. 다른 개발 경험을 기반으로 한다는 전제하에 이 책은 부적합하다. iOS에 대한 경험이 없다고 하면 그나마 얻어갈 게 조금 있겠지만, 그 조금이 전부다. 어느 수준이냐면 변수와 상수의 차이부터 설명하고 있다.


참담했던 이유 2. Swift3의 문법을 전부 다루고 있지 않다.

문법 양이 많으니 모든 문법을 다룰 수는 없겠지만 이 책은 너무하다 싶을 정도로 기초적인 문법만 설명한다.


참담했던 이유 3. 실습이 너무 쓸데가 없다.

Auto Layout에 대한 부분은 좋았지만 매 실습마다 반복되었고, (물론 중요한 부분이긴 하지만, 독자 스스로 할 수 있는 정도였다.) 흥미를 끌만한 실습도 없었다. 


참담했던 이유 4. iOS Application 작동원리 부분이 없다.

아이폰 앱 개발 교과서라는 이름 값을 하려면 만들고자 하는 애플리케이션의 작동 원리 쯤은 나와있었으면 좋았겠지만, 초보 입문용이라 빠진 듯 하다.


참담했던 이유 5. 화려한 색상과 일러스트

초등학생? 중학생? 대상의 책을 내가 잘못고르고 이렇게 악평을 다는지 모르겠는데, 알록달록 색상까지는 이해하지만, 쓸데없는 일러스트들이 지면을 차지하고 있었고 이 때문에 책이 두꺼워진 것 같다.



그나마 이 책으로부터 얻은 지식

Swift에 대한 첫 인상

Swift는 현대적인 언어이다. JavaScript ECMA 2015 의 문법이 오버래핑 되면서 이해가 잘 되었기 때문에 문법에 대한 부담감은 없었다. 물론 세미콜론을 계속해서 붙였다. 현재 Swift는 세미콜론을 선택사항으로 두고 있는 것 같다. Playground는 정말 인상적이었다. 코드량이 많아지면 조금 버벅대긴 했지만 코드한 결과를 바로 오른쪽 window에서 볼 수 있다는 게 정말 큰 장점이라고 생각한다. 이 playground 때문에라도 프로그래밍 입문자에게 추천하고 싶은 언어 1순위가 Swift 언어인 것 같다. 


Xcode 8 버전에 대한 약간의 이해

설정할 수 있는 segue Action이 modal, push 그리고 custom 세 가지 였다가 show, show detail, present modally, present as pop over, custom 다섯 가지가 되었다. 이 부분에 대한 명확한 설명이 있었다. 물론 각각에 대해 실습을 통해 확인할 수 있는 방법은 없었지만 이에 대해 설명하고 있었다. 그외 다른 건 없었다.


혹시라도 개발 경험을 기반으로 iOS 앱 개발을 시도하기 위해 이 책을 구입한다고 하면 말리고 싶다. 또 프로그램이 경험이 없다고 하더라도 이 책으로 프로그래밍을 시작하진 않았으면 좋겠다. 이 책을 다 배우고도 할 수 있는게 전혀 없다. Swift3에 관련된 국내 도서는 이 책 하나 뿐이다. 프로그래밍 시작을 Swift3로 시작을 하면 안 될 것 같다. 이 책을 끝나고 다른 사람의 도움없이는 더이상 발전하기 힘들기 때문이다. 물론 공식 문서들을 참고하면서, 각종 선배 개발자분들의 블로그를 참고하면서 부족한 문법을 채워나가고 iOS Application 작동원리 등에 대한 학습을 한다면 좋겠지만, 그건 쉽지 않은 일이라고 생각한다.


End