2024년 새해가 되기도 했고, 개인앱으로 수익을 내보자라는 것을 첫 목표로 하고 나니 필요한 게 뭐가 있을까? 하다가 디자이너, 백앤드개발자 등이 없어서 개발을 못하고 있었... 다는 것은 사실 핑계고 없으면 혼자서라도 개발해보고자 한다.
먼저 백앤드부터 조금씩 맛보기로 했는데... 대세라는 Java(or Kotlin) + Spring은 언어 학습 + 러닝커브가 있어보여서 그래도 그나마 익숙한 언어인 Swift로 백앤드를 할 수 있는 Vapor를 사용해 보기로 했다.
Vapor를 이용하면 SwiftNIO(크로스 플랫폼 비동기 이벤트기반 네트워크 앱 프레임워크 라고한다)위에서도 돌릴 수 있고, Swift로 작성되어 있으며 WebSite, API, HTTP server 그리고 백앤드를 구현할 수 있다고 한다.
일단 SwiftNIO를 사용하지 않고도 서버를 구축해볼 수 있어 보인다.
보이는 것과 같이 다양한 기능을 제공하는 단순 웹 프레임워크 이상의 기능을 제공한다고 한다. 목록에 있는 것도 그래도 많이 본 이름들이니까 이후에 많이 활용할 수 있을 것 같다.
Vapor 설치
당연히 MacOS에서 프로젝트를 빌드하기 위해서는 엑스코드를 설치하고 Swift 버전을 확인해야 하는 것 같다.
글을 작성할 당시의 swift-driver version은 1.87.1이고 Swift version은 5.9라고 나와있다.
brew install vapor 명령어로 Vapor를 설치하고 vapor --help 명령어를 사용하면 정상 설치 시 아래와 같은 화면을 볼 수 있다.
새 프로젝트 생성하기
hello라는 프로젝트를 생성하기 위해서는 vapor new hello -n 명령어를 입력해야 한다고 한다. 여기에서 -n옵션은 프로젝트 생성 시 물어보는 질문에 대답할 필요 없이 bare-born 프로젝트를 생성해준다고 한다.
위와 같이 새로운 프로젝트가 hello라는 이름으로 생성된 것을 확인할 수 있다. 하단의 설명과 같이 프로젝트를 열기 위해서는 프로젝트 디렉터리의 Package.swift를 열면 되고 VSCode를 사용할 경우 code . 명령어로 편집 가능하다고 한다.
프로젝트를 열면 아래와 같이 Swift Package Manager를 통해 의존성을 모두 설치한 후의 Package.swift 파일을 표시하고 있다.
상단에 기본으로 설정되어 있는 스킴을 그대로 실행하게 되면...
서버가 http;//127.0.0.1:8080 라는 주소로 시작되었다는 것을 확인할 수 있다. 해당 주소를 웹 브라우저로 접속해 보면
작성한 적 없는 It works! 라는 문구가 페이지에 출력되는 것을 확인할 수 있다.
'백앤드' 카테고리의 다른 글
Vapor - 로그인 구현하기 (0) | 2024.02.03 |
---|---|
Vapor - Routing + JSON Response (1) | 2024.01.29 |
Vapor - 프로젝트 기본 구성 (1) | 2024.01.22 |