모바일 앱용 백엔드Backend를 어떻게 만들 수 있습니까? 

본 글에서, 모바일 앱용 백엔드backend, 이하 ‘백엔드’가 무엇인지, 백엔드 설계를 위해 알아야 하는 모든 것을 알게 될 것입니다. 

백엔드와 프론트엔드frontend, 이하 ‘프론트엔드’의 차이점 및 백엔드의 유형을 확인하고, 모바일 백엔드 기능 및 백엔드 개발 비용에 대해 확인해 볼 것입니다. 

마지막으로, 최고의 서비스형 모바일 백엔드(MBaaS) 제공사 중 하나인, Back4app에서 간단한 모바일 애플리케이션 용 백엔드를 만들 수 있는 방법을 확인할 것입니다.  

프론트엔드과 백엔드 사이의 차이점 

프론트엔드와 백엔드 용어는 프레젠테이션 층과 데이터 액세스 층 간의 분리와 관련 있습니다. 

차이점을 가장 쉽게 이해하는 방법은 빙산을 상상해 보는 것입니다. 프론트 엔드는 수면 위에 있는 부분으로, 사용자가 볼 수 있고 상호작용할 수 있는 공간입니다. 반대로, 백엔드는 물 속에 있는 빙산의 일부입니다. 이는 운영을 가능하게 하는 기초가 되는 논리입니다. 

Frontend versus Backend visualization

프론트엔드 

프론트엔드는 웹사이트, 모바일 앱, 또는 사용자가 상호작용할 수 있는 기타 클라이언트 유형들의 그래픽 기능을 활용한 사용자 중심의 인터페이스입니다. 프론트엔드는 디자인, 메뉴, 글, 이미지, 동영상 등을 포함한 애플리케이션의 모든 시각적인 측면을 포함합니다. 대부분의 프로젝트에서 이는 모든 활동의 약 20%를 대표하고 반복되지 않습니다.

프론트엔드 개발자가 관리해야 하는 사항: 

  • 반응형 디자인 
  • 앱 성능 
  • 크로스 브라우저 호환성
  • 접근 가능성 관련
  • SEO최적화 

웹 프론트엔드는 주로HTML, CSS, JavaScript, WebAssembly와 같은 툴로 실행됩니다. 네이티브iOS가 Objective-C와 Swift를 사용하는 반면, 네이티브 안드로이드앱들은 Java/Kotlin으로 작성됩니다. 

최근, 많은 프론트엔드 개발자들은 더욱 간단한 개발 과정으로 여러 플랫폼에서 동일한 코드베이스 작업을 할 수 있도록, React Native, Vue, Svelte Native와 같은 툴을 개조하였습니다. 

프론트엔드는 Google Play, App Store, Vercel, Netlify와 같은 서비스에서 효율적으로 사용할 수 있습니다. 

백엔드

백엔드 또는 서버 측 개발은 데이트 액세스 층을 개발하는 일입니다. 백엔드는 데이터베이스와 프론트엔드 간의 연결입니다. 대부분의 백엔드는 응용계층 인터페이스(API)를 제공하고, 프론트엔드가 이를 사용하여 데이터를 가져오고 저장할 수 있습니다.

데이터는 주로 JSON 또는GraphQL 서식으로 변경할 수 있습니다. 백엔드는 주로 작업의 약 80%를 대표하고 반복됩니다. 하나의 예시로, 거의 대부분의 프로젝트는 인증, 권한, 데이터베이스 관리 등을 필요로 합니다.  

백엔드 개발자가 관리해야 하는 사항:

  • 데이터베이스 관리
  • 응용프로그램 비즈니스 로직 
  • 확장성, 고가용성 
  • 보안 염려 & 백업 

백엔드 개발자들은 주로 Python, JavaScript (Node.js), Ruby, C#, Java & Go와 같은 프로그래밍 언어와 함께 작업합니다. 가장 유명한 백엔드 아키텍처를 설계한다는 것은 모델-뷰-컨트롤러(MVC)를 의미하고, 이는 Django과 Laravel와 같은 많은 웹 프레임워크에서 채택되었습니다. 

