티스토리 뷰

Swift

Swift3 시작하기

norux 2016. 8. 22. 10:47

Swift3 시작하기

애플이 스위프트를 오픈소스로 공개한 이후 스위프트에 대한 관심이 무척 높아졌습니다. 6월에 진행된 애플 개발자행사인 WWDC에서는 스위프트3가 공개되었는데요. 스위프트3는 아직 베타버전이지만, 깃허브에 공개한 이후 많은 커미터들의 의견이 반영된 첫 번째 버전입니다.


오늘은 스위프트3를 가볍게 시작하는 걸로 출발합니다.




Swift에 대해 잘 알고싶으면 공식 홈페이지의 문서가 제일 좋습니다. 공홈에서 제공하는 메뉴얼은 진리입니다!

1. 다운로드

서두에 말씀드린것처럼 Swift3는 아직 베타버전이기 때문에, 공식홈페이지를 통해 다운로드 받을 수 있습니다.

현재 공식으로 지원하는 플랫폼은 macOS와 Ubuntu 14.04/15.10 입니다. 앞으로 redhat계열만 지원해주면 저는 더 바랄나위가 없겠네요. 위 URL에서 본인의 플랫폼에 해당하는 버전을 다운받습니다.

2. 설치

macOS

맥에서는 XCode 8.0(베타)을 설치하면 됩니다. 기존에 XCode가 설치되어 콘솔에서 swift2를 기본 패스로 가지고 있는 경우, 다음 코드를 ~/.bashrc에 넣어줍니다.

export PATH=/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin:"${PATH}"

Ubuntu

우분투에서는 먼저 설치해야할 패키지가 있습니다. 스위프트의 프론트엔드 컴파일러 Clang입니다. LLVM이 백엔드로 동작합니다.

$ sudo apt-get install clang

아마 LLVM이 의존된 패키지로 함께 설치 되었던 것 같습니다. 그리고 위에서 다운받은 스위프트 패키지의 압축을 적당한 곳에 풀어줍니다. 그 후 압축을 풀은 위치를 기준으로 swift의 패스를 잡아주면 됩니다.

export PATH=/path/to/Swift/usr/bin:"${PATH}"

3. hello world 출력하기

제가 스위프트의 장점으로 뽑는 것 중 하나는 swift는 스크립트 언어로서도 활용할 수 있으며, 컴파일된 네이티브 언어로서도 활용할 수 있다는 점입니다.

먼저 아무 파일이나 생성해 봅시다. 실습은 우분투 기준으로 진행합니다.

  • helloworld.swift
print("Hello World!")

hello world를 출력하는 건 위의 코드가 전부 입니다. 이제 실행하기 위해 콘솔을 열고 다음 명령을 입력해 봅시다.

$ swift helloworld.swift

결과가 잘 나오는걸 확인할 수 있습니다.


이제 컴파일을 해볼까요?

$ swiftc helloworld.swift -o helloworld

helloworld라는 파일이 생겼습니다. 파일의 속성을 볼까요?

$ file helloworld
hellowrold: ELF 64-bit LSB executable, x86-64 version 1 (SYSV), dynamically linked (uses shard libs), for GNU/Linux 2.6.24, BuildID[sha1]=8a26fd0ffasdfsaf31qwdcv214tsatv, not stripped

리눅스의 ELF 포멧으로 빌드가 된것을 확인할 수 있습니다.


이는 서버개발하는 입장에서 크나큰 장점이 될 수 있을 것 같습니다. 테스트서버에는 스크립트로 동작시켜서 개발한 코드의 적용 사항을 빨리빨리 확인합니다. 그리고 실제 운용서버는 컴파일된 코드를 올려서 아주 빠르게 동작시킬수 있습니다.


위의 바이너리파일을 실행시키면 같은 결과가 나오는 것을 확인할 수 있습니다. 그렇지만 스크립트로 실행시킨것에 비해 속도는 엄청 빠릅니다. 물론 이 예제에서는 속도차이를 체감하기 쉽지 않습니다. :)

참조

  1. swift 공식 홈페이지: https://swift.org


'Swift' 카테고리의 다른 글

[번역] Welcome to Swift - About Swift (Swift3)  (0) 2016.08.23
[번역] Welcome to Swift - A Swift Tour (Swift3)  (0) 2016.08.23

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함