이 책의 역할
이거 하나는 분명히 해두자. 여러분은 아이폰 앱 개발을 배우고 싶으며, 스스로 꽤나 머리가 좋다고 생각한다. 그러나 막상 실제 코드나 너무 전문적인 내용을 마주치면 머릿속이 하얘진다. 장황하게 늘어놓는 설명을 보면 눈 앞이 흐려지는가? 혹시 머릿속에 이런 목소리가 들리지는 않는지? "놀라워! 네 머리는 이미 여섯 줄 전에 멈췄어. 근데도 바보가 아닌 척 페이지를 계속 넘기고 있군. 훌륭해!"
이런 상황은 어떤지 생각해보자. 여러분은 지금 아주 전문적인 문제에 어려움을 겪고 있다. 그래서 답을 찾으려 구글 검색을 시도한다. 가장 첫 결과를 열어보니 누군가 똑같은 문제에 대해 질문을 해 놓았다. 답이 있을 거라는 기대감에 살펴보지만, 이런, 여기는 그냥 게시판(말하자면 이해하기 힘든 코드를 가지고 서로 논쟁을 벌이는 전문가들만의 공간이랄까)일 뿐이었다. 계속 읽어 내려 가지만… 이미 늦었다. 머릿속은 벌써 백짓장처럼 하얗고, 긴장을 한 탓인지 실망을 한 탓인지 배가 살살 아파온다.
공감되나?
된다고? 그렇다면 바로 이 책이 정답이다! 추측컨대 여러분은 아마 지금 서점이나 공항에서 뭔가 재밌는 걸 찾기 위해 잡지 가판대를 뒤적이고 있을 것이다. 그런 장소에서 시간을 들여 잡지를 뒤적인다는 말은 여러분이 아이폰이나 맥, 혹은 자동차, 비행기 표 등을 살 수 있는 경제적인 여유가 있다는 의미다. 아마도 새로운 모바일 산업 분야나, 메모리와 마이크로프로세서가 만들어내는 수익성에 관심을 가지고 있을 것이다. 여기서 말하는 수익성이란, 어떤 아이디어를 얼마나 빨리 새로운 플랫폼이나 소프트웨어, 혹은 유용한 툴이나 독창적인 게임으로… 아무리 장황하게 이야기해도 결국엔 돈으로 바꿀 수 있는가를 말한다! 그리고 지금 자신도 이 영역에서 한몫 잡을 수 있을까를 궁금해 하고 있다. 자신이 가진 전문지식을 활용한다면 가능하다고 믿고 있을 것이다.
어떻게 알았냐고?
쉽다! 수년간 학생들에게 프로그래밍을 가르치다 보니, 아직도 이 책을 놓지 않고 있다면 여러분은 프로그래밍, 특히 아이폰과 같은 매혹적이고 멋진 기기용 프로그래밍 무대로 충분히 올라설 수 있을 만한 지능의 소유자라는 사실을 알 수 있다. 위에 예를 들었던 상황이 자신과 동일하거나 혹은 공감이 간다면, 그럼 난 여러분에 대해 알고 있는 게 맞다. 우리는 서로 오래 전부터 알고 지낸 사이나 마찬가지다.
여러분은 분명히 머리가 좋지만 복잡한 코드만 보면 정신 발작이 일어날 정도다. 프로그래밍 경험이 있는데도 말이다. 또한 자신이 설령 다양한 프로그래밍 언어를 아주 많이 경험해 봤다 하더라도, 아이폰 프로그래밍을 배울 땐 제발 구질구질한 내용 없이 단순하게 요점만 배웠으면 좋겠다고 생각한다. 걱정 말라! 여러분이 보통 어떤 심리적 압박을 받든지 간에, 혹은 어떤 기술적 장애(실제건 머릿속에서건)를 겪게 되든지 간에 이 모든 어려움을 전부 헤쳐나갈 수 있게 인도해주겠다. 내가 가르치는 방법들은 이미 수많은 학생을 통해 검증됐기 때문에 여러분에게도 효과가 있을 것이다.
방법은 간단하다
모든 것을 아주 상세하게 설명하려 하지는 않겠다. 나 역시 지금 여러분은 예제 코드는커녕 아이폰 애플리케이션의 '애'자도 모르는 상태라고 가정한다. 내가 하는 일은 단지 단계적으로 핵심이 되는 작업만 마칠 수 있도록 안내하는 것이다. 내 접근법은 이해하기도 쉬운 동시에 천천히 진행되며, 학생들이나 관심 있게 배우려는 사람들에게 폭넓은 범위의 지식과 기술을 전수할 수 있다고 자부한다.
기본적으로 여러분이 할 수 있는 속도에 맞춰서 스스로 단순 혹은 복잡한 아이폰 앱을 만들고 앱스토어에 올려서 판매할 수 있게 이끌겠다. 좋은 소식은, 앱스토어에서 다운로드가 많이 된 앱들은 그리 복잡한 앱이 아니라는 사실이다. 가장 인기 있는 앱들은 단순하면서도 생활에 밀접하게 관련있는 도구들로, 예를 들면 주차장을 찾는다거나, 쇼핑 목록을 쉽게 작성할 수 있게 해주는 앱, 혹은 운동 일지를 관리하는 앱 등이다. 그러나 이 책을 마치고 나면 아마도 다른 책에 도전하고 싶을 것이다. 여기에는 몇 가지 선택할 수 있는 옵션이 있고, 앞으로 여러분이 어떤 진로를 원하게 될지에 관해 조언할 테니 귀 기울이길. 그러나 지금 당장은 우선 나에 대해 알고 싶을 것이다. 그래야 이 재미있는 앱 여행의 가이드로 나를 고용할 마음에 확신이 들 테니까.
앞으로 아이폰 프로그래밍을 하는 데 있어 엄청난 즐거움과 성공이 함께 하길 바란다.
피스!---저자 서문 중에서
아이패드가 처음 나왔을 때는 솔직히 좀 시큰둥했다. 단지 화면만 조금 더 키운 아이폰과 다를 바 없어 보였다. 그도 그럴 것이 당시에는 아이패드 전용 앱이 그리 많지 않아서 단순히 아이폰용 앱을 2배 확대 모드로 보는 경우가 많았기 때문이다. 그러나 직접 사용해 보면서 첫인상은 완전히 뒤바뀌었다. 실내 휴대성과 넓은 화면은 아이패드의 최대 장점이자 존재 이유 그 자체나 다름없었다.
요즘 나는 심심할 때면 침대에 누워 심슨 가족을 보고, 소파에 앉아 티비를 보며 간간히 웹 서핑과 트위터를 즐긴다. 심지어 화장실에서는 아이패드로 구글 리더의 RSS 피드에 간단히 별표시를 해두기도 한다. 집안의 어느 곳에서든 어떤 자세로든 그리고 원한다면 언제든지 네트워크와 미디어에 연결될 수 있다. 덕분에 노트북을 사용하기 위해 책상 앞에 앉는 시간은 반 이상 줄었다. 한마디로 아이폰이 밖으로 들고 다니기 좋은 원거리 휴대용 디바이스라면, 아이패드는 실내에서는 가히 독보적인 근거리 휴대용 디바이스인 것이다.
스마트폰과 노트북의 중간 위치에 있는 아이패드는 그 활용성이 무궁무진하다. 식당이나 카페에서 메뉴판으로 사용할 수도 있고 병원에서는 진료 기록 차트로 사용될 수도 있다. 학교에서는 두꺼운 교재나 참고서 대신 아이패드 하나만 들고 다니며 필기를 할 수도 있으며, 회사에서는 보고서나 각종 서류 대신 사용될 수도 있다. 심지어 최근에는 영화 촬영장에서 슬레이트 대신 사용됐다고도 하니 정말 약간의 아이디어만 있어도 그 모습과 용도를 바꿀 수 있는 천의 얼굴을 가진 아이패드다.
이제 아이패드 국내 출시도 얼마 안 남았다(여러분이 이 책을 읽고 있는 시점에는 어쩌면 이미 출시됐을지도 모른다). 아이폰이 그랬듯 아이패드 또한 국내 출시와 함께 더욱 뜨거운 관심을 받게 될 것이다. 앞서 말했지만 국내에는 아직 아이패드 전용 앱이 그리 많지 않다. 이것은 기회다. 이 책을 읽는 여러분은 지금 아마 이런 가능성을 느끼고 시작해보려는 단계일 가능성이 크다. 이 책은 이전에 아이폰용 앱을 개발해 본 경험, 혹은 프로그래밍 경험이 있건 없건 간에 아이폰/아이패드 앱 개발의 첫걸음을 떼는 데 가장 적합한 책이다.
끝으로 이제는 당당한 아이폰 유저로서 젊은 세대들 못지않게 폭풍 간지 뽐내시는 사랑하는 나의 부모님, 맥북 흰둥이를 선물해 줬더니 만화방에 들고 가서 음악 재생시켜 놓고 만화책보는 용도로 사용하던 늦깎이 맥 유저 내 동생, 느릿느릿한 번역 속도에도 참고 기다려 주신 권성준 사장님, 김희정 부사장님 이하 에이콘 출판사 관계자분들, 언어노동에 지쳐있는 내게 온몸으로 웃음을 선사하는 삶의 청량제 호머 심슨, 그리고 나에게 스프링필드 마을을 소개시켜준 이 세상 둘도 없는 소중한 친구 MJ에게 모두 감사드린다. Cow-A-Bunga!
---옮긴이의 말 중에서