2008-08-18 8 views
2

클라이언트 측 JavaScript를 작성하는 사람은 브라우저에서 메모리에서 참조하는 트리 구조 인 DOM에 익숙하며 서버에서 가져온 HTML에서 생성됩니다. JavaScript는 DOM 트리의 노드를 추가, 제거 및 수정할 수있어 페이지를 변경할 수 있습니다. 나는 (브라우저 버그를 제외하고) 매우 잘 작동한다는 것을 알았고, 내 서버 측 코드가 페이지를 처음 생성하는 방식과 매우 다르다.트리 기반 (또는 HTML 기반) 웹 프레임 워크?

제 질문은 : 서버 측 프레임 워크/언어가 처음부터 DOM 트리로 취급하여 페이지를 작성하는 것 - 문자열을 에코하는 대신 노드를 삽입 하시겠습니까? 나는 클라이언트 쪽과 서버 쪽 코드가 같은 방법으로 페이지를 보는 것이 매우 도움이 될 것이라고 생각한다. 웹 서버 언어로이 같은 것을 함께 해킹 할 수는 있지만이 방법으로 페이지를 만드는 프레임 워크는 아주 좋은 최적화를 할 수 있습니다.

널리 배포되어 잠시 동안 사용 된 오픈 소스는 모두 플러스입니다.

답변

2

당신은 Rhino on Rails이라고 묘사하고 있지만 이는 곧 나올 것입니다. 마찬가지로, Aptana Jaxer이지만 Rax에는 실제 프레임 워크 (Rails)가 포함되어 있지만 Jaxer는 서버 기술에 불과합니다.

-1

나는 당신이 어디에서 왔는지를 보았지만, 조금 이상한 것이 아닙니다. 브라우저에 렌더링 된 내용 만 보낼 수는 없으므로 한 번에 모두 수행해야합니다 (AJAX는 제외). 내가 (볼 수있는 것에서) 당신이 제안하고있는 것에는 아무런 가치가 없습니다. 비록 당신이 그것을 나무 같이 만들지 만, 당신은 클라이언트에게 도매로 보내지는 페이지만을 만들고있는 것이기 때문입니다.

+0

이점은 데이터의 문자열 표현이 아닌 데이터로 데이터와 상호 작용할 수 있다는 것입니다. – eyelidlessness

2

Aptana의 Jaxer AJAX 서버는 JS 서버 측을 사용하므로 체크 아웃 할 수도 있습니다.

말하자면, 나는 당신이 인쇄 문이나 에코를 사용하여 마크 업을 생성하지 말고 템플릿 대신 동적 내용을 사용하는 것이 낫다고 주장한다.

0

Jaxer는 서버 측 javascript와 DOM입니다. jaxer를 출력을 사후 처리하여 다른 언어와 통합 할 수 있습니다.

또한 java, php, ... xpath를 사용하여 DOM을 조작 할 수 있습니다.