본문 바로가기

프로그래밍/Swift

스위프트(Swift)란?

반응형

안녕하세요? 홍콩 턱돌이입니다.

 

제가 개발자다운 일을 시작한 건 Swfit로 iOS 앱 개발을 시작하면서부터입니다. 처음에 무작정 앱 개발을 하고 싶어서 맥북 프로를 사고, 6개월간 2개의 앱을 만들었습니다.

 

첫 앱은 정말 기본 메모장, 그리고 두 번째 앱은 용돈기입장 둘 다 사실 형편없는 앱이었고, 결과적으로도 실패한 앱이지만 앱 개발의 시작부터 배포까지 하나하나 공들여했던 게 많은 도움이 되었습니다.

 

비록 2개의 앱을 통해 '직접적인 수입'을 창출하지는 못했지만 그 결과물과 경험을 내세워 결국 일자리를 구하게 되었고 내 돈 내산 맥북 프로와 6개월간의 시간으로 3년이 넘는 시간 동안 월급을 받은 걸로 계산해보면 결코 나쁜 투자는 아니었다고 생각합니다.

 

이를 통해 처음엔 스스로의 계획대로 잘 흘러가지 않더라도 결국엔 그 과정 속에서 남는 것이 있다는 것을 배웠습니다. Swift는 저에게 있어 이런 큰 가르침을 남겨준 언어입니다.

 

자 그래서 Swift가 뭔데?

앞서 말씀드렸듯 Swift는 iOS, OS X 등 개발에 필요한 프로그래밍 언어입니다. 2014년 6월 발표된 비교적 최신 언어로 기존 Objective-C를 대체하여 만들어졌죠. Swift는 직관적인 편이라 비교적 배우기가 쉽고, 여러 장점이 많은 언어입니다.

 

Swift를 Python과 같은 스크립팅 언어로 착각하기도 하는데, Swift는 네이티브 머신 명령어에 컴파일된 언어(컴파일 언어)입니다. 그도 그럴게 아이폰에서 빠르게 실행되어야 하는데 파이썬처럼 런타임에 소스코드로 직접 해석되면 앱이 많이 느려지게 될 것입니다.

 

다만 소스코드를 작성할 때 거의 실시간으로 결과나 문법적 오류 등을 보여주는 기능으로 봤을 때, 마치 스크립팅 언어로 보이기도 합니다. 사실 현대 프로그래밍 언어에 전통적인 명칭을 붙이는 자체가 점점 의미가 없어지는 것 같기도 하구요.

 

재미있는 건 Swift와 이름이 같은 스크립팅 언어가 존재합니다. Swift Parallel Scripting Language는 클라우드나 클러스터 등의 컴퓨팅 리소스를 분산하는 스크립트를 작성하는 언어라고 합니다.

 

swift-lang.org/main/

 

The Swift Parallel Scripting Language

Swift lets you write parallel scripts that run many copies of ordinary programs concurrently, using statements like this: foreach protein in proteinList { runBLAST(protein); } Swift is parallel: it runs multiple programs concurrently as soon as their input

swift-lang.org

 

Swift를 사용하려면?

Swift로 코드를 작성해서 앱을 배포하기 위해 Xcode라는 가장 기본적인 개발 툴이 필요합니다. 이 Xcode는 오직 macOS에서만 작동하기 때문에(공식적인 방법일 경우) 맥북이나 아이맥 같은 macOS를 탑재한 컴퓨터가 필요합니다.

 

개발용의 맥 장비들은 몇백만 원을 호가하는 고가의 장비이기 때문에 비교적 Swift를 통한 개발에 진입장벽이 있는 편입니다. 하지만 macOS의 사용이 해외에서는 비교적 흔하기도 하고 애플 소프트웨어 개발에 대안이 없다는 이유에서인지 라이브러리나 커뮤니티는 굉장히 활발한 편입니다. 

 

왜 Swift를 사용해야 하나?

아이폰이나 맥북에서 돌아가는 앱을 만들고 싶다면 Objective-C, Swift(SwiftUI) 중 한 언어는 할 줄 알아야 합니다. 그리고 개인적으로는 C언어 기반의 오래된 Objective-C보다는 현대적 기능을 포함하고 있는 비교적 세련된 Swift가 더 매력적인 언어라고 생각합니다.

 

대안이 없다는 이유를 제외하고도 Swift는 꽤 매력적인 언어임에 틀림없습니다. 비록 진입장벽이 낮은 편은 아니지만 직접 모바일 앱을 개발하고 매 순간 그 앱을 사용하는 것은 꽤나 재미있는 경험이 될 거라고 생각합니다.

 

Swift라는 언어에 대해 다소 추상적으로 글을 써봤는데요, 다음 포스팅부터는 Swift의 문법이나 기능에 대해 좀 더 자세히 다뤄보도록 하겠습니다. 긴 글 읽어주셔서 감사합니다.

 

 

 

 

반응형