퀵스타터즈

Swift용 백엔드를 구축하는 방법?

43min

소개

이 튜토리얼에서는 Back4App을 사용하여 Swift 애플리케이션의 완전한 백엔드를 구축하는 방법을 배웁니다.

데이터베이스 관리, 클라우드 코드 함수, REST 및 GraphQL API, 사용자 인증, 실시간 쿼리(라이브 쿼리) 등과 같은 필수 Back4App 기능을 통합하여 Swift 기반 클라이언트 앱과 원활하게 통신하는 안전하고 확장 가능하며 강력한 백엔드를 생성하는 과정을 안내합니다.

Back4App의 빠른 설정과 직관적인 환경을 활용하면 서버와 데이터베이스를 수동으로 구성하는 것에 비해 필요한 시간과 노력을 크게 줄일 수 있습니다.

이 과정에서 고급 보안 기능, 클라우드 작업을 통한 작업 예약, 외부 통합을 위한 웹훅 설정 등 중요한 기능에 대한 실습 경험을 쌓게 됩니다.

이 튜토리얼이 끝날 무렵, 여러분은 이 기본 백엔드 서비스를 프로덕션 준비가 완료된 애플리케이션으로 향상시키거나 필요에 따라 사용자 정의 논리 및 타사 API를 쉽게 통합할 수 있는 준비가 잘 되어 있을 것입니다.

BaaS 플랫폼과 함께 작업하는 것이 백엔드 개발을 보다 간소화된 경험으로 변화시킬 수 있는 방법을 보게 될 것입니다. 특히 빠른 백엔드 또는 기타 백엔드 애플리케이션을 만들 때 그렇습니다. 시작해 봅시다!

전제 조건

이 튜토리얼을 완료하려면 다음이 필요합니다:

  • Back4App 계정과 새로운 Back4App 프로젝트 Back4App 시작하기. 계정이 없으신 경우, 무료로 생성할 수 있습니다. 위의 가이드를 따라 프로젝트를 준비하세요.
  • Swift 개발 환경 Swift를 사용하여 iOS 또는 macOS 애플리케이션을 만들기 위해 Xcode를 IDE로 사용할 수 있습니다. 최신 안정 버전의 Xcode가 설치되어 있는지 확인하세요.
  • Swift 프로그래밍 언어에 대한 친숙함 Swift가 처음이라면, 공식 Swift 문서 또는 초보자 튜토리얼을 검토한 후 시작하세요.
  • Parse Swift SDK CocoaPods를 사용하는 경우, pod 'ParseSwiftOG'를 Podfile에 추가하세요. 또는 Swift Package Manager를 사용하는 경우, .package(url: "https://github.com/netreconlab/Parse-Swift.git", from: "5.0.0")를 종속성에 추가하세요. 자세한 내용은 Parse Swift 문서를 읽어보세요.

시작하기 전에 이러한 모든 전제 조건이 준비되어 있는지 확인하세요. Back4App 프로젝트를 설정하고 로컬 Swift 환경을 준비하면 더 쉽게 따라할 수 있습니다.

1단계 – Back4App에서 새 프로젝트 만들기 및 연결하기

Back4App에서 Swift 백엔드를 구축하는 첫 번째 단계는 새 프로젝트를 만드는 것입니다. 이 프로젝트는 이 튜토리얼에서 논의된 모든 백엔드 구성의 기초입니다. Swift는 Parse Swift SDK를 사용하여 새 백엔드에 원활하게 연결할 수 있습니다. 방법을 살펴보겠습니다.

새 프로젝트 만들기

  1. Back4App 계정에 로그인하세요.
  2. Back4App 대시보드에서 “새 앱” 버튼을 클릭하세요.
  3. 앱 이름을 정하세요 (예: “Swift-Backend-Tutorial”).
Document image


생성 후, 대시보드에 새 앱이 나열된 것을 볼 수 있습니다. 여기에서 데이터베이스, 클라우드 함수 및 백엔드 앱에 대한 기타 중요한 설정을 구성할 수 있습니다.

Parse Swift SDK 연결하기

Back4App은 데이터베이스, 실시간 업데이트, 인증 등을 위한 기반을 제공하는 Parse 플랫폼에 의해 구동됩니다. 귀하의 Swift 애플리케이션은 Parse Swift SDK를 설치하고 초기화하여 Back4App에 연결할 수 있습니다.