백엔드의 가장 중요한 구성요소는 데이터베이스입니다. 3가지 일반적인 범주로 나눌 수 있는 여러 유형의 데이터베이스들이 있습니다:

  • SQL데이터베이스
  • NoSQL데이터베이스
  • 멀티 패러다임 데이터베이스 

각 데이터베이스마다 장단점이 있어 프로젝트를 시작할 때 이를 고려해야만 합니다. 

백엔드는 원하는 추상화 단계를 기반으로 여러 플랫폼에서 효율적으로 사용할 수 있습니다. 예를 들어, 자신만의 서버, 서비스형 인프라스트럭처IaaS (AWS, GCE, Azure), 서비스형 플랫폼PaaS (Heroku, Digital Ocean App Service), 또는 서비스형 백엔드BaaS (Back4app, Firebase, AWS Amplify)를 사용할 수 있습니다. 

모바일 앱 백엔드 개발에 대해 더 많은 정보를 확인하기 위해 계속 읽어 나가주십시오. 

모바일 앱 용 백엔드는 무엇입니까?

모바일 애플리케이션 용 백엔드는 기기 자체가 아닌 서버에서 실행되는 앱의 일부입니다. 백엔드는 앱이 데이터 저장 및 관리, 사용자 인증, 데이터 처리 및 분석, 기타 시스템 또는 서비스와의 소통을 위해 필요한 기능을 제공합니다.   

백엔드는 클라우드 서비스에서 운영되는 서버, 데이터 베이스, 또는 API와 같은 여러 유형들을 가지고 있습니다. 이는 앱이 적절하게 기능하고, 풍부하고 매력적인 사용자 경험을 제공하는데 필요한 인프라와 툴을 제공합니다. 

모바일 백엔드는 어떤 기능을 제공합니까? 

모바일 앱용 백엔드는 주로 다음과 같은 기능을 제공합니다: 

  • 데이터 저장 및 관리
  • 데이터 처리 및 분석 
  • 인증 및 권한 
  • 다양한 기기들 간의 연동 
  • 기타 시스템 및 서비스와 통합할 수 있는 능력   
  • 서버 측 작업 관리
  • 분석 및 모니터링 
  • 푸시 알림 

백엔드가 모바일 앱에 필요합니까? 

짧은 답변: 앱을 국소적으로(인터넷 연결 없이)사용하는 경우, 백엔드를 사용할 필요가 없습니다. 하지만, 이는 앱이 백엔드 장점을 활용할 수 없다는 의미가 아닙니다. 

더 깊이 이해하기 위해서, 일상에서 사용하는 몇 가지 앱으로 한번 확인해 보도록 합시다. 

백엔드가 필요 없는 앱: 

  • 계산기 
  • 달력 및 시계
  • 카메라 및 갤러리
  • 음성 녹음
  • 싱글 플레이어 게임

백엔드가 필요한 앱: 

  • 전자 상거래 앱 – 백엔드는 재고 및 주문 관리 등을 파악할 수 있게 합니다.  
  • 교통 앱 – 백엔드는 티켓 절차 및 지연과 관련한 정보 등을 확인할 수 있게 해줍니다. 
  • 메신저 앱 – 백엔드는 하나의 기기에서 다른 기기로 메시지를 전송하는데 사용됩니다. 
  • 날씨 앱 – 백엔드는 현재 날씨 정보를 불러올 수 있게 합니다. 

이제, 백엔드가 상위 나열된 앱들을 어떻게 향상시킬 수 있는지 생각해 봅시다: 

  • 계산기 – 복잡한 계산을 원격 서버로 넘기는데 백엔드를 사용할 수 있습니다. 
  • 달력 및 시계 – 데이터베이스에 이벤트를 저장하고 여러 기기들과 연동할 수 있습니다. 
  • 카메라 – 왜곡, 빛 등과 같은 문제들을 해결하는데 백엔드 서비스를 사용할 수 있습니다. 
  • 음성 녹음 – 소음을 억제하는데 백엔드 서비스를 사용할 수 있습니다. 
  • 싱글 플레이어 게임 – 데이터베이스 내 사용자의 점수를 저장하고 리더보드를 표시할 수 있게 합니다. 

