한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다.
React 기반 프론트엔드 개발자로 일하면서, 늘 안드로이드 중심의 웹 뷰나 크로스플랫폼 위주로 프로젝트를 진행해왔습니다.
하지만 점점 애플 생태계의 시스템 안정성, 배터리 효율, UI 경험에 매력을 느끼게 되면서 Swift와 iOS 개발에 관심이 생겼고,
그 첫 문으로 스위프트 프로그래밍(4판)을 집어들게 되었습니다.
Swift는 처음이었지만, 스위프트 프로그래밍은 첫 입문서로 제격이였다고 생각합니다.
스위프트 기초에서는 Swift 언어의 역사부터 시작해 기본 문법과 실행 환경, 변수와 상수, 데이터 타입, 흐름 제어, 함수,
그리고 Swift의 핵심인 옵셔널(Optional)까지 체계적으로 안내해줍니다.
특히 CHAPTER 3~4의 데이터 타입 설명은 React에서 타입스크립트를 다루는 입장에서도 굉장히 흥미롭습니다.
Any, Optional 등 에러를 줄이기 위한 안전한 설계가 인상적이었습니다.
JavaScript의 undefined나 null이 너무 자유롭고 그래서 위험했다면, Swift는 처음부터 실수를 방지하는 문법 설계를 하고 있다는 걸 알 수 있었습니다.
React 개발자는 자바스크립트로 OOP와 함수형 개념을 모두 써왔기에,
객체지향 프로그래밍과 스위프트의 구조체/클래스/프로퍼티 개념은 익숙하면서도 Swift 특유의 차이점을 발견할 수 있는 재미가 있었습니다.
구조체와 클래스가 구분되어 있고, 참조/값 타입의 차이로 메모리 관리가 다르다는 설명은 실제 앱 성능과 직결되는 이야기라, 더 눈여겨보게 되더군요.
또한, 함수형 프로그래밍 챕터에서는 map, filter, reduce를 Swift 문법으로 다루는 법을 보여주는데,
이건 React에서 훨씬 익숙한 개념이라 바로 손에 익었습니다.
Swift를 배우는 입장에서 가장 좋았던 점은,
각 장이 단순한 문법 설명만 하는게 아니라 실습 예제와 응용 설명을 포함하고 있다는 점입니다.
예를 들어 CHAPTER 8의 옵셔널 처리 방식은 단순히 문법을 보여주는 게 아니라, 왜 옵셔널이 필요한지, 어떤 방식으로 추출할 수 있는지, 실수 없이 코드를 작성하려면 어떻게 해야 하는지를 짚어줍니다.
덕분에 Playground에서 직접 실행하면서 타입 안전성과 에러 방지 설계에 대해 자연스럽게 익힐 수 있었어요.
React 개발자의 눈에 비친 Swift
React는 유연하지만 그만큼 오류 가능성도 높죠.
Swift는 반대로 과하게 안전한 언어처럼 느껴지기도 했지만, 이 책을 통해 그 안전함이 얼마나 중요한 가치인지 느끼게 되었습니다.
특히 Swift의 접근제어(private, fileprivate)나 메모리 관리(ARC) 개념은 JavaScript나 React에서는 경험하기 어려운 수준의 언어적 설계 철학이 느껴졌습니다.
React에서는 언제나 동작하면서 보면서 실수를 찾지만, Swift는 시작부터 실수를 막아주는 느낌이 강합니다.
아쉬운 점이 있다면
SwiftUI를 기대하고 책을 본다면, 아직 그 전 단계의 문법 학습서입니다.
Playground는 설치가 필요하니, 웹 브라우저 기반의 실습 환경에 익숙한 분들에게는 초반 진입 장벽이 느껴질 수 있습니다.
총평
스위프트 프로그래밍(4판)은 Swift 언어를 처음 배우는 사람에게 적합
React나 JavaScript에 익숙한 개발자도 이 책을 통해 Swift가 왜 안정적이고 안전한 언어인지 알 수 있다.
그리고 iOS 개발을 위한 베이스를 다지고 싶다면 강추