2014-09-16 3 views
1

저는 Vaadin 프레임 워크를 처음 접했고 Vaadin Book을 사용하고 있었지만 클라이언트 측 Vaadin 애플리케이션의 흐름을 이해할 수 없었습니다. 누군가가 Vaadin 클라이언트 측 응용 프로그램의 작업을 설명하면 매우 감사 할 것입니다. vaadin은 클라이언트 측과 서버 측의 두 가지 개발 모델을 제공합니다.Vaadin 클라이언트 측 애플리케이션 이해

답변

0

클라이언트 측 응용 프로그램은 JavaScript 응용 프로그램 중 하나이며 브라우저가 &을 다운로드하는 응용 프로그램입니다. 이 JavaScript 응용 프로그램은 Java로 작성되어 IDE에서 사용하는 Vaadin 라이브러리에 내장 된 Google Web Toolkit (GWT) 컴파일러로 JavaScript로 컴파일됩니다.

이 응용 프로그램은 서버에서 실행중인 Java 응용 프로그램과 상호 작용할 수도 있고 작동하지 않을 수도 있습니다. 그렇지 않으면 클라이언트 쪽 응용 프로그램입니다. 그렇다면 서버 쪽 응용 프로그램입니다.

도움이되기를 바랍니다.

+0

정말 도움이되었고, 클라이언트 사이드 애플리케이션, 즉 순수 클라이언트 측 애플리케이션이 아닌 클라이언트 사이드 애플리케이션을 이해하려고 노력했습니다. 이 경우 서블릿을 사용해야하거나 그냥 커넥터 만 있으면 서버 쪽과 클라이언트 쪽을 연결할 수 있습니다. –

3

other answer은 정확하거나 철저하지 않습니다. 그래서 나는 주제에 대한 나의 자신의 테이크를 추가 할 것이다.

클라이언트 측, Schmlient 측이

만약 angel의 주요 포인트는 프로그래머로서 우리는 데스크톱 응용 프로그램을 구축하는 유사한 관점에서 생각한다는 것입니다. 우리는 앱의 클라이언트 측 대 서버 측에 대해 정말로 걱정하지 않습니다. 폼 (Layouts)과 필드 & (Components) 필드를 사용하여 열려있는 윈도우 (UI 인스턴스)와 관련하여 생각합니다. 순수 자바를 사용하여

자바

우리는 모든 UI 레이아웃을 쓰기

