스마트폰 앱에서 가장 효과적인 1:1 채팅 개발방법으론 뭐가있을까요 ?

cyk7890의 이미지

모바일웹을 개발한다음
이를 폰갭과같은 툴을 사용해서 IOS ,Android 앱으로 추출해 내는것이 하이브리드 앱이라는것은 익히 알고들 계실겁니다.

그럼 이와같은 방식으로 만들어진 앱에

사용자간 1:1 채팅기능을 구현한다면 어떤 방법이 가장 효과적일까요 ?
참고로 1:1만 가능하고, n:n 채팅은 고려하지 않고있습니다.

고려사항
1. 기본적으로 채팅을 주고 받아야할것이며..
2. 스마트폰 앱이다보니 상대방이 어플을 끈 상태에서는 푸시로도 알려줘야 할태고..
3. 나중에 다시들어가도 과거 채팅내용들이 보여져야 할태고..

아 그리고.. 채팅 기록을 메시지 하나하나 전부 DB로 관리하는게 좋을지
아니면 생성된 채팅방에 대해서 모든 기록을 별도 파일로 (chatroom_num1000.xml) 식으로 관리해서
지난채팅 로딩할때 파일을 읽는식으로 표현하는게 좋을지..

간단한것 같으면서도 쉽사리 결론이 서질 않아서 이렇게 조언을 구하고자 글을 써봅니다.