뛰어난 장점들 때문에, 거의 모든 모바일 애플리케이션에서 백엔드를 사용하고 있습니다. 데이터를 저장하기 위함이 아니더라도, 백엔드는 모바일 애플리케이션이 분석자료를 모으고 푸시 알림을 전송하고 앱을 관리하며 충돌 보고를 모으는 등과 같은 행위를 가능하게 합니다. 성공적인 앱을 원한다면, 백엔드가 필요할 것입니다.

어떤 유형의 백엔드가 있습니까? 

애플리케이션 유형에 따라 사용할 수 있는 다양한 백엔드 유형이 있습니다. 대체로, 추상화의 단계에 따라 3가지 그룹으로 분류할 수 있습니다. 

  1. 서비스형 소프트웨어(SaaS) 또는 제3자 서비스 
  2. 서비스형 모바일 백엔드(MBaaS)  
  3. 맞춤 백엔드 

각각의 백엔드를 한번 확인해 봅시다. 

서비스형 소프트웨어(SaaS) 또는 제3자 서비스 

서비스형 소프트웨어(SaaS)는 소프트웨어 애플리케이션이 제3자에 의해 호스팅 되고 인터넷을 통해 고객에게 제공되는 소프트웨어 전달 모델입니다. 

SaaS 솔루션을 사용하기 위해서는, 주로 고객이 월 또는 연간 단위로 구독 요금을 지불해야만 합니다. 이 유형은 단 몇 번의 클릭으로 백엔드를 사용할 수 있게 하여 가장 쉽게 사용할 수 있습니다. 

이 유형의 단점은 프로젝트의 모든 요구사항을 충족하는 SaaS를 찾을 수 없는 가능성이 높다는 것입니다. 실제로, 백엔드를 만들기 위해서 여러 SaaS 솔루션을 결합해야만 할 수도 있습니다. 

SaaS의 몇 가지 예시는 다음과 같습니다: 

서비스형 모바일 백엔드 (MBaaS)

서비스형 백엔드(BaaS)는 백엔드의 개발 측면을 자동화하고 클라우드 기반을 관리하는 플랫폼입니다. 

그리고, 이는 사용자 관리, 이메일 알림, 푸시 알림, 클라우드 코드 기능, 소셜 미디어 통합, 파일 저장, 지불과 같은 기능들을 제공합니다. 

이는 개발자들이 근본적인 백엔드 및 인프라에 대한 걱정 없이 프론트엔드를 만들고 주력 사업에 초점을 맞출 수 있게 해줍니다. 프론트엔드는 BaaS판매사가 제공한 전문적인 APIs와 SDKs를 통해 주로 개발됩니다. 이는 앱을 덜 복잡하게 만들고, 더 쉽게 유지될 수 있게 해줍니다.

서비스형 백엔드 사용에 대한 장점은 주력 사업에 초점을 맞출 수 있고, 더 빠른 개발 속도, 적은 엔지니어링 비용을 가진다는 것입니다. 

BaaS의 몇 가지 예시는 다음과 같습니다: 

BaaS, MBaas에 대해 더 자세히 알고 싶습니까?  BaaS는 무엇입니까?를 한번 확인해 주십시오. 

맞춤 백엔드 

맞춤 백엔드는 가장 강력하고 유연한 선택지입니다. 이는 일괄 통제를 제공하고 SaaS 또는 MBaaS 솔루션으로 실행할 수 없는 기능들을 실행할 수 있게 해줍니다. 

가장 큰 단점은 비용과 만드는 시간입니다. 이 방식을 사용하면, 백엔드의 성능과 보안을 전적으로 귀하가 책임지게 될 것입니다. 

맞춤 백엔드를 만드는 것은 주로 몇 달이 소요되고, 숙련된 백엔드 개발자 또는 백엔드 개발자들로 구성된 하나의 팀이 필요합니다. 

맞춤 백엔드를 만드는 유명한 프레임워크는 다음과 같습니다: 

