안드로이드 서버


현재 안드로이드 기반의 sns를 만드려고 계획하고 있습니다.

서버는 아마존 웹서비스에서 ec2를 이용하고 있습니다.

이제 서버에서 어떤 언어를 사용해서 sns 서버를 구성해야 할 지 고민이어서 질문 올립니다.

현재 간단한 테스트를 위해 php를 이용하여 db를 긁어오는 정도만 구성해 두었는데요.

서버 프로그래밍을 전혀 모르기 때문에 php를 이용하여 서버를 구축하는 것이 맞는 지 모르겠습니다.

혹시 서버 프로그래밍을 위해 공부해야할 언어가 있다면 추천해주세요.

  • 2017년 08월 09일에 작성됨

조회수 95


Kakao codefestival banner

2 답변


좋아요
0
싫어요
채택취소하기

php 로 하셔도 됩니다. facebook 도 php 를 사용한다고 하네요. 서버 개발을 할 수 있는 컴퓨터 언어는 많습니다. 우리나라에서 보통 SI 프로젝트로 개발하면 현재 java + spring framework 이 주류를 이루지만요. node.js 를 사용하여 javascript 로 백엔드에서부터 프론트엔드 까지 개발할 수도 있고, python 이나 ruby 를 쓸 수도 있고요. startup 에서는 python 이나 ruby 를 꽤 사용하는 걸로 알고 있습니다. 근데, 서버 구축에 필요한 게 언어 학습만은 아니죠 ..

  • 2017년 08월 09일에 작성됨

  • 답변 감사합니다. 그러면 php 로 개발하는데 view는 안드로이드가 되는 거고 php 가 컨트롤러랑 모델 역할을 하면 되는 건가요?    xxung   2017.8.9 17:35     
  • 앱과 웹 간의 역할 분담에 대해서 어떤 정답이나 패턴이 있는지는 제가 많이 해 본 분야가 아니라서 잘 모르겠네요. 과거에 몇 개의 앱을 개발한 경험으로는 네이티브앱으로 개발하시는 경우 서버에서 모델만 가지고 api 를 노출시키는 역할만 하면 될 것 같고, 웹앱으로 개발하시는 경우에는 대부분의 역할을 서버가 하게 될 거 같네요.    1smoot   2017.8.9 17:40     

여러가지를 고민하셔야 합니다만 언어/구현만 국한되서 생각해보면

일단 프로토콜을 결정해야 합니다.

일단 많이들 사용하는 http를 사용할것인가? 장점은 구축의 편리함이 있지만 느립니다.

sns라고 하셨는데 대량의 트래픽처리에 불리할 수 있습니다.

성능상으로는 raw tcp로 패킷을 받는 것이 가장 유리할겁니다. 비동기의 소켓 프레임워크가 몇 됩니다. 파이썬의 트위스티드, 자바의 네티, c++에 boost 닷넷에 슈퍼소켓 등등 사용하기 편한 대안들이 있습니다.

http라도 비동기 통신을 하는 nginx 가 처리량에서 유리합니다.

근래에는 사이즈나 다루기편한 json이 xml보다 훨씬 많이 사용됩니다.

즉 http라면 안드로이드에서 url을 호출시 httpd(웹서버)에서 보낸json을 받게 됩니다.
그렇게 받은 json을 안드로이드에서 언마샬링(자바객체로 변환)해서 사용하게 됩니다.

  • 2017년 08월 10일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close