[swift] Swift 앱 백엔드 개발 방법

Swift는 Apple의 주도로 개발된 프로그래밍 언어로 iOS, macOS 등의 앱 개발에 널리 사용됩니다. 그러나 Swift를 사용하여 웹 애플리케이션의 백엔드를 개발하는 것도 가능합니다. 이번 블로그에서는 Swift로 앱 백엔드를 개발하는 방법을 알아보겠습니다.

Vapor 프레임워크 설치

Swift로 앱 백엔드를 개발하기 위해서는 Vapor 프레임워크를 사용할 수 있습니다. Vapor는 Swift로 작성된 경량의 웹 프레임워크로, Express나 Django와 같은 프레임워크처럼 빠르고 간단한 웹 애플리케이션을 개발할 수 있도록 도와줍니다.

Vapor를 사용하기 위해서는 우선 Swift Package Manager를 설치해야 합니다. Swift Package Manager는 Swift 소스 코드의 의존성을 관리하고 빌드하는 도구입니다.

  1. 터미널을 열고 공식 Swift 웹 사이트에서 Swift 다운로드 페이지로 이동합니다.
  2. 최신 버전의 Swift 패키지 매니저를 다운로드하여 설치합니다.
  3. 터미널에서 다음 명령어를 실행하여 Vapor를 설치합니다.
$ brew tap vapor/tap
$ brew install vapor

프로젝트 생성

Vapor를 설치했다면, 이제 백엔드 프로젝트를 생성할 차례입니다.

  1. 원하는 경로에서 터미널을 열고 다음 명령어를 실행하여 새로운 Vapor 프로젝트를 생성합니다.
$ vapor new MyBackendApp
  1. 생성한 프로젝트 폴더로 이동합니다.
$ cd MyBackendApp

라우팅 및 컨트롤러 작성

Vapor에서 라우팅은 URL 경로와 해당 경로에 대응되는 핸들러 함수를 매핑하는 역할을 수행합니다. 컨트롤러는 라우터에서 요청을 처리하는 로직을 구현하는 클래스입니다.

  1. 터미널에서 다음 명령어를 실행하여 새로운 컨트롤러 클래스를 생성합니다.
$ vapor generate controller HelloController
  1. 생성된 컨트롤러 파일(HelloController.swift)을 열고 hello라는 경로에 대한 핸들러 함수를 작성합니다.
import Vapor

struct HelloController: RouteCollection {
    func boot(routes: RoutesBuilder) throws {
        routes.get("hello", use: helloHandler)
    }
    
    func helloHandler(req: Request) -> EventLoopFuture<Response> {
        return "Hello, world!".encodeResponse(for: req)
    }
}
  1. Configure.swift 파일을 열고 routes 함수 내부에서 생성한 컨트롤러를 추가합니다.
import Vapor

// ...

// Configure the application.
public func configure(_ app: Application) throws {
    // Add routes to the application.
    try routes(app)
    
    // ...
    
    // Register HelloController.
    try app.register(collection: HelloController())
}

앱 실행

Vapor 앱을 실행하는 방법은 다음과 같습니다.

  1. 터미널에서 프로젝트 폴더로 이동한 뒤 다음 명령어를 실행합니다.
$ vapor run
  1. 앱이 성공적으로 실행되면 터미널에 로그가 출력되고, http://localhost:8080/hello 주소로 접속하여 “Hello, world!” 메시지를 확인할 수 있습니다.

결론

Swift를 사용하여 앱 백엔드를 개발하는 것은 간단하고 빠르게 웹 애플리케이션을 구축할 수 있는 좋은 선택입니다. Vapor 프레임워크는 Swift로 백엔드를 개발하기에 매우 편리한 도구입니다. 위에서 설명한 단계를 따라가며 Vapor로 앱 백엔드를 시작해보세요.

참고 자료