백엔트 프레임워크에 대한 더 많은 정보를 알아보고 싶다면, 상위 10 백엔드 프레임워크를 한번 확인해 보십시오. 

모바일 앱용 백엔드를 만드는데 비용이 얼마나 듭니까? 

모바일 앱용 백엔드 비용을 계산하는데 사용되는 간단한 공식은 없습니다. 앱의 복잡성, 기능의 수, 확장성, 성능 등에 따라 비용은 매우 다양합니다. 

SaaS비용 

주로, SaaS는 선택할 수 있는 가장 저렴한 선택지입니다. SaaS 제품은 매달 또는 연간 구독 비용을 포함한 간단한 가격 체계를 따릅니다. 일부 SaaS제공사는 귀하의 비즈니스 크기에 따라 다른 가격을 제안하기도 합니다.

MBaaS비용 

MBaaS를 사용하여 백엔드를 설계하는 것은 맞춤 백엔드와 비교하였을 때 매우 저렴합니다. 개발 비용을 크게 절약할 수 있고, 인프라 또는 전문 백엔드 개발자들로 구성된 팀을 고용해야 할 걱정을 할 필요도 없습니다. 많은 돈을 절약할 수 있을 것입니다! 

대부분의 MBaaS 제공사는 앱의 크기에 따라 다양한 가격을 제안합니다. MBaaS를 사용하는 경우,매달 $15에서 $500까지 지불하게 될 것이라 예측할 수 있습니다. 

맞춤 백엔드 비용 

맞춤 백엔드 개발은 가장 비싼 선택지입니다. 이러한 경우, 숙련된 개발자들로 팀을 구성하여 백엔드의 인프라를 관리하여야만 합니다. 

맞춤 백엔드를 개발하는데 필요한 비용은 프로젝트 필요요건에 따라 수천달러에서 수만달러까지 다양합니다.  

맞춤 백엔드를 실행하는 것은 어려운 작업이라, 주로 소프트웨어 개발을 전문으로 하는 회사에 위탁합니다. 

MBaaS를 사용하여 어떻게 모바일 앱용 백엔드를 개발할 수 있습니까? 

튜토리얼 속 이 부분에서, Back4app를 사용하여 모바일 앱 용 백엔드를 개발하는 방법을 확인해 볼 것입니다. 

Back4app은 무엇입니까? 

Back4app은 시장 내 최고의 오픈 소스 서비스형 백엔드(BaaS) 솔루션 중 하나입니다. 개발자들이 웹 및 모바일 애플리케이션을 빠르게 설계할 수 있도록 사용자들에게 넓은 범위의 기능과 이점을 제공하고 있습니다. 

Back4app를 사용하면, 근원적인 인프라 또는 백엔드에 대해 걱정하는 대신 주요 사업에 초점을 맞출 수 있을 것입니다. 

솔루션은 풍부한 기능과 사용하기 쉬운 대시보드, 명령 라인 인터페이스 (CLI)를 포함하고 있습니다. 또한, Flutter, React Native, Node.js, Angular, 안드로이드, iOS 등, 귀하가 가장 좋아하는 툴에 사용할 수 있는소프트 개발 키트(SDK)를 제공합니다!

Back4app의 주요 기능은 다음과 같은 사항을 포함하고 있습니다: 

  • 스프레드시트 같은 데이터베이스
  • REST 및 GraphQL APIs 
  • 라이브 쿼리 
  • 인증(소셜 인증 포함)
  • 확장가능한 호스팅 
  • 푸시 및 이메일 알림 

기능에 대한 더 많은 정보를 확인하기 위해서, Back4app 기능을 확인해 보십시오. 

Back4app는 모든 크기의 앱에 알맞은 간단하고 단순한 가격표를 따릅니다.  플랫폼을 프로토타이핑하고 시험할 수 있는 무료 요금제(신용카드 불필요)를 제공합니다. 다음과 같은 사항을 포함하고 있습니다:

  • 25,000개의 요청 
  • 250 MB데이터 저장
  • 1 GB이동
  • 1 GB파일 저장 

