아이폰 출시와 함께 애플은 모바일 시장의 일대 혁신을 일으켰다. 아이폰은 휴대전화를 그저 전화 통화, 이메일 확인, 영화 시간 등을 검색하는 기기에서 벗어나, 생각할 수 있는 거의 모든 종류의 애플리케이션을 실행할 수 있는 컴퓨터로 변화시켰다. 2007년 아이폰 출시 이후 수십만 가지의 아이폰용 앱이 개발됐다. '앱'은 게임, 유틸리티, 소셜 네트워킹, 문헌, 내비게이션, 비즈니스 등 다양한 카테고리에서 접할 수 있다.
컴퓨터 분야의 트렌드는 데스크톱 기반의 환경에서 벗어나 이동성과 아이폰 같은 모바일 플랫폼으로 빠르게 변화한다. 특히 비즈니스와 기업 환경에서 의사결정권자들은 언제라도 해당 데이터에 쉽게 접근하기를 원한다. 아이폰은 휴대폰이라는 작은 형태, 방대한 라이브러리와 API 집합, 스마트폰으로서의 인기로 인해 모바일 컴퓨팅에 있어 가장 이상적인 플랫폼으로 자리잡았다.
시중에 아이폰 소프트웨어 개발에 관한 훌륭한 서적이 많이 나와 있지만 비즈니스 애플리케이션이나 기업용 데이터를 모바일에 적용해야 하는 기업체 개발자에게 알맞은 책을 찾지는 못했다. 이 책의 원래 목적은 이러한 개발자에게 기간계 서버에서 기업용 데이터를 가져와 모바일 기기에서 데이터를 보여주고 처리한 다음 다시 해당 시스템에 알맞은 정보를 제공하는 방법을 알려주는 데 있다.
하지만 책을 집필하는 동안 이 책에서 다루는 도구나 기술이 처음 생각했던 기업용뿐만 아니라 다양한 분야의 애플리케이션에도 적용할 수 있다는 사실을 깨닫게 되었다. 데이터를 아이폰에 저장해야 하는 애플리케이션을 개발하는 개발자는 분명히 코어 데이터 API의 방대한 내용에 관심을 갖게 되며, 페이스북이나 트위터 같은 외부 웹 서비스와 데이터를 주고받아야 하는 애플리케이션을 개발하는 개발자는 이 책에서 다루는 XML과 웹 서비스에 관한 내용이 도움이 될 것이다. 대부분 애플리케이션은 테이블을 이용해 데이터를 표시하므로 이에 해당하는 내용도 이 책에서 상세히 다뤘다. 이러한 모든 내용은 기업체 개발자를 넘어 모든 유형의 애플리케이션 개발자에게 유용하리라 믿는다.---저자 서문 중에서
데이터가 없는 애플리케이션은 없다. 데이터는 애플리케이션의 심장이자 중심이다. 특히 애플리케이션의 기능이 추가되고 복잡해질수록 그 필요성은 더해진다. 따라서 애플리케이션 데이터의 효과적인 관리와 처리가 애플리케이션의 성패와 직결된다고 해도 과언은 아니다. 이 책은 바로 그 중요한 데이터를 아이폰과 아이패드용 애플리케이션을 만들 때 어떻게 관리하고 처리해야 하는지에 대한 진지한 고민에서 시작됐다.
이 책은 총 3부로 구성돼 있다. 1부는 아이폰과 아이패드에서의 데이터 처리와 표시, 2부는 코어 데이터를 이용한 데이터 관리, 3부는 웹 서비스를 이용한 애플리케이션 통합이다.
1부에서는 데이터 기반의 애플리케이션을 만들기 위해 알아야 하는 기본 개념을 시작으로 SQLite에 대해 자세히 알아본다. 또한 UITableView를 커스터마이즈하여 데이터를 효과적으로 표현하는 방법도 알아보며, 특히 아이패드에 특화된 UI 요소와 사용법을 자세히 살펴본다. 이는 아이패드의 넓은 화면과 기능이 데이터를 표현하기에 더 효과적이고 유용하기 때문이다.
2부에서는 코어 데이터를 집중적으로 다룬다. 코어 데이터 소개를 시작으로 엑스코드에서의 데이터 모델링 방법과 코어 데이터 애플리케이션의 개발 방법을 실용적인 예제와 함께 알아본다. 또한 코어 데이터와 관련 있는 코코아 기능을 알아보고, 코어 데이터 마이그레이션과 성능에 대한 고찰을 통해 향후 변경에 대비하고 최상의 성능을 갖춘 애플리케이션으로 진화하기 위한 방법에 대해서도 알아본다. 사실 2부의 내용만 별도의 코어 데이터 관련 책으로 구성해도 코어 데이터의 내용을 이해하는 데 부족함이 없다.
3부는 아이폰과 아이패드에서 XML을 다루는 방법을 시작으로 웹 서비스를 애플리케이션과 통합하는 방법을 알아본다. 3부의 내용은 언뜻 데이터베이스와 관련 없어 보인다. 하지만 아이폰에서 데이터를 다루려면 XML은 반드시 알아야 하며, 웹 서비스도 결국 '원격'에 있는 데이터베이스라고 볼 수 있다. 다시 말해, 3부는 데이터에 인터넷이라는 날개를 달아주는 부분이다.
마지막으로 부록 A에서는 인스트루먼츠의 사용 방법을 자세히 알아보고 애플리케이션을 모니터링하고 성능을 향상시키는 방법을 살펴본다.
이 책의 장점을 한 마디로 말하라고 하면 바로 '균형과 깊이'라고 할 수 있다. 아이폰과 아이패드에서 데이터베이스 기반의 애플리케이션을 개발할 때 알아야 하는 모든 주제의 내용을 어느 한 곳에 치우치지 않고 균형 있게 상세히 다룬다. 따라서 앱스토어에 등록할 아이폰과 아이패드용 앱 개발을 진지하게 고민한다면 반드시 이 책을 통해 데이터 관리와 처리 방법, 성능 모니터링과 트러블슈팅, 버전관리와 웹 서비스와의 연계 등에 대한 지식을 갖추길 바란다. 분명히 향후 큰 밑거름이 되어 돌아올 것이다.
이제 출발할 시간이다. 새로운 세계로의 여행은 늘 설레지만 두렵기도 하다. 하지만 그 두려움은 이 책이 멘토가 되어 줄 테니 염려하지 않아도 된다. 이제 필요한 건 열정과 즐거움뿐이다.
그러면 이제, 아이폰과 아이패드 애플리케이션에 데이터라는 생명을 불어넣어보자!
---옮긴이의 말 중에서