- Server-side Swift의 이점
- 서버 기능이 없는 애플리케이션은 찾아보기 힘들다.
- 만약 앱 개발자가 서버쪽 작업을 해야 한다면, 다른 언어를 쓰는 것에 의한 컨텍스트 스위칭과 중복 구현등의 문제가 있을 수 있다. -> 없을 순 없지…
- swift로 서버 구현을 할 수 있다면, 컨텍스트 스위칭 비용 감소와 코드 재사용 등의 이점을 누릴 수 있다. -> 물론 재사용 할 수 있게 짰을 때 이야기지만
- swift는 다양한 플랫폼에서 돌아갈 수 있도록 설계되었다.
- Standard Library는 System Library위에 올라가 있다.
- Darwin인 경우에는 Overlay가 하나 더 들어가고, 그 외 플랫폼에서는 Darwin에서만 제공되는 API를 매우기 위한 추가적인 라이브러리(Core Library) 하나 더 들어간다.
- 애플리케이션은 System Library, Standard Library, Overlay(Core Library)위에서 각 레이어를 적절히 사용하여 작성된다.
- 그렇게해서 서버 쪽에서도 비슷한 경험으로 개발을 할 수 있다.
- 새 플랫폼에서 고려해야 될 것
- UI Framework: UI는 플랫폼별로 특화되어 있다.
- 배포
- 애플리케이션 버전 관리
- 실제 적용사례 - IBM
- Swift Sandbox: 웹에서 swift를 실행시키는 도구
- Swift Package Catalog: Swift Package를 모아놓은 곳
- Kitura
- Cloud 지원
- 웹 서비스
- 앱 바깥에서 로직이 돌아가는 것
- request - response 형태
- 서버쪽에서는 request를 받아서 이를 처리할 수 있는 곳으로 라우팅을 하고, 처리된 결과는 다시 라우터로 가 요청한 곳으로 response를 보냄