Back4app가격에 대해 더 많은 정보를 알고 싶은 경우, 가격 페이지를 확인해 주십시오. 

프로젝트 소개 

간단한 뉴스 앱을 위한 백엔드를 설계해 볼 예정입니다. 본 앱을 통해 편집자들은 뉴스를 생성, 업데이트, 삭제할 수 있습니다. 가능한 아주 쉬운 관리를 위해, Back4app의관리 앱을 사용할 수 있게 할 것입니다. 

당사는 백엔드 보안을 관리하고 백엔드의 REST API를 어떻게 사용할 수 있는지 보여드릴 것입니다. 백엔드는 최소한의 코드로 설계될 것입니다.

필수조건:

  • 서비스형 백엔드(BaaS)에 대한 기본적인 이해 
  • 데이터 베이스(및 모델 사이의 관계)에 대한 기본적인 이해
  • HTTP 요청 및 응답에 대한 기본적인 이해 
  • JSON신택스에 대한 이해 

목표:

본 튜토리얼이 종료되었을 때, 귀하는 다음과 같은 사항들을 할 수 있게 될 것입니다:

  • Back4app에서 간단한 백엔드 설계 및 사용
  • 자신만의 데이터 베이스 구축 
  • Parse 플랫폼 보안의 기본사항 이해 
  • REST API를 통한 CRUD운영을 하는 방법 인지 

앱 만들기 

다음의 단계들을 진행하기 위해서, Back4app계정이 필요합니다. 이미 계정이 있으신 경우, 로그인 해 주십시오. 그렇지 않은 경우, 무료 계정을 만들기 위해 회원가입해 주십시오.

Back4app와 작업하기 위해서, 먼저 앱을 만들어야만 합니다. 귀하의 대시보드로 로그인을 하면, 귀하의 앱 목록을 볼 수 있을 것입니다. 새로운 앱을 만들기 위해 “새로운 앱 만들기”를 클릭해 주십시오. 

Back4app Create App

새로운 이름을 부여한 후 “계속하기”를 눌러주십시오. 

Back4app가 데이터베이스, 애플리케이션 층, 스케일링, 백업 및 보안과 같이 앱에 필요한 모든 것을 준비하는데 몇 분 정도 소요될 수 있습니다. 

귀하의 애플리케이션이 준비되면, 귀하의 앱 대시보드로 이동하게 될 것입니다. 

Back4app App Dashboard

데이터 베이스 

튜토리얼의 이 부분에서, 모든 필요한 데이터베이스 모델을 만들어 볼 것입니다.

프로젝트 소개에서 언급한 것과 동일하게, 간단한 뉴스 앱을 만들어 볼 것입니다. 당사의 데이터베이스는 다음과 같은 모델들로 구성될 것입니다:

  • Article 는 뉴스 기사를 의미합니다.
  • ArticleCategory 는 기사 카테고리(예: 스포츠, 오락)를 의미합니다. 하나의 기사는 하나의 카테고리에 속할 수 있습니다.
  • ArticleTag 는 기사 해시태그(예: 화장품, 건강, 뷰티)를 의미합니다. 하나의 기사는 여러 해시태그를 가질 수 있습니다.

본 데이터베이스 구조는 추후 카테고리 또는 태그에 따라 필터를 적용할 수 있게 해줍니다. 모델들 간의 관계를 더 잘 이해하기 위해서 개체-관계 모델(ERD)를 그려봅시다.  

Database Entity Relationship Diagram

이제, 모델을 실제로 만들어 봅시다.

ArticleCategory 모델을 만들며 시작해 봅시다. 화면의 좌측 상단에 있는 “클래스 만들기”를 클릭한 후, 그를 ArticleCategory 라고 이름 붙인 후, 다음과 같은 장을 추가해 보십시오: 

+-----------------------------+-------------+---------------+----------+
| Data type                   | Name        | Default value | Required |
+-----------------------------+-------------+---------------+----------+
| String                      | name        | <leave blank> | yes      |
+-----------------------------+-------------+---------------+----------+
| String                      | description | <leave blank> | no       |
+-----------------------------+-------------+---------------+----------+
| Pointer -> User             | author      | <leave blank> | yes      |
+-----------------------------+-------------+---------------+----------+

