2011-11-10 4 views
7

나는 (적어도 나를 위해) 정말 큰 문제에 직면하고있다. 나는 너에게 배경을 줄거야.LocalStorage, 여러 Ajax 요청 또는 거대한 Ajax 요청?

내 도시의 버스 정류장과 자전거 정류장에 대한 정보를 표시하는 모바일 웹 앱을 개발 중입니다. 버스 정류장과 자전거 정류장 모두에 대한 GMap 마커가 표시되며, 클릭하면 버스 도착 시간 또는 자전거 수에 대한 정보를 얻을 수 있습니다. 나는 그것을 꽤 멋지게 다루었 다.

문제가있는 부분이 방송국을로드하고 있습니다.

첫 번째 방법은 페이지로드시 개의 전체 스테이션을 로드하는 것입니다. 그것은 약 200 Kb의 JSON과 배열을 반복하여 맵에 넣는 시간입니다. 그들은 숨겨진 채로로드되므로 사용자가 행 이름을 클릭하면 'findMarker'기능을 사용하여 나타납니다. 지도에 다른 방송국이있는 경우지도에 표식이 너무 많이 표시되지 않도록 숨겨집니다.

이것은 iPhone 4 또는 새로운 HTC와 같은 새로운 휴대폰에서 잘 작동했지만 2 년 된 휴대폰에서는 잘 작동하지 않습니다.

내가 생각했던 두 번째 방법, 당신이 역을 클릭 그래서 그들은지도에로드하고 표시됩니다, 요청에 의해 그들에게 을로드했지만이 두 가지 문제에 이르게 :

  • 첫 번째로 여러 요청을 수행 할 수도 있습니다 (또는하지 않을 수도 있음). 같은 (?)로 끝나야합니다.
  • 두 번째 것은 표시자를 피하기위한 것이므로 표시자를 숨기거나 삭제해야합니다. 자전거 실처럼 정보를 잠시 동안 다시 삭제해야합니다.은 라인이 아닌 그룹으로로드됩니다.

마지막으로, 나는 그들이 그 많은 변경되지 않습니다하지만 방대한 양의 데이터가 될 것이며 그들이이 중요한로를 검색하는 엉덩이, 저장할 수있는 고통을 하려면 로컬를 사용하는 방법에 대한 생각 (또한 필자는이 기능에 대한 지원이없는 장치를 다른 옵션 중 하나에 대체해야 함을 알 수있었습니다.

그래서 누군가는 비슷한 문제에 직면 해 어떤 식 으로든 해결했거나 나를위한 팁을 줄 수 있다고 생각했습니다. :)

어떤 도움

정말 감사하겠습니다.

+0

는 모든 속도와 성능에 관하여이 브라우저 캐싱에 대한 다른 접근이 질문을 참조하십시오 가다. 오프라인 사용이나 연결 상태가 좋지 않은 경우에도 적합합니다. 초기로드는 조금 더 오래 걸릴 수 있지만 webapp이 더 좋을 것이라고 생각합니다. –

+0

의견을 보내 주셔서 감사합니다 Phill. 이 생각은 혼란에 빠지게하는 것입니다. 서버를 검색하고 추가하는 것보다 더 많은 CPU를 로컬 스토리지에서 검색 및 추가하는 데 소비하지 않습니까? –

+0

로컬 저장소에서 읽기는 HTTP 요청을 작성하고 응답을 읽고 JSON 데이터를 구문 분석하는 것보다 빠를 것입니다. 그러나 브라우저 캐싱을 사용하면 로컬 저장소를 사용하지 않아도된다고 생각합니다. 내 대답은 아래를 참조하십시오. – StefanOS

답변