|
*** 출판사로부터 책을 제공받았습니다. |
|
지난 해 맥북 에어를 장만한 이후 iOS 네이티브 앱 개발에도 도전하고 싶었습니다만 쉽사리 시작을 못 했었습니다. 맥북 에어를 구매한 이유중 하나가 아이폰 네이티브 앱개발 관련 스터디도 있었는데 말이죠. 그러다, 이번에 한빛미디어 '나는 리뷰어다' 이벤트의 리뷰도서로 스위프트 책을 받게 되어 드디어 스위프트에도 손을 들여 놓게 되었습니다.
"처음 배우는 스위프트"는 iOS 앱을 개발하는 방법을 단계별로 설명하고 있습니다. 텍스트를 나열하고 변경하며 저장하는 여러가지 앱들을 기초적인 것부터 조금씩 복잡한 기능을 가진 것의 순서로 만들어 갑니다. 그 과정중에 스위프트 문법을 설명하고 지속적으로 반복하여 일부러 외우지 않아도 스위프트 문법에 익숙해 질 수 있도록 유도하고 있습니다. 다 풀어 보지는 않았지만 중간 중간 나오는 연습 문제들도 스위프트에 대한 이해를 확장하는데 크게 도움이 되었습니다.
최근 XCODE UI가 크게 변경되어 초반에 잠시 혼동스럽긴 했습니다. 이 책의 원본 출판년도가 2019년인 까닭에 당연히 책의 XCODE UI와 현재 UI가 많이 다르기 때문입니다. 예를들어 Story Board를 이용하기 위해서는 프로젝트 생성과정중에 설정을 변경해 주어야 한다든가, 플레이 그라운드는 프로젝트 생성후 메뉴에서 찾아야 한다든가, 라이브러리 윈도우도 상단의 메뉴중 '+' 버튼을 눌러야 라이브러리 윈도우가 팝업되는 것으로 변경되었다든가 하는 것은 당연히 책에 설명되어 있지 않습니다. 그래도 큰 문제가 되지 않았습니다. 몇가지 필요한 설정을 검색을 통해 찾고 나면, 저자의 쉽고 반복되는 설명으로 오랜만에 편한 마음으로 즐겁게 읽은 기술서적이었습니다. 예제도 쉽고 예제를 따라가는데 필요한 개념 설명은 책 안에 다 되어 있었거든요.
iOS 앱을 만들기는 합니다만 기본적으로는 iOS 앱을 만드는 방법에 대해 초점을 두었다기 보다는 스위프트라는 언어의 문법과 스위프트를 이용하여 프로그래밍하는데 필요한 코딩 개념들을 설명하고 이해할 수 있도록 유도하는 과정에 초점을 더 둔 책이라고 생각됩니다. 즉, 이 책 한 권만으로도 변수, 함수, 클래스, 배열, 딕셔너리, 연산자 등 프로그래밍 언어의 중요 개념들을 확실하게 익힐 수 있으며, 스위프트에서는 어떻게 구현하는지 쉽고 상세하게 그리고 간단하게 설명되어 있습니다.
샘플 프로젝트들도 개발과정에 필수적으로 필요한 UI와 그 기능들을 콘트롤 하는 방법을 지속적으로 반복하여 설명하고 있어서 스위프트를 완전 처음 접하는 제 경우에도 큰 어려움 없이 손에 익힐 수 있었습니다. 맥북을 마우스 없이 사용하고 있었는데 이번에 블루투스 마우스까지 장만했네요. 앱 UI를 구성하는데 아무래도 마우스가 더 편하더라구요. 필요이상으로 복잡한 개념들은 사용하지 않고 쉬운 사용법으로 반복하여 예제를 구성했기 때문입니다. 다른 스위프트 책은 아직 보지 않았습니다만, 다른 어려운 책을 보기 전에 이 책으로 기초를 잡은 후 다른 책에 도전하기를 추천합니다.
이 책의 가장 큰 특징은 '반복'에 있는 것 같습니다. 예제도 쉽고 설명도 쉽게 되어 있는데 그 쉬운 개념들을 지속적으로 반복하고 한단계 한단계 확장하여 책을 구성하였습니다. 찾아보기 포함 396페이지로 구성되어 있는데 4일정도 하루에 2~3시간정도 투자하여 예제를 다 따라해 보거나 눈으로 따라가 보기는 처음이네요. 스위프트 말고도 다른 프로그래밍 언어나 개발 플랫폼을 익히게 될 경우에도 이 책의 예제 프로젝트를 해당 프로그래밍 언어나 개발 플랫폼으로 구현해 보는 것도 좋을 것 같다는 생각이 들었습니다.
끝으로, 이번에는 정말 공감이 된 출판사의 서평부분을 옮겨 놓도록 하겠습니다.
"인터넷에도 프로그래밍과 앱 개발에 관한 자료는 수없이 많습니다. 그러나 경험이 부족한 사람들의 눈높이를 맞추면서 앱 개발을 쉽게 설명하는 자료는 찾기 어렵습니다. 저자 텐메이 박시도 어린 시절부터 앱을 개발하기 시작했습니다. 텐메이는 본인의 경험을 바탕으로 이 책을 읽는 누구라도 쉽게 앱을 개발할 수 있도록 차근차근 설명했습니다. 특히 예제를 따라 개발하다 보면, 어느새 몇 개의 앱을 직접 완성할 수 있습니다! 이 책을 통해 좋은 앱 개발자가 될 수 있는 밑거름을 마련하고 나아가 더 많은 경험을 쌓으며 중급, 고급 개발자가 되어봅시다."
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다." |
|
프로그램을 처음 접하는 사람에게도 적한한 책이다. 처음부터 조근조근 차근차근 쉽게 설명이 되어 있다고 할까? 학부1학년에게 프로그램이란, 모바일에서 동작시키기 위한 앱개발을 목적으로 하나한 가르쳐주기위한 책이다. 쉬운것으로만 끝나지 않고, 애플디바이스에 동작에 대한 모든것을 다룬다. 워치, 패드등.... 그래픽요소까지.... 초보자부터 어느정도 프로그램을 사용해본 사람들까지....두루 스위프트의 입문서로 추천한다. |
|
대상독자
- ios 애플리케이션 개발언어 스위프트 입문자 - 애플리케이션을 만들어 보고 싶은 초보자
![]()
ios 어플을 만들기 위한 준비물이나 앱을 만들 수 있는 스위프트란 무엇인지에 대한 맛보기 페이지에서 저자는 기초적으로 도움이 되는 내용을 미리 알려준다. 사실 나는 어플은 만들어본 적이 없어서 어플 개발은 안드로이드와 ios는 따로 개발하는 언어가 있고 object-c와 swift가 ios용 개발언어인 것까지만 알고있는 정도였다. 그래서 스위프트가 애플이 만든 개발언어라는 것은 책을 통해 처음 알게 되었다. 챕터1에서는 프로그램을 사용하는 것만이 아닌 직접 프로그램을 만들어보는 것을 권유하면서 앱 개발을 여행에 비유하면서 시작의 문을 열고 있다. 책 중간중간에 아주 귀엽게 여행하는 느낌으로 지도 그림을 삽입해줌으로써 어플 개발에 한발한발 걸음을 내딛는 느낌의 디자인이다. 그리고 글씨만 가득한 책 중간 중간마다 눈을 편안하게 해주었다. 저자는 모바일 디바이스에서 실행되는 앱(애플리케이션)의 제일 중요한 좋은 앱을 만드는 요소인 "좋은 그래픽, 오류가 없음, 유용한 목적, 읽기 편함, 편리한 사용, 빠른 응답성" 을 생각하며 어플을 개발 할 것을 당부하고 있다. 그리고 아주 친절하게도 스위프트는 만능이 아니라고 못박고 오브젝트 씨와 코코아의 필요성도 이야기한다. 그렇지만 바로 다음장에 스위프트의 특별한 점을 이야기한다.
1. 프로그램 문법이 영어와 비슷하고 쉽다. 2. 애플이 완벽하게 언어를 제한한다. 3. 플레이그라운드라는 실시간 테스트 기능 제공한다.
여기에 이 책의 장점은 "깃허브 자료 제공"인 것 같다. 실습하다 막힐때 깃허브 코드의 도움을 받을 수 있다. 스위프트에 대한 설명을 하고 바로 챕터 2에서는 첫 앱을 만들어 볼 수 있다. 개발 공부를 하면 누구나 처음에 작성한다는 "hello world"를 띄워보기!를 통해 서문을 연다. 이후에는 본격적으로 프로그래밍 공부를 위한 기초 문법인 변수, 조건문, 반복문, 배열 등을 공부하며 앱을 만들 수 있다. 간 중간 시뮬레이터 느낌으로 아이폰 모양을 넣어 앱개발을 공부중인 느낌이 나고 note로 포인트 내용을 꼬집어 준다. 예제에서는 코드를 해석을 달아주어서 초보자가 한줄한줄 공부하면서 코드 작성할 때 도움이 된다. 그리고 뷰를 통해 디바이스 사이즈, UI KIT를 사용하는 법, 프로젝트 생성 및 어플 개발에 필요한 개념들이 대해 그림과 설명을 통해 자세히 공부할 수 있었다.
개인적으로 제일 재밋게 읽었던 내용은 스프라이트킷이다. 터치 앤 무브를 예제로 구현해보니까 다른 앱도 만들어보고싶단 생각이 들었고, 이는 저자가 맨처음에 구구단 연습 앱을 만들었을 때 느꼈다던 "할수있다!" 란 긍정적인 마인드를 가질 수 있게 되었다.
결론 : 스위프트를 이용해 ios 앱을 처음 개발해보고 싶다면 이 책으로 공부해보는 것을 추천한다! |
|
iOS 앱을 공부하면서 여러 도서를 읽어봤는데 이 도서는 확실히 다른 느낌이 들었다. 제목은 처음 배우는 스위프트지만 앱 개발의 전반적인 내용을 담고 있다.
이 책의 저자 탠메이 박시는 무려 5살부터 프로그래밍을 했다고 하니 책에 대한 신뢰가 더욱 커진다. '여행'을 컨셉으로 잡아 iOS 앱 개발을 하기 위한 여정을 할 수 있도록 생동감 넘치는 텍스트와 일러스트로 구성되어있다.
책에 담긴 내용은 개발환경 구성, Swift 문법, iOS 앱 개발, 각종 퀴즈 등 다양한 컨텐츠가 들어있는데 퀴즈를 보면 정말 독자가 궁금해할 거 같은 질문들을 넣어놔 읽는 재미도 있었다. 다양한 내용을 다루면서도 한쪽에 치우치지 않기 때문에 한 권으로 모든 것을 배울 수 있는 점이 좋았다. 설명이 상세하게 되어있어 XCode를 처음 사용하는 사람들도 편하게 실습할 수 있도록 구성된 부분은 아주 칭찬할만하다. 그리고 다른 책에선 보지 못했던 프레임워크 만들기, 스프라이트킷, 워치킷 개발도 수록되어있어 해당 키트로 개발하는 것이 궁금한 독자들에게도 좋을 것 같다.
아쉬운 점은 원서가 2019년에 나와 지금과는 IDE, Swfit 버전 차이가 있다는 것이다. 책에서는 XCode 10을 설치하라고 되어있지만 2021년에 13버전이 출시되었기 때문에 UI가 다를 수 있다. (물론 IDE는 크게 바뀌지는 않았지만 XCode 13에서 새로운 버튼 스타일들이 등장했다.) 실습 중 Swift 버전에서 문제가 발생한다면 설정에서 버전을 바꿔 실습하는 것이 좋을 것 같다. 그것 외에는 타겟 독자인 입문자, 초급자에게 필요한 내용이 수록되었고, 책 두께도 두껍지 않아 퇴근 후 한 챕터씩 보면서 개념 정리하기 좋은 책이라 추천한다. "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다." |
|
이제 iOS의 개발은 object-c 에서 대부분 스위프트로 넘어왔다.
처음 배우는 스위프트의 책에 대해서 리뷰를 해보고자 한다. 이 책의 대상 독자는? 어떤 개념을 쉽게 설명하는 것은 은근히 어렵다.
게다가 보통 번역서의 경우 직역으로 마지막으로 이 책은 iOS 개발을 바탕으로 |
|
무언가를 배울때 다양한 수단이 있지만 개인적으로 "책"을 좋아합니다. 유튜브나 온라인 영상으로 무언가를 배우는 것은 나름의 장점이 있지만 무언가를 빠르게 습득하는 스타일이 아닌 제 입장에서는 반복적으로 보고, 또 보고, 찾고, 메모하고를 할 수 있는 "책"을 선호하는 편입니다. (물론 유튜브는 추천 영상의 압박으로 자꾸 옆길로...) 오늘 소개하는 <처음 배우는 스위프트>는 iOS 개발 초보자를 위한 책입니다. 진짜 초심자를 위한 책이기 때문에 프로그래밍에 어느정도 자신이 있는 사람 보다는 말 그대로 프로그래밍이 처음인 사람들도 따라하면서 입문할 수 있게 해주는 책이라 보시면 되겠습니다. 여느 책들과 달리 이 책의 구성이 가진 장점이 있습니다. 프로그래밍 언어를 배우면서 개발 도구까지 다루는 책들이 빠지기 쉬운 함정이 "독자의 지침"입니다. 지루하게 상수, 변수의 선언부터 프로그래밍 언어의 A to Z를 읽다가 독자들이 나가떨어지는 것이지요.
반면 이 책에서는 매 장마다 간단한 아이폰 앱을 개발해 보면서 스위프트의 문법을 배우는 방식을 사용하고 있습니다. 가령 반복문인 for 를 배운 다음, 이를 활용할 수 있는 간단한 아이폰 앱을 만들어보는 식이지요. 초보자들이 스위프트를 조금씩 배우면서 Xcode 의 사용방법을 지속적으로 연습하도록 해주기 때문에 지루하지 않고 무언가 만들고 있다는 성취감을 함께 얻을 수 있습니다.
물론 입문자 대상의 서적이기 때문에 아주 깊은 부분까지 다루지는 않습니다. 대신 이후의 학습을 어떻게 해나가는 것이 좋은지, 어디서 무슨 정보를 어떻게 얻어야 하는지 "도움이 될만한 도구" 혹은 "정보를 획득하는 방법"을 소개하면서 책을 마무리 하고 있습니다.
앱 개발을 하는 사람들이 정말 많아졌습니다. 플러터나 자마린 같은 크로스플랫폼 도구들이 많이 등장해서 쉽게 앱개발과 런칭에 참여하는 사람도 많아졌습니다. 그렇지만 여전히 이 분야에 들어오는 것이 어렵고 망설여지는 분들이 많은 것도 사실입니다. 용기를 내고 있지 못해 시작도 못했다면, 한빛미디어의 <처음 배우는 스위프트>가 좋은 길잡이가 되어줄 것 같습니다. 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다 |
|
이번 달에 소개해 드릴 책은 그런데 왜 이 책은 프로그래밍 언어를 배우는 책이지만 단순히 문법적 요소의 나열 대신 프로젝트로 어플을 강점을 가지고 있습니다. 프로그래머 그룹은 처음 프로그래밍 하시는 분들에게 당부 하고 싶은 점은 최대한 책과 같은 버전을 사용해 주세요. 난이도 : 하 |
|
이번에 한빛미디어 "나는 리뷰어다"를 통해 받게 된 책은 처음 배우는 스위프트 이다. 마침 현재 재직중인 회사에서 스위프트를 통해 iOS 네이티브 앱을 유지보수 할 일이 있었는데 이 책을 받고 환호했던 날이 기억이 난다. 본인은 백엔드와 인프라 아키텍처를 설계하는 사람이지만, 작은 스타트업에 재직하다보니 때로는 프런트엔드를 하기도 하고,.. 요즘은 iOS 개발자의 퇴사로 인해 소소한 유지보수는 직접 하고 있던터였다. 아무튼, 여러 영역에 거쳐 개발을 해오다보니 감이 있어서 xcode( iOS 개발 툴, intellij 같은 IDE)를 열고 적당히 화면에 보이는 영역의 소스코드를 찾아서 수정하는 건 어렵지 않다. 하지만 새로 뭔가를 개발하기 위해서는 iOS 사용되는 개발 패턴을 알아야 하고 UI 와 유기적으로 연결되는 일련의 과정을 알아야 하는데 거기까지는 딥다이브하지 못해 어려움이 있었다. 그러던 와중에 만난 "처음 배우는 스위프트". 이 책은 스위프트를 처음 접하는 사람을 위한 책인 동시에 개발이 처음인 사람까지 한번에 사로잡는다. 그렇다. 이 책은 스위프트 입문서라기 보다는 개발 입문서에 더 가깝다. 그 말이 그 말 같지만 묘하게 다르다. 입문서 중에도 기본적인 개발 도메인 지식이 있는 사람을 위한 책도 많으니까. 어떤 부분 때문에 개발 입문서라고 표현하느냐 하면, 이 책에서는 변수란 무엇인가부터 입출력, if, switch 같은 조건문, 반복문, 배열, 딕셔너리와 같은 자료형, 함수 그리고 클래스까지 다룬다. 프로그래밍 언어의 여러 입문서와 똑같은 과정이다. 다만, 그 과정에 iOS 개발을 위한 스위프트로 구성되어 있다는 것이 특징이다. 이미 iOS의 개발은 object-c에서 swift로 대부분 넘어온 상태라 object-c로 시작할 필요가 없다. iOS 첫 걸음을 시작하려고 한다면 이 책을 추천한다. |