Let’Swift는 Swift 개발자들이 만나고, 배우고, 즐기는 컨퍼런스로 총 13개의 세션으로 이뤄졌습니다. Swift 개발자들이 모여 iOS의 넥스트 스텝을 이야기한 행사였습니다. 빠르게 발전하는 언어 Swift에 대한 뜨거운 열의를 엿볼 수 있었던 Let’Swift 행사 동영상을 공유합니다
Swift로 클라이언트 뿐만 아니라 서버까지 개발할 수 있다는 희소식, 알고 계신가요? ICT 서비스의 전문 기업으로 Platform을 개발, 운영하는 SK techx의 개발자, 안병욱님이 VirtualBox, Kitura, Docker를 사용해서 Swift로 Server를 만드는 방법을 설명하고, 양원석님이 데모를 보여줬습니다.
Server-side?
- Backend Web Framework: 다양한 프레임워크가 존재함
- Swift Backend Framework
- Kitura: 기능과 패키지가 많음, OAuth 가능
- Perfect: 프레임워크가 Kitura보다 부족, OAuth 불가능
- 이 밖에도 활발히 활성화된 오픈소스인 Zewo, Vapor 등이 존재
VirtualBox, Kitura, Docker
- VirtualBox, Kitura, Docker를 활용한 Swift Server 예제 코드
- VirtualBox Script 설정 (우분투 리눅스)
- Swift 3.0 Toolchain 바이너리를 가져옴
- RESTFul API 테스트를 위한 8090 포트 포워드
- Kitura 백엔드 프레임워크를 가져옴
- Kitura에서 필요한 패키지(리눅스 라이브러리) 설치
- Kitura를 다운로드 받고 Swift로 빌드 후
$vagrant up
백엔드에서 필요한 RESTFul API 예제
- Virtual Box로 들어가서
swift package init
- swift package 확인
- Router 기능 설정
Docker 컨테이너 만들기
- Docker 빌드
- image 생성
- Docker 런
$ docker run -d -p 8090 --name api1 swift-api:latest
$ docker run -d -p 8090 --name api2 swift-api:latest
$ docker run -d -p 8090 --name api3 swift-api:latest
// ? => scale up $ docker-compose
Demo
- 개발환경: MacOS의 VirtualBox 상의 Ubuntu에 RESTFul 서버를 올려서 Google Cloud Platform에서 배포하는 Swift 기반 클라이언트로 접근하여 테스트
- API 설명
==================================
Description : get a number of vote
Request: Verb: GET URL: http://letswift-api:8090/vote
Response: HTTP code: 200
Body:
{
"objective-c": 100,
"swift": 100
}
==================================
Description : Increase a vote
Request: Verb: PUT URL: http://letswift-api:8090/votes/objectivec_voted
Request: Verb: PUT URL: http://letswift-api:8090/votes/swift_voted
Response: HTTP code: 200
- 데모 내용은 동영상을 참고해 주세요. (Demonstration by 양원석)
발표 슬라이드는 아래를 참고해주세요.
컨텐츠에 대하여
이 컨텐츠는 저자의 허가 하에 이곳에서 공유합니다.