, 순수 및 구성 요소 객체. 기본 Vaadin 프레임 워크는 Google Web Toolkit (GWT)을 사용하여 Java 코드의 사용자 인터페이스 부분을 JavaScript로 변환합니다. 이 JavaScript 코드는 런타임에 웹 브라우저에 투명하게 전달됩니다. 따라서 JavaScript는 화면에 버튼과 필드를 그리는 데 사용되며 사용자가 해당 버튼을 클릭하거나 해당 필드에 입력하면이를 감지하는 데 사용됩니다. [서버

앱 삶 한편, 귀하의 비즈니스 로직은 서버 측에서 순수 자바에 남아 있습니다. 사용자가 버튼을 클릭했다는 사실 때문에 일부 Java 코드가 서버에서 실행됩니다. 필드에서 타이핑하는 것과 동일합니다. 입력 된 텍스트는 자동으로 서버의 Java 코드로 전달됩니다. Java Vaadin 앱 개발자 인 우리 입장에서는 전체 앱이 순수 Java로 실행되는 것 같습니다. Vaadin 프레임 워크는 다음과 같은이 앞뒤 통신을 자동으로 처리합니다.

[JavaScript/클라이언트 측 Java/서버 측].

그래서 Vaadin을 사용하여 웹 앱을 만드는 것은 웹 앱을 전혀 수행하지 않는 것입니다. 대부분의 경우, Vaadin 개발자는 HTTP, HTML, CSS, DOM, JavaScript/ECMAScript, Servlet/JSP 등으로 자신을 신경 쓸 필요가 없습니다. 모든 웹 기술은 실제로 Vaadin 앱과 연동되어 있지만, Vaadin은 우리를 위해 모든 것을 투명하고 거의 마술처럼 처리합니다. 우리는 Vaadin에 아주 멋진 "데스크톱"스타일의 앱을 만들기 위해 순수 Java로만 작성합니다.

비즈니스 로직, Java 비즈니스 오브젝트, SQL 및 데이터베이스 연결 등은 모두 서버에만 있습니다. 웹 브라우저에는 현재 의도 된 사용자 인터페이스를 표시하는 데 충분한 데이터와 JavaScript 만 포함되어 있습니다.나는 이것을 현대의 환생이라고 생각한다. X Window System. (마지막 코멘트는 MTV가 뮤직 비디오를 재생할 때 기억하기에는 너무 어리다는 것을 무시하십시오.)

웹 브라우저에서 우리는 JavaScript 만 실행합니다. 사용자는 자신의 컴퓨터에 Java를 설치할 필요가 없습니다. 자바 애플릿이 필요 없습니다.

Vaadin이 없음 "또 다른 웹 응용 프로그램 프레임 워크"

이 들릴 수도 가 어려운 믿거 나 이해하기 어렵다. 그것은 Vaadin의 아키텍처가 훌륭하게 다르기 때문입니다. Vaadin은 확실히 이 아니며은 "아직 또 다른 HTML 템플릿 웹 앱 프레임 워크"입니다. 바딘 (Vaadin)은 그 접근 방식에서 거의 유일합니다. 내가 아는 똑같이 구조화 된 웹 애플리케이션 개발 프레임 워크는 Xojo Web Edition입니다. Vaadin이 응용 프로그램이 아닌 자바 서버에 연결 오프라인으로 작동 할 수 있도록에서 Vaadin이

angel이라는 팀이 일하고있다 학습 할 때

무시 "클라이언트 측"는 이야기. 그러나 이것은 Vaadin의 주된 목적이나 사용 사례가 아니라 출혈 가장자리 R & D입니다. "클라이언트 쪽 Vaadin"을 읽을 때 그 맥락에서있을 수 있습니다.

귀하의 질문을 묻는 또 다른 문맥은 Vaadin 북의 Client-Side Applications 장입니다. 기본적으로 Vaadin의 최신 버전은 클라이언트의 웹 브라우저에서 JavaScript의 상황을보다 잘 제어하려는 고급 개발자를 지원합니다. 그러나 나는 처음부터 사람들을 Vaadin에 끌어들이는 주요 목적으로부터주의를 산만하게 만든다고 생각한다 : 아니요은 (는) 클라이언트의 웹 브라우저에서 JavaScript를 사용하고 있습니다. 그래서 저는 Vaadin을 배울 때 그 장을 건너 뛰는 것이 좋습니다.

또는 컨텍스트는 웹 브라우저에서 사용자 인터페이스의 JavaScript 기반 표현을 렌더링하기 위해 GWT를 사용할 수 있습니다. Vaadin이 내장 된 위젯에 an add-on이되도록 사용자 인터페이스 위젯을 빌드하는 경우에만 적용되므로 Vaadin을 배울 때이 컨텍스트를 무시할 수 있습니다.

Vaadin API doc에 나열된 대부분의 클래스는 Vaadin을 배우는 동안 무시해야하는 GWT 관련 클라이언트 측 클래스입니다. 많은 도구에서 API 문서를 탐색하는 것이 좋은 방법입니다. 그러나 Vaadin은 그렇지 않습니다. 일상 업무에서 우리는 나열된 수업 중 극히 일부만 사용합니다. 대신 Book of Vaadin, Demo site, Tutorial, Forums 및 StackOverflow에 중점을 두시기 바랍니다.

관련 문제