2017-09-05 4 views
0

나는이 질문에 대한 적절한 대답을 찾고 프론트 엔드 개발에 약간의 배경 지식을 가지고 있지만 SaaS, PaaS 등과 같은 새로운 개념으로 전문가의 정보를 얻고 싶다. 그러면 초보자를 도울 수있다. 모든 것이 무엇인지 이해하십시오.앱에 서버가 필요한 이유는 무엇입니까?

나는 사용자로부터 제품을 가져와 그것을 필요로하는 다른 사용자에게 다시 판매하는 앱처럼 eBay를 개발하려고합니다.

내 앱에 백엔드 서버가 필요합니까? 그렇다면 왜? 내 앱을 이미 Google Play 스토어 또는 Apple Store에 업로드하고 있습니다.

HEROKU 또는 FIREBASE 또는 AWS와 같은 백엔드 서버가 내 앱에 어떻게 도움이됩니까?

하나의 응용 프로그램에서 두 개의 서로 다른 서비스를 구현할 수 있습니까? 예 : firebase는 백엔드 데이터베이스 용이고 HEROKU는 지불 처리 용입니까?

시간과 정보를 보내 주셔서 다시 한 번 감사드립니다.

답변

0

일관된 방식으로 여러 노드에서 데이터를 유지할 수있는 분산 응용 프로그램을 작성하고 데이터를 사용할 수있는 경우가 아니면 가장 확실한 백엔드가 필요할 것이라고 말하고 싶습니다. 물론 클라이언트 애플리케이션 간 직접 메시징에 의존 할 수있는 사용자 간 트랜잭션 만 계획하면 않는 한, EBAY와 같은 제품의 요구 사항과는 거리가 멀어 보인다.

아키텍처 측면에서 다양한 접근 방식을 사용할 수 있지만 대부분의 경우 데이터 액세스 레이어가 필요합니다. 이 유형의 소프트웨어 제품이 일반적으로 설계된 방식을 더 잘 이해하려면 3 계층 소프트웨어 디자인 패턴 (https://en.wikipedia.org/wiki/Multitier_architecture)을 살펴 보는 것이 좋습니다.

선호하는 데이터 지속성을 정렬 한 후 데이터를 검색하기 위해 모바일 앱이 연결할 백엔드 (판매되는 제품, 사용자 프로필 및 평점, 내역 등)를 설정해야합니다. . 물론 응용 프로그램에서 데이터베이스에 직접 연결할 수도 있지만 큰 실수가 될 수 있습니다. DB 액세스를 공개적으로 사용할 수있게 만들고 공격에 노출 될 수 있음을 의미합니다. 사용자 등록 및 인증을위한 솔루션으로, 다른 방법으로 제공해야합니다. 일반적으로 백엔드는 사용자 등록 및 권한 부여도 관리합니다.

Heroku, Firebase 및 AWS 모두 모두 매우 다르며 강점과 약점이 각각 있습니다. 그러나 가장 적합한 것을보기 위해 그들을 시험해 보는 것 같이 아무것도 아닙니다. "Google 서버"및 "Apple 서버"라고하는 것은 오해처럼 들리지만 Google Play 스토어와 Apple Store를 의미 할 수 있습니다. 이는 백엔드로 사용할 수있는 애플리케이션 서버가 아니며 사용자가 다운로드 할 수있는 곳에서 모바일 앱을위한 저장소로만 제공됩니다.

어떤 종류의 백엔드 메커니즘이 없으면 여러 사용자를 위해 데이터를 사용할 수 없게 만드는 문제는 압도적입니다.

이 질문은 매우 구체적인 답변은 아니지만 귀하의 질문은 상당히 광범위하며, 자세한 내용을 설명하기 전에 소프트웨어 엔지니어링의 기본 요소를 조사해야 할 필요가있는 것으로 보입니다.

0

SaaS는

답변 : SaaS를 "서비스로서의 소프트웨어"로 발음된다.평신도 용어로는 누구나 어떤 소프트웨어를 개발하여 어딘가에서 호스팅 할 수 있으며 소프트웨어 프로젝트/제품에서 해당 호스팅 소프트웨어를 공용 API와 같은 제 3 자 서비스로 사용하거나 언급 된 Firebase와 같은 라이센스 하에서 개별 소프트웨어로 직접 사용할 수 있습니다 .

PaaS를 PaaS를 "이 서비스로 플랫폼"으로 발음

대답. 평신도 측면에서, 사람이, 일부 하드웨어 구성 일부 웹 기반 응용 프로그램을 통해 하드웨어 컨트롤을 노출하거나 API를 REST 및 배포/실행/당신의 장소

백엔드 서버

을에 실제 하드웨어를하지 않고 응용 프로그램을 관리하는 하드웨어를 사용할 수 있습니다

Answer 먼저 서버를 설명하겠습니다. 서버는 서비스를 제공하는 중간 사람이며, 요청 된 모든 것 및 모든 브라우저/모바일 앱이 클라이언트 역할을합니다. 따라서 웹은 클라이언트 - 서버 통신에 관한 것입니다.

예를 들면 앱은 사용자 (클라이언트 작업)에서 제품을 가져 와서 서버에 배치하고 (이 제품을 서버에 배치하기 위해 백그라운드로 서버에 클라이언트 요청) 및 다른 사용자가 실행중인 앱 (클라이언트 작업) 및 검색 제품 (모바일 클라이언트가 서버를 반환하여 해당 제품이 유효하고 검색 기준과 일치하는 경우)을 검색하고 구매할 수 있습니다 (모바일 클라이언트가 서버 구매를 요청할 것임)

웹 응용 프로그램, 모바일 응용 프로그램 또는 데스크톱 응용 프로그램 간의 통신에는 항상 서버가 있습니다. shareit과 같은 파일 공유 응용 프로그램에서도 하나의 모바일 응용 프로그램이 서버로 작동하고 다른 모바일의 동일한 응용 프로그램이 클라이언트로 작동합니다.

예, HEROKU 또는 FIREBASE 또는 AWS와 같은 백엔드 서버는 앱이 비즈니스 흐름을 완료하는 데 도움이됩니다.

그렇습니다. 예를 들어,., 백엔드 데이터베이스 용 파이어베이스 및 지불 처리 또는 응용 프로그램/API 호스팅을위한 HEROKU와 같이 단일 응용 프로그램에서 두 가지 다른 서비스를 구현할 수 있습니다.

관련 문제