플러닝 Flearning

30일동안 스위프트 앱 만들기 본문

최신 기술 트렌드

30일동안 스위프트 앱 만들기

플러닝 2016.08.29 16:02

30일동안 스위프트 앱 만들기





이 글은 "From Zero to Swift in 30 Days" 기사를 번역한 것입니다.


(출처: https://medium.com/swlh/from-zero-to-swift-in-30-days-8ad97b630e00#.peu7lxbz0)













저는 정확히 30일 전에 스위프트를 배우기 시작했습니다.


3일 전에 제가 만든 첫 번째 앱은 애플에게 베타 리뷰로 승인되었는데요,


베타 리뷰 과정은 다른 일들에 비해서 대수롭지 않은 일로 여겨지지만, 저에게는 큰 업적이었습니다



저는 CS 학위나 개발자로서의 전문적인 경험은 없습니다.


하지만, 지난 5년 간 소프트웨어 개발 팀에서 제품 담당 책임자로 일해왔으며,


루비온레일즈 앱도 재미 삼아 몇 개를 만들었습니다.


저는 항상 제가 하는 일에 깊이 배우는 것을 좋아해서 코딩을 시작하게 되었습니다.







(www.udemy.com)






iOS와 스위프트를 선택한 이유는?



모바일은 크고 개별적입니다.



저는 사람들이 실제로 사용하는 소프트웨어를 만들고 싶습니다.


저는 사용자와 휴대폰이 점점 가까워지는 것이 마음에 들었습니다.


휴대폰은 우리를 잘 알고 있습니다.


언제 일어나고 언제 잠을 자는 지, 어디에 있는지, 어떻게 갔는지,


우리의 스케줄, 친구들과 가족관의 대화 등 많은 것을 알고 있습니다.


이것이 바로 제가 흥미를 가지는 미래입니다.


저는 애플을 오랫동안 사용해온 사람이기 때문에, 자연스럽게 iOS로 시작하게 되었습니다.


전에 Objective-C를 시도해보았을 때 자신이 없었습니다. 그래서 스위프트가 더 마음에 끌렸습니다.



제약 요소의 장점


애플의 플랫폼 경계 안에서 앱을 개발하는 것과 그 앱을 작은 스크린에 맞추는 일은 제한적입니다.


이러한 제약 요소는 무엇을 배울 지에 대해서 저를 집중하게 만들어주며


사용자 경험에 대한 창의성을 이끌어내줍니다.



스위프트는 빠르게 바뀌는 언어입니다.


저는 밑바닥에서부터 발전하고 성장하는 것을 지켜보며 저도 한 부분이 되는 것을 선호합니다.


그렇기때문에 스타트업에서 일하는 것을 좋아합니다.


아직 덜 완성이 된 언어를 발전시키는 것은 자신감을 주며, 


저는 개인적으로 그 언어에 기여할 수 있다는 점이 설레이는 일입니다.







(blog.discourse.org)






초보자를 위한 가이드



제가 7월 1일 처음 시작했을 때, 정말 간단한 첫 번째 앱에 대한 아이디어가 있었습니다. 


이러한 생각은 동기부여와 배우는 것을 개념화하는데 도움이 되었습니다.



저는 스위프트에 관한 최고의 자료, 튜토리얼, 강좌를 찾는데 많은 시간을 보냈습니다.


초보자를 위한 좋은 자료는 많지만, 대부분의 내용이 초보자를 한번도 코드를 접해보지 않은 사람이라고 


가정하는 일이 많았는데요, 그렇기 때문에 진행 과정이 굉장히 느렸습니다. 


또 한편으로는 전문적인 기사와 참고자료들은 배경지식과 경험을 갖고있는 사람이거나


Objective-C에서 스위프트로 전환하는 사람들만 이해할 수 있는 내용들이었습니다.



노력 끝에 저는 저처럼 약간 초보자인 레벨을 위한 자료들을 찾을 수 있었습니다.



1. Paul Hegarty's Standford course Developing iOS8 Apps with Swift


iTunes U에서 무료로 이용할 수 있습니다.


저는 여기서 시작해서 첫 다섯 개 강좌와 두 번째 과제까지 일주일만에 끝낼 수 있었습니다.


강좌 난이도는 빠르게 높아지는데요, 


처음 시작한 후에 저는 좀 더 실질적인 튜토리얼을 시도해보기 위해 잠깐 중단했습니다.


강좌와 교수 모두 훌륭하기 때문에 다시 시작할 예정입니다.



2. The Swift Programming Language by Apple


애플의 iOS SDK 설명서와 비교해보면, 이 책은 프로그래밍에 대한 경험이 있는 사람들이 읽기에 쉽습니다.


명확하고, 간결하며, 빠르게 읽을 수 있기 때문에 


나중에 필요한 개념을 참고할 때 어디를 찾아볼 지 바로 알 수 있습니다.



3. www.raywenderlich.com


이 사이트는 최고의 자료입니다. 


iOS 앱을 한번도 만들어 보지 않았다면, 여기서 시작하는 것이 좋습니다.


뉴스레터에 가입을 하면 긴 글의 튜토리얼을 받을 수 있는데요,


저는 튜토리얼을 통해 색다른 iOS 개발을 경험해볼 수 있었습니다. 


그리고 입문자로서 자신감도 얻을 수 있었습니다.


저만의 앱을 만들 때 튜토리얼을 참고했으며, Xcode에 대한 기억을 상기시키고 싶었습니다.


첫 번째 튜토리얼을 끝내고 나면, 수많은 무료 튜토리얼이 있습니다.


저는 앱을 만드는데 필요한 개념들을 선택해서 배울 수 있었습니다.







(www.st3recruitment.org.uk)







타임라인



Week 1


Standford 강좌에 있는 강의와 과제를 바로 시작했습니다.


스위프트 언어에 관한 책도 많이 읽었으며, raywenderlich.com의 튜토리얼도 끝냈습니다.


이 이후부터는 앱을 만들기 시작했습니다.



Week 2-3


정확한 날에 저는 앱을 코딩하기 시작했는데요,


메인 주에서 12일동안 보트위에 생활도 동시에 시작하게 되었습니다.


조용한 물 위에서 커피를 마시며, 저는 매일 아침 몇 시간동안 작업을 했습니다.


인터넷이 안되기 때문에 40개의 브라우저 탭을 왔다갔다하는 일 없이 Xcode에 집중할 수 있었습니다.


또한 제가 하는 일이 무엇인지와 그 이유에 대해 신경쓰지 않았습니다.


온종일 저는 코드에 대해서만 생각할 수 있었고, 다음 날 아침에 시도해볼 생각에 들떠있었습니다.



Week 4


전 주보다 하루동안 더 많은 일을 할 수 있다는 점이 놀라웠습니다.


마지막 날에는 남은 코드와 어려운 문제들을 정리했습니다.


전에는 제품 담당 책임자로서, 이런일이 있을 때 엔지니어들에게 업무를 주어주고 해결하려했습니다.


하지만 혼자서 이런 일을 할 수 있는 권한을 가지는 것은 정말 만족스러웠습니다.


마지막으로, 저는 Sketch에서 기본적인 앱 아이콘을 만들고,


iTunes Connect에 업로드할 과정을 거친 후에 베타리뷰로 애플에 제출했습니다.


리뷰는 24시간 이하로 걸렸습니다.



이렇게 7월동안 저는 Xcode에 25시간, iOS simulator에 2시간 52분, 


Preview(리딩 튜토리얼)에 4시간 23분, 그리고 Stack Overflow에 51분을 사용했습니다.


또 휴대폰으로 많은 자료를 읽었습니다.







(swifter.kr)







스위프트 커뮤니티



유용한 스위프트 커뮤니티 목록 입니다.


  • We Swift newsletter

  • Dave Verwer's iOS Dev weekly

  • "Swift" tag on Medium

  • raywenderlich.com 팟캐스트

  • Slack 그룹: 

    (1) helpMeCodeSwift는 제가 우연히 찾게된 작은 그룹입니다. 질문을 하면 정말 친절하게 해결해줍니다.

    (2) swift-lang slack은 좀 더 큰 그룹입니다. 초보자들이 많지는 않았습니다.












첫 번째 앱, RoundTrip



저의 앱 이름은 RoundTrip입니다.


뉴욕에서 사는 사람들이 교통카드 요금을 최적화하는 굉장히 간단한 다용도 앱입니다.



교통카드를 사용하려면 먼저 자신이 얼만큼의 돈이 필요한 지 


계산을 해야지만 나중에 쓰지 않는 남은 요금이 생기지 않습니다.


또 MTA는 $5.50이상을 넣으면 11%의 보너스를 주며, 돈은 5센트 단위로만 추가할 수 있습니다. 


이 때문에 계산하기에 어려운데요, 이러한 불편함을 해결해주는 앱입니다.


또한, 30일 무제한 교통카드가 한 달동안 횟수로 사용하는 것보다 더 좋은 지 계산할 수 있으며,


지난 기록을 확인해서 얼마나 자주 교통을 이용했는지 통계를 확인할 수 있습니다. 



베타 테스트를 참여하고 싶다면 이 곳에 이메일을 입력해주세요!(https://tinyletter.com/katiesmillie)


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