Parse 키 가져오기: 귀하의 Back4App 대시보드에서 앱의 “앱 설정” 또는 “보안 및 키”로 이동하여 애플리케이션 ID클라이언트 키를 찾으세요. 또한 Parse 서버 URL(종종 https://parseapi.back4app.com)를 볼 수 있습니다.

Document image


Parse Swift SDK 설치하기:

  • Swift 패키지 관리자 (추천):
Swift

  • CocoaPods:
Ruby


앱에서 Parse 초기화하기:

이 작업은 Swift 프로젝트의 주요 진입점(예: AppDelegate.swift 또는 SwiftUI @main 구조체)에서 수행할 수 있습니다. 예를 들어:

Swift


이 설정을 통해 Swift 클라이언트는 이제 Back4App에 안전한 요청을 보낼 수 있습니다. 수동 REST 또는 GraphQL 호출 없이 데이터 작업을 단순화하는 강력한 연결을 설정했습니다(원하는 경우 여전히 사용할 수 있습니다).

2단계 – 데이터베이스 설정

이 단계에서는 Back4App에서 백엔드 데이터베이스를 구성하고 Swift 코드에서 데이터를 관리하는 방법을 살펴봅니다. Back4App은 Parse 데이터 모델을 사용하여 클래스와 유사한 구조에 객체를 저장할 수 있습니다. Swift는 Parse Swift SDK를 통해 이러한 클래스와 쉽게 상호작용할 수 있습니다.

데이터 모델 만들기

  1. Back4App 대시보드에서 “데이터베이스” 섹션으로 이동하세요.
  2. 새 클래스를 만드세요 (예: “Todo”).
  3. 필요한 데이터에 대한 열을 추가하세요 예: “title” (String) 및 “isCompleted” (Boolean).
새 클래스 만들기
새 클래스 만들기


객체를 처음 저장할 때 Parse Swift SDK가 이러한 열을 자동으로 생성하도록 할 수 있습니다. 어떤 방식이든, 귀하의 스키마는 저장하는 데이터와 일치해야 하므로 귀하의 앱이 원활하게 처리할 수 있습니다.

AI 에이전트를 사용하여 데이터 모델 만들기

Back4App은 데이터 모델 설계를 도와줄 수 있는 AI 에이전트를 제공합니다:

  1. AI 에이전트 열기 앱 대시보드 또는 메뉴에서.
  2. 자연어로 데이터 모델 설명하기 예: “새로운 Swift 프로젝트를 ToDo 클래스 스키마로 생성해 주세요.”
  3. AI 에이전트가 스키마를 생성하도록 하세요 자동으로.
Document image


데이터 읽기 및 쓰기: Parse Swift SDK

Parse Swift SDK를 사용하여 ParseObject에 준수하는 구조체를 생성하여 데이터를 나타낼 수 있습니다. 예를 들어, Todo 클래스가 있는 경우:

Swift


Todo 객체를 생성하고 저장하기:

Swift


모든 할 일 항목 조회:

Swift


데이터 읽기 및 쓰기: REST API

표준 HTTP 요청을 선호하는 경우 REST API를 사용할 수 있습니다. 예를 들어, 새로운 할 일을 생성하려면:

Bash


데이터 읽기 및 쓰기: GraphQL API

GraphQL도 지원됩니다. 할 일을 생성하기 위한 샘플 변형은 다음과 같습니다:

GraphQL


실시간 쿼리 작업하기

당신의 Swift 앱이 실시간 업데이트가 필요하다면, Back4App은 실시간 쿼리를 지원합니다. iOS의 경우:

  1. 실시간 쿼리 활성화 당신의 앱의 서버 설정에서.
  2. 연결하기 다음을 지정하여 Parse.liveQueryServerURL 당신의 앱에서:
Swift

  1. 실시간 업데이트 구독하기:
Swift


이제 Todo가 생성되거나 업데이트되거나 삭제될 때마다, 실시간으로 업데이트를 받을 수 있습니다. 이는 Swift 백엔드 개발에서 협업 또는 시간에 민감한 기능에 특히 유용합니다.

3단계 – ACL 및 CLP를 통한 보안 적용

ACL과 CLP란 무엇인가?

Back4App은 Access Control Lists (ACLs)Class-Level Permissions (CLPs)를 사용하여 데이터를 보호합니다. ACL은 객체별 권한을 정의할 수 있게 해주며, CLP는 전체 클래스에 대한 기본 접근 규칙을 설정합니다.

Document image


클래스 수준 권한

Back4App 대시보드에서:

  1. 데이터베이스”로 가서 클래스를 선택합니다 (예: “Todo”).
  2. 클래스 수준 권한”을 엽니다.
  3. 읽기, 쓰기 또는 공개 접근에 대한 제한을 구성합니다.

접근 제어 목록 (ACLs)

Swift에서 ParseObject를 생성하거나 업데이트할 때 ACL을 설정할 수 있습니다. 예를 들어:

Swift


이것은 지정된 사용자만 해당 객체를 읽거나 수정할 수 있도록 보장합니다. ACL과 CLP를 결합하면 앱 데이터에 대한 강력하고 계층화된 보안 모델을 형성합니다.

4단계 – 클라우드 코드 함수 작성

클라우드 코드란?

클라우드 코드는 클라이언트에 비밀을 노출하지 않고 서버 측 Swift 로직(또는 원래 Parse Cloud Code 스타일을 사용하는 경우 JavaScript)을 실행할 수 있게 해줍니다. 유효성 검사, 트리거, 예약된 작업 등에 적합합니다.

예제 함수

여기 JavaScript 기반의 예제가 있지만, TypeScript로 작업하거나 Swift에서 호출할 수도 있습니다. Back4App Cloud Code 폴더에서 main.js:

JS


NPM 모듈을 설치하려면 package.json 파일에 포함시키고, main.js에서 호출하면 됩니다. 배포가 완료되면, callFunction을 사용하여 Swift 코드에서 이러한 함수를 호출할 수 있습니다.

배포

다음 경로를 통해 Cloud Code를 배포하세요:

Bash


또한 Back4App 대시보드를 통해 Cloud Code > Functions로 이동하여 배포할 수 있습니다. 온라인 편집기에 코드를 붙여넣고 배포를 클릭하세요.

Swift에서 호출하기

Swift


5단계 – 인증 구성

사용자 인증 활성화

Back4App의 대시보드, 사용자 계정을 위한 기본 _User 클래스가 표시됩니다. 필요에 따라 앱의 인증 설정에서 추가 인증 제공자(Apple, Facebook, Google 등)를 활성화하세요.

가입 및 로그인 (Swift)

Swift


소셜 로그인

Back4App는 Google, Apple 및 Facebook과의 OAuth 로그인을 지원합니다. 이러한 제공자를 인증 설정 페이지에서 구성하고, Swift 앱에서 관련 Parse Swift 통합 코드를 사용하여 인증 흐름을 처리하세요 (예: ParseFacebookUtils 또는 ParseAppleUtils) . 자세한 내용은 소셜 로그인 문서를 참조하세요.

6단계 – 파일 저장 처리

파일 저장 설정

Back4App에 이미지, 비디오 또는 모든 파일을 저장할 수 있습니다. Swift에서는 ParseFile:

Swift


그런 다음 이 파일을 ParseObject에 첨부하고 저장할 수 있습니다. 파일의 URL을 검색하여 다른 곳에서 표시하거나 다운로드할 수 있습니다.

보안 고려사항

파일 접근을 제한하려면 Parse Server의 파일 구성. 예를 들어, 인증된 사용자만 파일을 업로드하도록 허용하거나 Swift 코드에서 읽기/쓰기 권한을 지정할 수 있습니다.

7단계 – 이메일 확인 및 비밀번호 재설정

왜 확인 및 재설정 이메일이 필요합니까?

사용자의 이메일을 검증하면 실제로 활성화된 메일박스인지 확인할 수 있습니다. 비밀번호 재설정은 사용자가 자격 증명을 잊어버린 경우 안전하게 계정 접근을 복구하는 데 도움이 됩니다.

Back4App에서 구성하기

이동하십시오 이메일 설정이메일 확인을 활성화하십시오. 확인 및 재설정 흐름에 대한 이메일 템플릿을 편집하십시오.

Swift에서 비밀번호 재설정 트리거하기

Swift


8단계 – 클라우드 작업으로 작업 예약하기

클라우드 작업

Back4App에서 서버 측 작업을 예약할 수 있습니다. 예를 들어, 오래된 데이터를 정리하거나 주간 보고서를 전송하는 것입니다. 클라우드 코드에서 작업을 정의하고 Back4App 대시보드를 통해 예약하십시오.

JS


그런 다음 Back4App 서버 설정 > 백그라운드 작업, 매일 또는 원하는 간격으로 실행되도록 예약할 수 있습니다.

클라우드 작업 예약
클라우드 작업 예약


9단계 – 웹훅 통합

웹훅이란?

웹훅은 특정 이벤트가 발생할 때마다 앱이 외부 서비스에 자동으로 데이터를 POST할 수 있게 해줍니다. 이는 Slack, Stripe 또는 기타 서드파티 API와 통합하는 데 완벽합니다.

구성

  1. Back4App 대시보드에서 더보기 > 웹훅로 이동합니다.
  2. 웹훅 엔드포인트를 추가합니다 (예: https://example.com/webhook).
  3. 트리거를 선택합니다 (예: “Todo”에서 객체 생성).
웹훅 추가
웹훅 추가


사용자 정의 논리를 위해 Cloud Code 트리거에서 외부 URL에 요청을 발행할 수도 있습니다:

BeforeSave WebHook
BeforeSave WebHook


10단계 – Back4App 관리 패널 탐색

관리 패널이란?

Back4App Admin App”은 비기술적이거나 지원 직원들을 위한 포인트 앤 클릭 인터페이스입니다. 데이터에 대한 CRUD 작업을 수행하기 위한 간단한 GUI를 제공하여 개발 환경 외부에서 데이터를 관리하는 데 유용합니다.

관리 앱 활성화

  1. 앱 대시보드로 이동 > 더보기 > 관리 앱.
  2. 관리 앱을 활성화하고 하위 도메인을 선택합니다.
  3. 관리 사용자 생성.
관리 앱 활성화
관리 앱 활성화


활성화되면 적절한 자격 증명을 가진 누구나 사용자 친화적인 웹 인터페이스를 통해 데이터를 보고 편집할 수 있습니다—코드가 필요하지 않습니다.

결론

이 완벽한 튜토리얼을 따라함으로써, 당신은 Swift용 백엔드를 구축하는 방법을 배웠습니다. 구체적으로, 당신은:

  • 안전한 백엔드를 생성했습니다.
  • 데이터베이스를 구성했습니다 클래스 스키마와 데이터 관계로.
  • 실시간 쿼리로 작업했습니다 (라이브 쿼리) 즉각적인 업데이트를 위해.
  • 강력한 보안을 설정했습니다 ACL 및 CLP로.
  • 클라우드 코드를 사용했습니다 서버 측에서 사용자 정의 로직을 실행하기 위해.
  • 사용자 인증을 구현했습니다 검증 및 비밀번호 재설정으로.
  • 파일 업로드를 처리했습니다 안전하게.
  • 자동화된 작업을 예약했습니다 클라우드 작업으로.
  • 웹훅에 대해 배웠습니다 외부 API를 통합하기 위해.
  • 관리 패널을 탐색했습니다 직접 데이터 관리를 위해.

이제 당신은 Swift 애플리케이션을 위한 기능적이고 확장 가능한 백엔드 서비스를 갖추게 되었습니다. 이 서비스는 더 복잡한 기능을 처리하거나, 제3자 서비스에 연결하거나, 더 많은 사용자 트래픽에 적응할 수 있도록 쉽게 확장할 수 있습니다. 또한 Back4App의 BaaS 기능과 Swift의 현대적인 구문이 백엔드 개발을 얼마나 빠르게 할 수 있는지를 직접 경험했습니다.

다음 단계

  • 생산 준비가 완료된 Swift 앱을 UI/UX를 구체화하여 구축하세요.
  • 고급 기능 통합 전문 인증(역할 기반, SSO) 또는 도메인 특정 규칙을 위한 추가 Cloud Code 논리와 같은.
  • 공식 Back4App 문서 확인 로그, 분석 또는 고급 보안에 대한 심층적인 내용을 위해.
  • 다른 튜토리얼 탐색 실시간 채팅, IoT 대시보드 또는 위치 기반 앱에 대해. 이를 외부 API와 결합하여 실제 문제를 해결하세요.

이것이 Back4App을 사용하여 Swift의 백엔드를 구축하는 방법입니다! 코딩을 즐기세요!