2011-02-02 3 views
0

저는 java에서 서버 측 응용 프로그램을 개발해 왔으며 이제 일부 모바일 응용 프로그램을 제공하라는 요청을 받았습니다. 질문은 항상 "얼마나"데이터를 앱에 보내야하는지에 대한 버그입니까? 큰 XML 문서를 전송해야하는 경우 요구 사항에 따라 노드별로 노드를 보내야합니까? 예이면 전화 배터리가 더 많이 소모되지는 않을 것입니다 (전화가 모든 노드에 대해 새 연결을 생성하므로) . 한 번에 전체 문서를 보내기로 결정하면 클라이언트가 전체 문서를 다운로드하는 데 오랜 시간이 걸릴 수 있으며 일시적으로 문서를 저장하는 데 문제가있을 수 있습니다 ... 더 많은 경우 데이터의 두 복사본에 데이터 불일치가 발생할 수 있습니다 . 간단히 말해서, 나는 "너무 비싸고 모바일 장치를위한 연결이 만들어 졌는가"를 알아야합니다. 하나의 연결에서 여러 개의 연결을 생성하거나 모든 데이터를 함께 수신하여 청크로 데이터를 수신하는 방식이 더 좋습니다.모바일 응용 프로그램 용 웹 서비스 개발 중 설계 고려 사항

또한 모바일 클라이언트 용 웹 서비스를 개발할 때 이미지 URI 또는 ​​이미지 데이터 (바이트 배열로)를 보내야하는지 알고 싶습니다.

감사합니다.

답변

1

가능한 한 다운로드해야합니다. 질문에 답변 해주는 응용 프로그램입니다. 1000 개의 항목 목록을 다운로드하지 말고 10 개만로드하고 사용자가 아래로 스크롤 할 때까지 기다린 다음 다음 항목을로드하십시오 10. 항목을 캐시하십시오.

처음에는 데이터를 다운로드하는 사용자를 등록하는 것과 같이 손쉬운 방법을 사용하기에 조금 더 까다 롭습니다. 처음으로 앱을 사용하고 필요한만큼 많은 정보를 다운로드하고 처음으로 전화를 겁니다. 로드. 등록, 사용자가 다운로드 한 내용. 사용자 U의 다음 호출은 변경된 데이터 만 보내고이 데이터와 함께 클라이언트 장치에서 수행 할 변경 작업을 보냅니다.

1

모바일 클라이언트의 경우 대기 시간이 데이터 패키지 크기보다 커집니다. 당신이 소비하려는 것보다 더 많은 데이터를 보내면 안되지만 노드별로 노드를 사용하는 것은 좋은 방법이 아닙니다. 이것은 사용자 경험 답변만큼 배터리 응답이 아닙니다.

모바일 용으로 설계하는 가장 좋은 방법은 식사에 적합한 바이트 크기를 찾는 것입니다. 즉, 한 번에 10,000 개의 레코드를 보내지는 않지만 한 번에 10 개의 항목으로 구성된 그리드를 보내지 마십시오.

이미지 크기에 따라 링크가 아닌 이미지를 직접 보내야합니다 (base64 인코딩이 일반적 임). 예외는 사용자를 웹 페이지로 보내고 탐색하도록 할 것이지만 실제로는 더 이상 "모바일 응용 프로그램"이 아닙니다.

관련 문제