2013-09-24 2 views
1

그래서 저는 개발중인 HTML5 phonegap 응용 프로그램의 성능을 정밀 검사하는 중이며 반자동 업데이트 <ul> 요소를 처리하는 가장 좋은 방법을 찾아 내려고하고 있습니다.DOM 조작 대 템플릿

저는 db 데이터의 초기 대량 주입에 대해 DocumentFragments을 사용하고 있으며 관리를 위해 jQuery의 prepend()remove() 함수를 사용하고 있습니다.

특히 템플릿을 살펴본 결과 EJS이 발생했습니다. 구현 한 경우 성능이 향상 될지 궁금합니다.

만약 그렇다면 왜? 그리고 그렇지 않다면 왜?

performant DOM 조작을위한 다른 팁도 환영합니다. 감사.

답변

2

필자는 템플릿을 캐시에 저장하지 않으면 성능이 향상 될 것이라고 생각하지 않습니다.

어쨌든 HTML을 생성하려면 데이터를 처리해야합니다.

템플릿을 사용하면 html을보다 쉽고 읽기 쉽고 재사용 할 수 있습니다.

내가

  1. 캐시 템플릿은
  2. 스타일을 직접 CSS 클래스를
  3. 을 사용하여 추가하지 마십시오 (나무 렌더링의 regenartion을 최소화) 리플 로우를 절감 성능을 JSPerf
  4. 을 높일 것입니다 조금 더 -를 추가 할 수 있습니다 끝없는 소위 모범 사례
1

나는 js 템플릿 엔진을 좋아합니다.

BUT, 자바 스크립트 코드를 통해 렌더링 HTML에 많은주의를 기울여야합니다.

주요 문제는 검색 엔진이 그들을 볼 수 없다는 것입니다.

두 번째 문제는 성능입니다. html을 렌더링하는 가장 좋은 방법은 서버 쪽 as twitter does입니다. 웹 사이트가 클라이언트 환경에 따라 달라지며 모든 사용자가 최상의 컴퓨터를 가지고 있지 않기 때문에 고려해야합니다. 그것을보기 위해.

그러면 최고의 웹 사이트 아키텍처는 twitter.com입니다. 그들은 서버 측 렌더링과 클라이언트 측 렌더링을 혼합하여 구현했습니다. 첫 번째 요청은 서버 측에서 렌더링하고 다음 요청은 자바 스크립트에서 아약스 요청을 통해 다시 표시됩니다.