플러닝 Flearning

100일간의 스위프트(Swift) 본문

최신 기술 트렌드

100일간의 스위프트(Swift)

플러닝 2016.08.26 17:19

100일간의 스위프트(Swift)





이 글은 "100 Days of Swift"기사를 번역한 것입니다.


(출처: https://medium.com/@samvlu/100-days-of-swift-736d45a19b63#.p6c9j9868)













애플의 새로운 프로그래밍 언어



애플이 새로운 언어로 스위프트를 발표하면서, 저는 꼭 배우고 싶었습니다.


저는 프로그래밍에 대한 경험은 별로 없었지만, 한 번 시도해 보기로 했습니다.


그리고 한 달 전, 저는 100간의 스위프트 프로젝트를 마칠 수 있었습니다.













스위프트를 배우기 전에 프로그래밍에 대한 경험이 얼마나 있었나요?


경험이 많지는 않았습니다.



저는 모션 그래픽 일을 하고 있었고, 독학으로 웹 개발자가 되었습니다. 


HTML, CSS, Sass, Javascript, jQuery, Ruby, Python에 대해 알고 있었지만,


앱을 만들어본 경험은 없었습니다.


HTML과 CSS에 대해 잘 알고 있긴 하지만, 


프로그래머 친구가 이 언어들은 컨텐츠를 스타일하는 스크립팅 언어이며,


프로그래밍은 이와 다르다고 말했습니다.


HTML과 CSS가 프로그래밍 언어는 아니었지만, 


코드와 에러에 익숙해지는데 이 언어들이 도움이 되었습니다.













스위프트가 배우기에 쉬웠나요?



네, 스위프트 문법은 배우기에 쉬웠습니다. 


애플은 성공적으로 스위프트를 디자인하고 상세한 책을 런칭했습니다.


하지만 스위프트는 한 부분일 뿐입니다.


제가 처음 앱을 만들기 전에 저는 배워야 할 것들이 많았습니다.



1. 스위프트(Swift)


2. Xcode


3. 프로그래밍 개념


4. iOS 프레임워크













스위프트를 배울 때 유용한 리소스는 어떤 것이 있을까요?



저는 스위프트에 대한 모든 것을 읽고 공부했습니다.


또한 객체 지향 프로그래밍과 MVC 아키텍쳐같은 프로그래밍 개념에 대한 자료도 많이 읽었습니다.


저는 스위프트보다 프로그래밍을 배우는 것이 더 중요하다고 생각합니다.


아래는 스위프트를 배우기 시작할 때 좋은 리소스입니다:



책 <The Swift Programming Language> by Apple: 


이 책은 스위프트 문법을 다루고 있습니다. 


웹 브라우저를 더 선호하는 사람이라면 무료로 온라인에서도 읽을 수 있습니다.



Developing iOS 8 Apps with Swift by Stanford:


Paul Hegarty가 가르치는 아이튠즈 U 강좌입니다.


그는 NeXT에서 스티브 잡스와 일했는데요, 


스위프트를 사용해서 몇 개의 앱을 만드는 법을 가르칩니다.



Ray Wenderlich:


이 사이트는 재능이 있는 사람들이 다양한 프로그래머 레벨에 맞게 만든 튜토리얼이 있습니다.


무료 튜토리얼은 스위프트 배우기를 시작하기에 아주 좋습니다.



Design+Code by Meng To:


그의 책에는 수많은 자료를 포함하고 있습니다.


Xcode, Sketch, Swift, Spring 애니메이션 라이브러리 등을 사용해 앱을 만드는 법을 가르쳐줍니다.


이미 구입한 사람들에게는 별도의 이용료 없이 무료로 새로운 자료를 업데이트 해줍니다.



Swift By Example by Brett Bukowski:


이 사이트는 간단한 방법으로 코딩하는 법을 예시로 보여주며


무료로 스위프트 문법을 배울 수 있게 도와줍니다.







새로운 리소스 업데이트



100일간의 스위프트:


프로젝트를 끝내고 나서 저는 다시 되돌아가서,


제가 한 것을 바탕으로 비디오 튜토리얼을 만들었습니다.


제가 했던 것을 그대로 따라하면 멋있는 프로젝트를 만들면서 스위프트를 배울 수 있습니다.


제가 Xcode, Code Snippet Library, 그리고 iOS Simulator를 어떻게 사용했는지 보여드리겠습니다.


또한, 유료로 스위프트, 프로그래밍 개념, 그리고 iOS 개발에 대한 기초를 다질 수 있습니다.













스위프트 문법보다 프로그래밍을 배우는 것이 더 중요한가요?



네, 프로그래밍 언어를 배우면 뭔가를 만들 수 있기 때문입니다.


저는 많은 시간동안 무언가를 만들고 어떻게 작동하는 지에 의문을 가졌습니다.


저는 아직도 프로그래밍을 배우는 중이기 때문에 프로그래밍을 "다 배웠다"라고 말하지는 않겠습니다.


어느 순간 결국 작동 되는 원리를 파악했을 때가 있었습니다.


사실 이는 스위프트와는 관련이 없었지만, 이 때 저는 프로토타이핑 도구인 Framer을 사용했습니다.


즉각적인 대화형 코드 시각화(immediate interactive code visualization)를 기반으로 만들어졌는데요,


이는 "Inventing on Principle" 스피치에서 소개한 Bret Victor의 아이디어입니다.


Framer을 사용하면서 저는 코드 구조에 대해 기본적으로 이해할 수 있었습니다.


또한 아래 질문들에 대해 답을 할 수 있게 해주었습니다:



- 왜 함수를 사용할까?


- for loop로 무엇을 만들 수 있을까?


- if 선언문으로 무엇을 할 수 있을까?


- 그 외에 많은 것들







Framer는 이러한 질문들에 대한 답을 시각적으로 보여주었습니다.


코드를 조금만 변환시켜도 그 결과를 바로 볼 수 있었습니다.


무언가를 만들 때 코드를 어떻게 이용할 수 있는지 기본적인 이해를 할 수 있었습니다.


이는 스위프트로 뭔가를 만드는 것을 배울 때 정말 중요합니다.


Framer을 배우면 iOS 앱을 만들 수 있다는 말은 아닙니다.


Framer을 배우면서 새로운 사고 방식을 통해서 iOS 앱 만드는 법을  더 쉽게 배울 수 있었습니다.


애플은 Playgrounds라는 대화형 코딩 도구가 있는데요, Xcode로 만들어졌습니다.













마지막으로,



제가 이 프로젝트를 시작했을 때, 저는 100개의 프로젝트를 예상했지만, 40개밖에 만들지 못했는데요,


이는 제가 배우고 만드는 것을 동시에 했기 때문입니다.


대부분의 프로젝트는 마무리하는데 며칠이 걸렸습니다.


저는 이 일을 제가 하게되서 만족스럽습니다. 


그리고 저에게 새로운 사고 방식과 문제 푸는 방법을 주는 기회였습니다.


또한 소프트웨어 개발자들이 존경스럽게 느껴집니다.



이 프로젝트를 하기 전에, 저는 앱을 만들면서 어떻게 작동이 되는지 궁금해 했는데요,


이제는 제가 앱을 만들면 "왜 이러한 방식으로 만들어졌을까" 라는 생각을 하게 되었습니다.













http://samvlu.com에서 제 모든 스위프트 프로젝트를 확인해보세요!

저작자 표시
신고
0 Comments
댓글쓰기 폼