다음으로, 다음과 같은 세부내용을 가진 ArticleTag 이름의 다른 클래스를 만들어 봅시다:

+-----------------------------+-------------+---------------+----------+
| Data type                   | Name        | Default value | Required |
+-----------------------------+-------------+---------------+----------+
| String                      | name        | <leave blank> | yes      |
+-----------------------------+-------------+---------------+----------+
| Pointer -> User             | author      | <leave blank> | yes      |
+-----------------------------+-------------+---------------+----------+

마지막으로, 다음과 같은 세부내용을 가진 Article이름의 다른 클래스를 만들어 봅시다:

+-----------------------------+-------------+---------------+----------+
| Data type                   | Name        | Default value | Required |
+-----------------------------+-------------+---------------+----------+
| String                      | title       | <leave blank> | yes      |
+-----------------------------+-------------+---------------+----------+
| String                      | description | <leave blank> | no       |
+-----------------------------+-------------+---------------+----------+
| String                      | content     | <leave blank> | yes      |
+-----------------------------+-------------+--------------+-----------+
| Pointer -> ArticleCategory  | category    | <leave blank> | no       |
+-----------------------------+-------------+---------------+----------+
| Relation -> ArticleTag      | tags        | <leave blank> | no       |
+-----------------------------+-------------+---------------+----------+
| Pointer -> User             | author      | <leave blank> | yes      |
+-----------------------------+-------------+---------------+----------+

데이터베이스 아키텍처 단계가 끝났습니다. 이제, 몇 가지 샘플 데이터를 추가해 봅시다. 

조금 더 쉽게 만들기 위해, 불러올 수 있는 몇 가지 데이터를만들었습니다. 데이터세트를 불러오기 위해서, 화면의 좌측에 있는 클래스를 선택한 후, 화면의 우측에 있는 세개의 점을 클릭해 주십시오. “불러오기” > “클래스 데이터”를 클릭하고, 알맞은 파일을 선택해 주십시오. 

Back4app Data Import

JSON 데이터세트를 다운로드하기 위해서, back4app-모바일 GitHub repo 를 둘러보며, “코드”를 선택한 후 “ZIP 다운로드”를 클릭해 주십시오. 

다음과 같은 순서로 JSON 파일을 불러와 주십시오: 

  1. 사용자 
  2. 기사 카테고리
  3. 기사 태그
  4. 기사 

관리 패널 

조금 더 쉽게 관리하기 위해서, 관리 앱을 사용할 수 있게 할 것입니다. 관리 앱은 웹 브라우저 기반 툴로, 비 기술 사용자 인터페이스를 사용하여 앱 데이터를 관리하기 위해 제작되었습니다. 

앱 대시보드를 둘러보며, “더 보기” > “관리 앱”을 클릭한 후 “관리 앱 활성화”버튼을 클릭해 주십시오. 

Back4app Enable Admin Panel

사용자이름 및 비밀번호를 선택해 주십시오. 다음은 예시입니다: 

Username: admin
Password: complexpassword123

그리고 난 후, 귀하의 관리 패널에 접속하기 위해 사용하고 싶은 도메인 네임을 선택해 주십시오. 다음은 예시입니다:  

mobile-backend.admin.back4app.com

좋습니다. 이제, 선택한 도메인에서 귀하의 관리 대시보드로 로그인할 수 있습니다. 

Back4app 관리 앱에 대해서 더 많은 정보를 알기 위해서, 공식 문서를 확인해 주십시오. 

앱 보안 

앱 보안을 위해, 다음과 같은 사항을 실행해야만 합니다:

  1. 클라이언트들이 데이터베이스 클래스를 만드는 것을 불허하기. 
  2. User 모델 클래스 단계 허가(CLP) 수정하기 
  3. 생성한 모든 모델과 관련한 CLP 수정하기 

클라이언트 클래스 생성 불허 

