Monthly Archives: December 2014

Jo SeongGyu

2014/12/29

Apple_Swift_LogoSwift 로고
[출처 : Wikipedia - http://en.wikipedia.org/wiki/File:Apple_Swift_Logo.png ]

그렇습니다. Swift는 정말이지 뜻밖의 출현이었습니다.

무제

iOS 8과 더불어 새로운 기기가 발표될 거라고 생각했던 올 여름, 당황스럽게도 Swift 라는 아주 생소한 언어가 발표되었습니다. 힘차게 하강비행하는 듯한 칼새의 모습을 형상화한 로고가 나오는 순간, ‘저건 뭐지?’ 싶었는데, 새로운 언어라는 말에 저는 충격과 공포에 잠시 정신을 잃었던 것 같습니다. 이내 정신을 차렸지만 그 충격과 공포는 쉽사리 사라지지 않았습니다. ‘프로그래밍 언어라는 것이 뚝딱 만들어져 나올 수 없는데, 어떻게 저렇게 새로운 언어를 비밀리에 개발해서 내놓은거지?’ 등등 별별 생각이 다 들었어요. 어쨌거나 저쨌거나 언어에 종속될 수 밖에 없는 클라이언트 개발자는 눈물을 머금고 새로운 언어에 다가서 봤습니다.

첫 만남

Swift와의 첫만남은 ‘이게 뭐야’였어요. 스크립트 언어도 아닌 것이, 그렇다고 기존에 쓰던 Objective-C를 닮은 것도 아닌, 자바 비스무리한 새로운 변태같은 언어의 느낌. 딱 이런 느낌이었어요. 처음에는 당연히 Xcode 베타버전이라 크래쉬도 많이 나고, 불안정한 요소도 많았구요. 지금과는 문법도 조금씩 다른것들이 있었습니다. 여튼, 새로운 언어와의 첫만남은 한 마디로 ‘별로’ 였어요.

더 좋아진

Swift는 새로 출시된 언어답게 조금 더 발전된 기능들로 무장을 하고있습니다. 애플에서는 Swift의 특징을 Safe, Power, Modern으로 꼽았는데요, 새로나온 언어인 만큼 Modern함은 충분히 갖추고 있구요, Optional이라는 기능을 통해 Safe를 충족시키려 노력한 것을 볼 수 있습니다. 그러나 아직은 Power에 대한 의문은 남아있습니다. 기존 Objective-C 보다 성능면에서 대체적으로 떨어지기 때문인데요, 이 부분은 차후에 어떻게 개선되어 나갈지 지켜봐야 겠습니다.

그러나 더 발전해야할

물론 새로운 언어에서 좋아진 점들이 많지만, 아직은 부족한 부분들도 남아있습니다. 캡슐화가 아직 완벽히 지원되지 않고 있기 때문에 반(Half) 객체지향 언어라는 느낌이 강합니다. 애플에서는 앞으로 캡슐화를 할 수 있는 방안을 마련하도록 하겠다고 하였으나 이는 추후 지켜봐야 할 숙제라고 생각합니다. 또한 아직은 Swift를 완벽히 서포트 해주지 못하고 있는 Xcode도 발전에 조금 더 시간이 필요할 것 같습니다. 정식 배포버전이 베타버전에서 발전하여 문법도 조금씩 바뀌고, 불편한 점들을 개선한 것을 보면 위의 문제들은 시간이 해결해 줄 것이라고 생각합니다.

그래서..?

개인적으로 지극히 주관적인 입장으로 Swift는 2014년 말, 현 시점에서 아직까지 큰 프로젝트에 적용하기는 부담스럽다는 느낌입니다. Objective-C와 한 프로젝트 내에서 혼용하여 쓸 수 있다지만, 저는 그다지 그 연결에 흡족하지 못한 상태입니다. 그래서 현업 프로젝트에는 아직 적용하지 못하고 있어요. 그렇지만 iOS 또는 Mac OS 어플리케이션을 개발하는 사람이라면 꼭 배워두어야 할 것 같다는 생각입니다. 언젠가는 많은 발전을 통해 Swift가 대세가 될 날이 올 것 같기도 하거든요. 개인적으로는 생각보다 굉장히 파격적이고, 강력한 언어라고 생각합니다. 기본적으로 다른 언어 몇 가지를 익숙하게 다룰 줄 아는 프로그래머라면 Swift를 이해하는 첫 걸음은 Optional과 기존 Objective-C에서와는 조금 확장된 nil 이라는 개념이라고 생각하는데요, 여기(http://goo.gl/8VD1Rf)에 좋은 설명이 있어서 링크를 남겨둡니다. Optional과 nil 이라는 개념만 잘 이해해 두어도 Swift를 1/3은 정복했다고 생각합니다.

 

글을 끝까지 읽어주셔서 감사합니다. 아마 대부분 이 글을 읽으신 분들의 표정은 이러실거 같아요. 그래서 어쨌다고? 뭐라는겨?
스크린샷 2014-06-24 오후 6.51.15
사실 Swift의 실제 사용 후기에 대해 이것저것 말해보려고 했습니다만, 아마도 이정도로 충족하지 못하실거라 생각해요. 궁금한 점에 대해서 덧글 주시면 성심성의껏 답변드리도록 하겠습니다!

 

 

참고서적

Objective-C 개발자를 위한 Swift – 김근영 저
기존 Apple 어플리케이션 개발자들을 대상으로 썼지만, 다른 언어를 알고있는 프로그래머라면 충분히 이해하기 쉽게 설명된 Swift 기본 언어 책입니다.

만들면서 배우는 Swift: 스위프트로 시작하는 iOS 개발 – 야곰 저

기존 프로그래머가 아니더라도 아주 간단하게 Swift의 굵직한 특징들을 살펴볼 수 있고 간단한 iOS 앱을 따라 만들어 볼 수 있습니다.

 

[알림] 이 글은 이음소시어스와 그 개발팀의 견해와 일치하지 않을 수 있으며 지극히 주관적인 글임을 알립니다.