|
스위프트. 이 언어는 왜 이렇게 빠르게 버전업하는 것인가... 처음 공부하기 시작했을 때가 1.1 버전이었던 것을 기억하는데, 벌써 5.3 버전이라니... 'ㅅ')a 긁적.. // 이 글을 쓰는 이 순간에도 버전업이 되고 있겠지... 국내에서 출시된 스위프트 프로그래밍 도서 중 레퍼런스 서적으로 이 도서와 비교할 다른 선택지는 없다. 그나마 제이펍에서 몇년마다 출시되는 '핵심만 골라배우는 스위프트' 시리즈 도서가 앱 메이킹 튜토리얼 서적으로는 볼만한 편이지만, 스위프트 언어 자체에 대해 이렇게까지 다루는 도서는... 내 생각에 국내에서는 대안이 없다. 이러한 레퍼런스 서적류는 language document 의 내용을 그대로 가져와 번역하여 출판하는 경우가 꽤 있는데, 야곰 아저씨(?)는 좀 다르다.. 이 아저씨 분명히 열일하고 있다. 레퍼런스 서적 특성상, 읽기에는 건조한 편이고 필요할 때 해당 부분을 찾아 읽는 정도로 사용케 될 터인데, 그렇다고 해도 지루한 문체는 아니다. 'ㅅ') 필자는 몇번의 앱 개발 도중 1판, 2판, 3판 모두 살펴보았고, 실제로 앱 개발시에 이 도서들로부터 꽤나 도움을 받아왔다. 야곰 아저씨(?)께 심히 감사드린다. 다음 버전도 출판해줘요. 기다릴거예요. |
|
비슷한 게 많을수록 다른 점도 많이 보인다. |
|
한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다.
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 개발을 위한 베이스를 다지고 싶다면 강추 |
|
한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다. 올해 상반기부터 저는 안드로이드에서 점차적으로 애플 생태계로 넘어가는 중입니다. 맥북을 3개월 이상 사용해본 결과 2가지가 좋더군요. 첫번째는 비교도 안되는 배터리 사용성 두번째는 시스템 접속에 들어가는 시간에 대한 절약입니다. (쓸데없는 업데이트나 버그 일체 없었음) 그런데 사실 제가 애플생태계를 활용하려는 근본적인 이유는 2가지였습니다. 첫번째는 시스템 안정성과 보안이고 두번째는 이 첫번째를 기반으로 프로그래밍을 하기 위한 것이었고 iOS의 경우 스위프트(Swift)를 통해 프로그램을 만들고 있죠 <스위프트 프로그래밍(4판)>을 읽게 된 이유입니다. 오래전부터 얘기해왔지만, 저는 파이썬은 이제 상당히 편하게 이용하는 편이고 자바스크립트도 익숙해졌지만 스위프트코드는 a2z의 1도 모르는 상황입니다. 그러니 기본서를 봐야하는데 기본서는 개정판이 자주 나온다는 것이 신뢰의 상징입니다.본서는 2010년대 후반부터 현재까지 4판이 나온 알고리즘을 이해하는 사람들을 위한 서적이자 스위프트 코드 초보자를 위한 서적이기도 합니다. 본서는 xCode(애플용 IDE)를 통해 스위프트의 기본과 데이터, 연산자, 그리고 객체지향 프로그래밍을 할 수 있는 초급부터 중급까지가 가능한 서적이라 판단됩니다. 스위프트의 장점은 효율적인 코드처리와 불필요한 runtime오류가 적다고 알고 있습니다. 본서를 통해 실습을 해본 결과 실제로 그런부분에서는 안정성이 좋지만, 구글 코랩으로 파이썬을 하는 것처럼 편리하냐의 문제는 조금 다르다고 생각합니다. 하지만 올해부터 안드로이드와의 크로스 플랫폼이 만들어졌고 하나의 swift코드베이스로 안드로이드 웹/앱까지 적용가능하기 때문에 본서에 있는 내용을 차근차근 접근하면 굉장히 유용할 거라 생각합니다. 특히 본서의 경우 개발에 필요한 많은 기능들을 할애한 것이 보이기 때문에, 올 가을 새로운 아이폰이 등장하면 모바일 폰 교체와 함께 스위프트와 함께 이런 것들을 실습해 볼 것이라 큰 기대가 되며, 무엇보다 기본적인 구조는 탄탄한 것이라 판단됩니다. ‘하나씩 실습중입니다.’ |
|
초급을 위한 책이기 때문에 온라인 동영상 강의가 마련되어 있는데 4군데에서 볼 수 있다. 주석 남기기 부분을 보자면 [주석: 소스코드에 정보를 남기는 목적 Xcode: 말풍선의 형태, 레퍼런스 문서의 요약을 보여주는 퀵헬프 기능 있음] 라 설명이 되어있고 코드에 관한 설명을 해준다. Xcode가 궁금해지면 영어단어책처럼 뒤쪽에 있는 찾아보기에서 용어를 찾으면 된다. Xcode는 애플의 통합 개발 환경인 Xcode는 플레이그라운드 실행 모드가 자동인데 수동으로도 변경할 수도 있다. 그림을 삽입해 주어 훨씬 보기가 편하고 형광펜 비침은 없었다. REPL의 단축키라든지 많이 사용하는 특수문자를 표로 만들어 준 부분도 있기 때문에 이 부분만 보고 암기하기에도 유용하다. 스위프트 코드는 macOS뿐만 아니라 웹과 모바일에서도 이용 가능한데 틀린 부분을 수정하기도 매우 편리했다. 스위프트는 테일러 스위프트만 알았지 다른 책에 비해 초급이길래 선택을 했는데 확실히 이해하기 편했다. 기본에 충실한 책이라 따라 하기도 훠얼씬 수월했고 이해하기도 어렵지 않았다. 굳이 더 보완할 점이 있다면 예시로 들어준 오류코드 설명 다음에 맞게 고치면 어떤 코드가 되는지도 있으면 초보자는 더욱 비교하기 편할 것 같다. |
|
이 책은 스위프트 언어에 대해 매우 잘 다루고 있다.
![]() 몇 권의 iOS 앱 개발 책이나 스위프트 책을 봤었지만 이 책만 큼 스위프트라는 언어를 잘 설명한 책은 없었던 것 같다.
또한 swift언어의 버전이 어떻게 변해왔는지도 대해 간략히 설명을 하고 있어 이전 버전과 비교해 볼수 있다. ![]() iOS앱을 개발하기 위해서는 다양한 방법이 있다. objective-c, swift, react native, flutter 등 하지만 objective-c와 swift를 모르면은 예외 사항에 대한 대처가 힘들 수 있다. 또한 최근에는 objective-c는 거의 사용을 안하고 스위프트를 많이 사용한다. 그만큼 스위프트를 모르고는 iOS앱을 개발하는데 문제가 발생할 수 있다.
하지만 이 책은 앱을 개발하는 방법을 알려주는 책은 아니다. 만약 전반적인 iOS 앱 개발 하는 방법을 공부하고 싶은 사람이라면 다른 책을 봐야 한다.
이 책은 스위프트라는 프로그래밍 언어에 대해 다루고 있는 책이다. 초중급 iOS 및 스위프트 개발자라면 이 책을 강력히 추천한다. 스위프트 개발을 위한 레퍼런스 책으로 하나 두면 좋을듯 하다. |
|
이 책에서 가장 놀라운 점은 iOS에 대해 다루지 않는 다는 점입니다. 사실 스위프트를 왜 배우는 지 물어본다면 100명중 98명정도는 iOS 개발을 하고 싶어서라고 대답할 텐데 이 책은 iOS가 아닌 순수하게 스위프트와 스위프트의 특징인 3가지 패러다임에 초점을 맞추고 있습니다 프레임워크로 부터 독립적으로 순수하게 스위프트 자체에 초점이 맞춰져있기 때문에 오히려 함수형 프로그래밍을 입문하기에 최적의 책이 아닐까 싶습니다. iOS 프레임워크에만 빠져서 재밌는 개발이 무엇인지 까먹었다면? Objective-C 로도 충분한데 굳이 스위프트를 왜 배워야 하는지 잘 모르겠다면? 아직도 스위프트를 Objective-C 스럽게 짜고 있다면? 함수형 프로그래밍과 프로토콜 지향 프로그래밍스러운 그야말로 스위프트스러운 프로그래밍을 해보고 싶은 분들이라면 이 책을 추천드립니다 ?? |
|
1. 읽으면서 느낀 점 - 이 책은 SWIFT 언어에만 집중한 책입니다. IOS와 관련된 내용은 배제되었습니다. - 보통 IT 서적은 예제형(따라하기)과 레퍼런스 형으로 나뉘는데, 레퍼런스형에 가까운 책입니다. 하지만 각각의 레퍼런스의 예제들도 충분히 잘 구성되어 있습니다. - SWIFT가 지향하는 여러가지 패러다임에 대해 충실하게 설명하고 있습니다. - 레퍼런스 형의 책으로써 언어의 여러가지 면에서 다양하고 충실하게 잘 설명하고 있습니다. - 특정 언어를 공부하는데 있어 더할 나위 없이 예제가 잘되어 있고, 정리가 잘되어 있는 책이나, 한가지 아쉬운점이 있습니다. 보통 언어를 다루는 기본서들 중에는 마지막에 응용프로그램을 실제로 간단하게 적용하는 예제가 포함되어 있는 경우도 있는데, 마지막 한장 정도는 실제 응용프로그램의 종합적인 예제 챕터가 있었으면 좀더 좋지 않았을까 생각해봅니다.
2. 소감요약 - SWIFT에 처음 진입하거나 현업에서 IOS개발자시면서 좀 더 언어적으로 더욱 업그레이드시키고자 하는 분들에게 적합한 책이라고 생각합니다. - 레퍼런스 형의 책으로 항상 옆에 두고 개발해도 좋을만한 서적입니다. - 한가지 아쉬운점은 종합적인 예제 한 파트 정도 추가 되면 더 좋을 것 같습니다. |
|
아이폰 앱을 만들기 위해선 object-c, swift 언어로 개발이 가능합니다. 최근 개발 트렌드는 swift를 사용을 더 많이 하는 상황인데요. 함수형 언어로써 object-c에 비해서 간결한 코드를 작성할 수 있기 때문이죠. 다양한 라이브러리들도 swift로 대체 되는 실정 속에서 실무에선 swift 개발은 필수가 되어가고 있습니다. swift에 관련된 책 중 인기 있는 분은 바로 '야곰' 님입니다. 야곰님의 스위프트 책이 개정돼 소개해 드리려고 합니다. 이 책은 swift5를 기반으로 써졌습니다. 1) ABI 안정화! 애플에선 swift 5를 공개했는데요. 이번 ABI 안정화를 통해 버전에 영향을 받지 않고 앱 개발하는 Swift를 자유롭게 쓸 수 있습니다. 이번 업데이트는 언어의 표현에 대해선 큰 변화는 없으며, Swift UI 기능 들 추가됐습니다. 기존 UIkit 사용하던 사람들 중 SwiftUI 와 같이 사용을 하려면 UIHostingControlloer를 통해 사용할 수 있습니다. 2. 기초 체계적! 책의 핵심은 '기본 충실' 입니다. Swift의 언어에 대해 객체지향, 함수형, 프로토콜 지향 패러다임 등을 이해하기 쉬운 예제들과 함께 책을 쓰셨습니다. 예제들을 볼 때마다 이렇게 설명하면 쉽겠다는 생각을 많이 했는데요. 사진과 곁들여서 제네릭 타입에 대해서 잘 정리 해주셨습니다. Ps Swift는 함수형 언어로 다른 언어 비해 진입장벽이 낮은데요. 최근 딥러닝 개발에 사용되는 텐서플로에서도 사용되고 있으며, 백엔드 서버 개발에서도 사용해 전망이 밝은 언어로 생각이 듭니다. 아이폰 개발을 하는 분들에겐 필독서로 자리 잡은 책으로써 언어에 대해서 자세히 이해하고 개발을 하고 싶은 분들에게 추천해드립니다. |
|
애플에서 Objective-C 다음으로 사용하는 언어가 스위프트(SWIFT)입니다. 애플에서 최근에 만든 프로그래밍 언어라 그런지 다양한 패러다임(개발 방법)을 지원합니다. 개발을 할 때 필요한 최신 기능을 거의 다 집어넣은 것 같네요. 이 스위프트를 배우려고 책을 고르면 아이폰 iOS 프로그래밍을 하기 위해 간단히 소개만 하는 경우가 많은데, 이번에 본 책은 조금 다릅니다. ‘SWIFT 스위프트 프로그래밍 3판’은 스위프트 언어만 집중해서 배울 수 있는 책입니다. 아이폰 개발을 바로 하고 싶은 분이라면 다른 책을 봐야겠지만, 이 책으로 스위프트를 제대로 정복한다면 아이폰 개발에도 큰 도움이 될 것입니다. ‘SWIFT 스위프트 프로그래밍 3판’은 스위프트 입문서, 기본서라고 할 수 있습니다. iOS, macOS, watchOS, tvOS 등 플랫폼에 종속되지 않고, 언어의 순수 기능을 집중해서 배울 수 있는 책입니다. 개발 환경은 다른 걸 사용해도 되지만 여기서는 맥에서 Xcode로 개발을 진행합니다. 책은 총 5개의 파트로 되어 있습니다. 각 파트에서 무얼 배우는지 키워드를 나열해보면 다음과 같습니다. 파트1 스위프트 기초 스위프트 역사, 데이터 타입, 연산자, 제어, 함수, 옵셔널 파트2 객체지향 프로그래밍과 스위프트 구조체, 클래스, 프로퍼티, 메서드, 인스턴스, 접근제어 파트3 함수형 프로그래밍과 스위프트 클로저, 옵셔널 체이닝, 빠른 종료, 맵, 필터, 리듀스, 모나드 파트4 확장 서브스크립트, 상속, 타입캐스팅, 프로토콜, 익스텐션, 제네릭, 프로토콜 지향 프로그래밍 파트5 스위프트 고급 타입 중첩, 패턴, where 절, ARC, 오류처리, 메모리 안전 하나의 언어를 제대로 공부를 한 사람이라면 거의 다 많이 들어본 내용들인데 옵셔널이나 프로토콜, 인스텍션 등은 최신 프로그래밍 스타일을 모르는 사람에게는 생소하게 느껴집니다. 이 책에 나오는 내용을 제대로 이해한다면 최신 개발 트렌드도 따라 잡을 수 있으리라 생각합니다. 보통 프로그래밍 언어 문법을 설명하는 책은 지루하고 딱딱하기 쉬운데 ‘SWIFT 스위프트 프로그래밍 3판’은 부드럽게 잘 읽히는게 특징입니다. 번역서가 아니라 우리나라 사람이 직접 지은 책이고, 3판까지 오면서 내용이 잘 다듬어져서 그런 것 같습니다. |