클라이언트 클래스 생성을 불허하기 위해서, “앱 설정” > “서버 설정” > “핵심 설정” > “편집”으로 들어가 주십시오. 페이지의 하단으로 스크롤을 내려 “클라이언트 클래스 생성 허가”항목 선택을 취소해 주십시오. 

User 모델 CLP 수정하기 

“데이터베이스” 탭 안에서 귀하의 User 모델을 선택해 주십시오. 그리고 난 후, 화면의 우측에 있는 세 개의 점을 클릭한 후, “보안” > “클래스 단계 허가”를 클릭해 주십시오. 톱니바퀴 모양의 아이콘을 클릭한 후, 이를 “고급”으로 변경해 주십시오. 다음과 같이Get 과 Create 를 제외한 모든 항목 선택을 취소해 주십시오: 

Back4app User Model CLPs

생성한 모든 모델과 관련된 CLP 수정하기 

귀하의 모든 맞춤 모델들(Article, ArticleCategory, ArticleTag)에서 비슷한 과정을 진행해 보십시오. 이번에는 다음과 같이  Public 그룹의 Find, Read  를 제회한 모든 것을 비활성화 해 주십시오. 

Back4app Other Model CLPs

이러한 방식을 통해, 권한이 없는 사용자들은 오직 기사를 찾거나 읽을 수만 있습니다.

보안과 관련한 더 많은 정보를 확인하기 위해서, Parse 보안을 확인해 주십시오. 

API테스트 

튜토리얼의 이 부분에서, 내부 API 콘솔을 사용하여 당사의 API를 시험해 볼 것입니다.

REST API 콘솔을 열기 위해, 귀하의 앱 대시보드를 둘러보십시오. “API” 부분에서 “콘솔”을 선택한 후, “REST”를 클릭해 주십시오. 

Back4app REST API Console

당사의 ACL/CLP와 관련한 요청이 성공적으로 이뤄지기 위해 “마스터 키를 사용하십니까?”에 체크표시를 했는지 확인해 주십시오. 

복구

GET 요청 유형으로 대상을 복구할 수 있습니다. 종단점을 위해, classes/<your_class>  (예: classes/Article)를 사용하고, 페이지의 하단에 있는 “쿼리 전송” 버튼을 클릭해 주십시오.  

응답은 다음과 같이 보일 것입니다: 

{
    "results": [
                {
            "objectId": "oRwkdx7KgX",
            "title": "Voting 2022 has ended!",
            "description": "The voting for year 2022 has ended, the new major is...",
            "content": "Lorem ipsum dolor sit amet...",
            "category": {
                "__type": "Pointer",
                "className": "ArticleCategory",
                "objectId": "FYxzrBlCBC"
            },
            "author": {
                "__type": "Pointer",
                "className": "_User",
                "objectId": "UZ76K07znv"
            },
            "createdAt": "2022-12-13T09:09:04.845Z",
            "updatedAt": "2022-12-13T09:09:13.297Z",
            "tags": {
                "__type": "Relation",
                "className": "ArticleTag"
            }
        },
        ... more results ...
    ]
}

특정 결과를 가져오거나 쿼리세트에 필터를 적용하고 싶은 경우, 문서를 확인해 주십시오. 

생성하기 

예시 모델을 생성하기 위해서, POST 요청을 선택한 후, classes/<your_class>(예: classes/Article)로 이를 제출해 주십시오. POST 요청과 함께, 쿼리 파라미터를 제공해야만 합니다. 예시: 

{
   "title": "Another article",
   "content": "This is another test article added via the API",
   "category": {
      "__type": "Pointer",
      "className" :"ArticleCategory",
      "objectId": "pPGdxPAxQA"
   },
   "author": {
      "__type": "Pointer",
      "className": "_User",
      "objectId": "LFAf3yD8w0"
   }
}

Response: 응답: 

{
    "objectId": "yAbmJ0sRZT",
    "createdAt": "2022-12-12T17:18:32.922Z"
}

업데이트하기 

