Swift는 “빠르다”라는 뜻입니다. Apple이 Object-C의 단점을 개선하여 더 읽기 편하고, 버그가 있 소지를 줄여 안전하며, 최신 언어의 기능들을 받아들인 언어를 제공하기 위해서 1년 전에 새로운 언어 Swift를 iOS, OS X 생태계를 위해 발표하였습니다. 기존의 Obeject-C 코드와 같이 잘 동작하기 때문에 iOS 개발자들이 Swift를 빠르게 프로젝트에 적용해 나아가고 있습니다. Swift는 Stackoverflow에서 실시했던 설문에서 가장 사랑받는 언어로 조사돼기도 하였습니다. Swift가 발표된지 겨우 1년밖에 안된걸 생각하면 엄청난 결과입니다.
Swift는 이미 무료이고 공개되어있었는데, 왜 또 오픈소스 한다는건가요?
먼저, Swift는 아직 오픈소스로 공개되어있지 않습니다. 올해 7월에 Swift 2.0이 발표되었지만 Apple이 올해 안에 오픈소스로 풀겠다고 하였을 뿐 아직은 오픈소스로의 변경은 완료되지 않았습니다. 지금도 우리는 Swift를 잘 쓰고 있는데, Swift 가 오픈소스가 되면 어떤 점이 바뀌는 것일까요?
Swift가 오픈소스가 된다는 것은 한마디로 말해 Swift의 컴파일러와 표준 라이브러리가 오픈소스로 풀린다는 것을 의미합니다. 물론 현재는 컴파일러 코드가 공개되어있지 않습니다. 그러면 컴파일러 코드로 무엇을 할 수 있을까요?
위에 제가 Swift를 소개하면서 “iOS, OS X 를 위한 언어”라는 표현을 썼는데, Swift가 오픈소스가 되고 다른 플랫폼에 이식되면 Swift를 다른 플랫폼에서도 쓸 수 있게 됩니다. 예를 들면 이제 OS X 개발을 하기 위해서 꼭 Mac을 살 필요가 없어질지도 모릅니다. 물론 오픈소스로 풀리자마자 윈도우에서 아이폰 개발을 할 수 있는건 아니고, Swift 컴파일러와 라이브러리를 보고 윈도우에 포팅한다면 그렇게 될꺼라는 이야기 입니다. 또한 다양한 써드파티 개발 플랫폼에서 더 많은 iOS / OS X 앱들을 만들 수 있게 됩니다. 장기적으로 Apple의 앱 생태계가 더 풍부해질 수 있는 기초가 됩니다.
이뿐만 아니라 Swift가 Apple 플랫폼을 위한 언어를 넘어서 다양한 개발을 할 수 있는 범용 언어로 거듭날 수 있습니다. Swift를 가지고 윈도우 어플리케이션을 만들거나 서버 프로그래밍을 하는 등 범용 언어로 사용될 수 있는 기회가 열리게 됩니다. 물론, Swift가 윈도우개발의 주 언어가 되지는 않겠지만, 두 플랫폼 사이에 라이브러리 등의 공유나 크로스플랫폼 개발자들에게는 새로운 기회가 될 수 있습니다.
Swift Scripting 사례
Swift 개발자이고 다양한 자동화 작업을 위해서 Python이나 Ruby를 쓰고 있나요? 그렇다면 Swift는 자동화나 배치 작업을 위한 좋은 대안이 될 수 있습니다. Swift는 가볍고 읽기쉬운 문법을 가졌고 가벼운 느낌을 가진 문업을 사용하지만 strict한 컴파일러를 가지고 있습니다. 이런 특징 때문에 Swift는 Python/Ruby를 대체하여 다양한 작업을 정확하게 처리하는데 최적의 언어가 될지도 모릅니다. 또한 스크립트 환경에서 Swift의 API, Cocoa 라이브러리 등을 모두 사용할 수 있습니다.
물론 아직은 Swift를 스크립트 언어를 대체하여 사용하는 사용자가 많이 않기때문에 조금은 불편한 점이 있을 수 있습니다. 하지만 현재 이미 그렇게 쓰고 있는 많은 사례를 (Swift Scripting)이 공유되고 있으며 Swift가 오픈소스 됨에따라서 그 속도는 가속화 될 것입니다.
Apple이 처음에 Swift라는 언어를 발표했을 때 처음에는 왜 이렇게 커다란 결단을 내렸는지 많은 의구심이 들었습니다. 하지만 1년이 지난 지금 Apple이 Swift를 공개해서 개발자들이 앱을 더 빠르게 개발하고 있고, 또 움직임을 오픈소스를 통해서 가속화 하려는 움직임은 개발자 생태계를 애플에게 유리하게 만들어 장기적으로 애플 플랫폼을 확장하는데 도움을 줄 수 있습니다. 장기적인 안목을 가지고 플랫폼과 생태계를 꾸준히 발전시키는 Apple의 모습이 역시 세계 최대 시가총액을 가진 회사의 답다는 생각이 드네요.
컨텐츠에 대하여
이 컨텐츠는 저자의 허가 하에 이곳에서 공유합니다.