2016-09-08 2 views
0

나는 서버와의 지속적인 커뮤니케이션이 필요하고 약간의 정보가 필요한 모바일 프로젝트를 만들고 있습니다. 로컬 앱을 만드는 방법을 알고 있지만 서버/인증 서비스에 대한 외부 호출이 필요한 앱을 만드는 것은 이번이 처음입니다.모바일 앱 - 외부 서버와 통신하기

진행 방법 및 사용할 서비스/서버를 묻습니다.

필요한 서버/데이터베이스 유형은 무엇입니까? API 서비스가 필요 하겠지만 선택할 방법을 모를 것 같습니다.

하늘색 서비스/데이터베이스를 사용하고 싶지만 그것에 의존하고 싶지 않습니다. 내가 요청을 보내고 나중에 다른 호스트로 쉽게 이동할 수있는 서버/db와 상호 작용하는 자신의 URL을 갖고 싶습니다.

주로 웹 사이트를 개발하고 PHP/laravel + Mysql에 익숙하지만이 경우에는 서버 백엔드에 대해 간단히 laravel 앱을 만드는 것이 좋습니다.

앱은 모바일 전용이므로 웹 페이지가 필요하지 않습니다. 단순히 데이터가 저장 될 외부 서버/데이터베이스.

먼저 인증 서비스가 필요합니다. 각 사용자는 전화기에 등록하고 외부 서버/데이터베이스에 저장합니다. 그런 다음 로그인해야 할 때 - 휴대 전화에 로그인 세부 정보를 입력합니다.이 세부 정보는 서버에서 자세한 내용을 확인하고 유효성 검사를 받으면 에스 터보 서버/데이터베이스를 쿼리합니다.

답변

0

먼저 어떤 종류의 서버 통신이 필요한지 결정해야합니다. 그것은 실시간으로 일정합니다. 그러면 웹 소켓이 필요합니다. 데이터를 보내거나 가져와야 할 때 갑자기 나타납니다. 웹 서비스 (REST, RPC, SOAP)가 필요합니다. 그런 다음 사용자로드를 평가해야합니다. 그리고 마지막으로 당신이 가질 인적 자원.

귀하의 질문에 따라, 나는 REST 웹 서비스가 충분하다고 생각합니다.

- 관련된 모든 자원 그룹에 대해 REST 서비스를 작성할 수 있습니다. 예 :/user URL은 가입, 로그인, 로그 아웃 및 사용자 업데이트 작업을 처리해야합니다.

- 이러한 작업 각각에 대해 메소드를 생성하고 처리하십시오. 그런 다음 REST 서비스 클래스에서 메소드를 호출하십시오.

- 사용중인 사용자 및 기술의 양에 따라 요청을 처리 할 서버를 만들거나 REST 프로젝트를 서버 (예 : tomcat)에 업로드하십시오.

- 앱을 만들고 거기에서 REST 서비스를 사용합니다.

이러한 것들을 선택할 수있는 수많은 기술이 있습니다. PHP는 REST 서비스를 만들 수 있다고 생각한다. 자바는 서버와 안드로이드 애플 리케이션에서 동일한 코드를 사용할 수 있기 때문에 매우 좋은 선택입니다. Node.Js는 서버가 필요없고 NIO를 사용하기 때문에 꽤 인기가 있습니다 (물론 java는 jetty를 사용하고 멀티 스레딩도 할 수 있습니다). golang과 scala는 모두 뛰어난 성능을 제공합니다 (golang은 배우기가 훨씬 쉬우 며 외부 웹 서버를 사용할 필요가 없습니다).

희망이 도움이됩니다.

0

모바일 응용 프로그램의 경우 다른 기술에서 사용하기 가볍고 유연하므로 REST (표현 상태 전송)가 가장 좋습니다. 나는 REST와 모바일 앱 및 웹 앱을 포함하는 프로젝트를 진행했으며 매우 잘 작동했다.

0

이 시나리오에서는 대개 클라이언트 측을위한 REST API 서비스를 빌드합니다. Laravel에 익숙하므로 Laravel로 REST API 서비스를 작성하는 방법은 http://www.programmableweb.com/news/how-to-build-restful-apis-using-php-and-laravel/how-to/2014/08/13#apiu을 참조하십시오. 또한 다른 light 3 부 PHP 프레임 워크를 활용하여 REST API 서비스를 구축 할 수 있습니다.

로컬에서 응용 프로그램을 만들고 개발 한 다음 Azure Web Apps에 배포 할 수 있습니다. 자세한 내용은 https://azure.microsoft.com/en-us/documentation/articles/app-service-web-php-get-started/을 참조하십시오.

그리고 여러 공급 업체가 Azure에서 MySQL 서비스를 제공합니다. ClearDB은 MySQL 용 Azure의 BaaS입니다. 또한 VM을 사용하여 MySQL 서비스를 호스트 할 수 있습니다. E.G. MySQL by BitnamiMySQL by Docker.

관련 문제