모델을 업데이트하기 위해 PUT 요청을 선택하고, classes/<your_class>/<object_id>(예: classes/Article/oRwkdx7KgX)로 이를 제출해 주십시오. 변경하고 싶은 데이터를 포함한 쿼리 파라미터를 제공하여야만 합니다. 

{"description": "Back4app is cool!"}

응답: 

{
    "updatedAt": "2022-12-12T17:31:23.459Z"
}

삭제하기 

예시 모델을 선택하기 위해서, DELETE 요청 유형을 선택한 후, classes/<your_class>/<object_id>(예:classes/Article/oRwkdx7KgX)로 이를 제출해 주십시오. 

요청이 성공적으로 이뤄진다면, 빈 부분이 돌아올 것입니다. 

Back4app의 REST 요청에 대한 더 많은 정보를 확인하기 위해서, API 참조를 확인해 주십시오. 

향후 단계 

당사의 모바일 앱용 백엔드는 현재 완성 단계에 거의 도달하였습니다. 귀하의 모바일 앱에 이를 연결하기 위해서, 다음과 같은 사항을 진행해야만 합니다: 

  1.  “앱 설정” > “보안 및 키”에서 Application ID 및 Client key 를 획득해 주십시오. 
  2. 알맞은 ParseJS SDK를 설치해 주십시오(귀하의 플랫폼에 기반) 
  3. 귀하의 크리덴셜로 Back4app에 연결하기 위해서 SDK를 사용해 주십시오. 
  4. 요청을 보내기 위해 SDK를 사용해 주십시오. 

더욱 자세한 설명을 위해, 다음과 같은 문서들을 확인해 주십시오:

결론 

프론트엔드와 백엔드 용어는 프레젠테이션 층과 데이터 액세스 층 간의 분리와 관련 있습니다. 

최근, 거의 모든 모바일 애플리케이션이 백엔드가 제공하는 모든 장점들 때문에 백엔드를 포함하고 있습니다. 백엔드는 모바일 애플리케이션이 분석자료를 모으고 푸시 알림을 전송하고 앱을 관리하며 충돌 보고를 모으는 등과 같은 행위를 가능하게 합니다.

백엔드를 설계하는데 다양한 방식들이 있습니다. 다음과 같이 해 볼 수 있습니다: 

  • 다양한 SaaS 제품 결합하기 
  • 서비스형 모바일 백엔드(MBaaS) 사용하기 
  • 맞춤 백엔드 설계하기 

MBaaS를 사용하는 것은 맞춤 백엔드와 비교하여 매우 저렴하고 많은 유연성을 제공하기 때문에 최고의 선택지라 할 수 있습니다. Back4app는 며칠 또는 단 몇 시간만에 백엔드를 설계할 수 있게 해주는 최고의 MBaaS 제공사 중 하나입니다.

자주 묻는 질문 

모바일 앱용 백엔드는 무엇입니까?

모바일 애플리케이션 용 백엔드는 기기 자체가 아닌 서버에서 실행되는 앱의 일부입니다. 백엔드는 앱이 데이터 저장 및 관리, 사용자 인증, 데이터 처리 및 분석, 기타 시스템 또는 서비스와의 소통을 위해 필요한 기능을 제공합니다.   

MBaaS를 사용하여 모바일 앱용 백엔드를 어떻게 설계할 수 있습니까?

–Back4app에 회원가입하기 
–데이터베이스 구조 생성하기 
–쉬운 관리를 위한 관리자 패널 활성화하기 
–ACL/CLP를 사용하여 백엔드 보안 높이기 
–백엔드 테스트해보기 

맞춤 백엔드를 사용하여 모바일 앱용 백엔드를 어떻게 설계할 수 있습니까?

–기술 선택하기 (예시: Django, Express, Ruby on Rails)
–데이터베이스를 만들고 귀하의 백엔드를 이에 연결하기 
–백엔드 URL을 규정하고 뷰 로직 작성하기 
–백엔드 테스트해보기 (유닛 테스트, 보안 취약성) 
–AWS 또는 Heroku와 같은 구축 플랫폼 선택하기 
–백엔드 활용하기 


Leave a reply

Your email address will not be published.