바딘

Vaadin
바딘
Vaadin-logo
Vaadin-flow-bakery.png
Vaadin Flow를 사용하여 구현된 웹 애플리케이션
개발자Vaadin Ltd.
안정된 릴리스22.0.20 (2022년 8월 9일, 0일 전(2022-08-09))[1] [±]

23.1.3 (상록색) (2022년 6월 28일; 42일 전 (2022-06-28))[2] [±]
14.8.15 (LTS, 기능 업데이트 없음) (2022년 8월 9일, 0일 전(2022-08-09)[3] [±]

8.14.1 (LTS, EOL) (2021년 10월 6일, 10개월 전(2021-10-06))[4] [±]
저장소Vaadin 저장소
기입처자바, 자바스크립트
플랫폼크로스 플랫폼
유형웹 프레임워크
면허증.Apache 라이센스 2.0
웹 사이트vaadin.com

Vaadin(핀란드어 발음: [ˈɑ]]]]]]]]]]]]]]]])은 Java용 오픈 소스 웹 애플리케이션 개발 플랫폼입니다.Vaadin에는 웹 컴포넌트 세트, Java프레임워크 및 개발자가 HTML 및 JavaScript 대신 Java 프로그래밍 언어만 사용하여 최신 웹 그래픽 사용자 인터페이스(GUI)를 구현할 수 있는 도구 세트가 포함되어 있습니다.

역사

개발은 2002년에 출시된 Millstone 3 오픈 소스 웹 프레임워크 위에 어댑터로 처음 시작되었습니다.Ajax 기반의 클라이언트 통신 및 렌더링 엔진을 도입했습니다.2006년에 이 컨셉은 상업용 제품으로 별도로 개발되었습니다.그 결과, Vaadin의 서버측 API의 대부분은 Millstone의 Swing과 같은 API와 여전히 호환됩니다.

2007년 초에 제품명이 IT Mill Toolkit으로 변경되어 버전 4가 출시되었습니다.클라이언트 측 렌더링을 위해 독점적인 JavaScript Ajax 구현을 사용했기 때문에 새로운 위젯을 구현하는 것이 다소 복잡했습니다.2007년 말까지 독자 사양의 클라이언트 측 실장은 폐지되고 GWT는 서버 측 컴포넌트 위에 통합되었습니다.동시에 제품 라이선스가 오픈소스 Apache License 2.0으로 변경되었습니다.IT Mill Toolkit 5의 첫 번째 실전 가동 가능한 릴리스는 1년 이상의 베타 기간을 거쳐 2009년 3월 4일에 만들어졌습니다.

2008년 9월 11일 MySQL 오리지널 버전의 주요 저자인 Michael Widenius가 Vaadin의 개발자인 IT Mill에 투자했다는 사실이 공개되었습니다[5][6].투자 규모는 공개되지 않았다.

2009년 5월 20일 IT Mill Toolkit은 Vaadin Framework로 이름을 변경했습니다.그 이름은 핀란드어로 doe, 더 정확히 말하면 암컷 순록이라는 에서 유래했다.핀란드어로도 번역할 수 있다.명칭 변경과 더불어 커뮤니티 웹사이트와 함께 버전 6의 프리 릴리즈가 시작되었습니다.그 후, 오픈 소스 Vaadin Framework의 배후에 있는 IT Mill Ltd가 Vaadin Ltd로 사명을 변경했습니다.

2010년 3월 30일에 Vaadin Directory가 오픈되었습니다.핵심 Vaadin Framework에 무료 또는 상업적으로 애드온 컴포넌트를 배포하기 위한 채널을 추가했습니다.출시일 현재 95개의 애드온을 다운로드 [7]할 수 있습니다.

릴리스 이력
LTS 버전 발매일 이전 LTS 버전 출시 이후의 주의사항 및 신기능
6 2009년 5월 20일 초기 릴리즈
7 2013년 2월 3일
8 2017년 2월 21일 개량점으로는 타입 파라미터 및 람다식 등의 최신 Java 기능을 사용하는 데이터 바인딩 API를 다시 작성하고 메모리와 CPU를 [8]보다 효율적으로 사용하는 것이 있습니다.
10 2018년 6월 25일 컴포넌트와 호환되는 모든 테크놀로지의 Vaadin UI 컴포넌트를 사용할 수 있습니다.Vaadin Directory는 웹 구성 요소 배포를 추가합니다.차세대 Vaadin Framework인 Vaadin Flow는 Vaadin의 UI [9]컴포넌트 위에 서버 측 Java 웹 프레임워크로 제공되었습니다.
14 2019년 8월 14일 새로운 UI 컴포넌트, CDIOSGi 지원, Gradle 통합, 루트 동적 등록, 키보드 숏컷 API, npm 및 Bower [10]지원.

Vaadin 흐름(Java API)

Vaadin Flow(이전의 Vaadin Framework)는 웹 애플리케이션 웹 사이트를 구축하기 위한 Java 웹 프레임워크입니다.Vaadin Flow의 프로그래밍 모델은 개발자가 HTML이나 JavaScript를 직접 사용하지 않고도 사용자 인터페이스(UI)를 구현하기 위한 프로그래밍 언어로 Java를 사용할 수 있도록 합니다.Vaadin Flow는 서버 측 아키텍처를 특징으로 하며, 이는 대부분의 UI 로직이 서버에서 안전하게 실행되므로 공격자에 대한 노출을 줄일 수 있습니다.클라이언트 측에서는 Vaadin Flow가 웹 컴포넌트 표준을 기반으로 구축됩니다.클라이언트/서버 통신은 브라우저의 UI와 서버의 UI 상태를 모두 업데이트하는 가벼운 JSON 메시지와 함께 WebSocket 또는 HTTP를 통해 자동으로 처리됩니다.

Vaadin Flow의 Java API는 다음과 같은 클래스를 포함합니다.TextField,Button,ComboBox,Grid설정, 스타일링, 클래스 레이아웃 오브젝트인스턴스 추가가 가능한 기타 많은 것.VerticalLayout,HorizontalLayout,SplitLayout, 기타.동작은 클릭, 입력값 변경 등의 이벤트에 청취자를 추가하여 구현됩니다.보기는 다른 UI 구성 요소(커스텀 또는 프레임워크에서 제공)를 구현하는 사용자 정의 Java 클래스에 의해 생성됩니다.이 뷰 클래스에는 다음과 같은 주석이 붙습니다.@Route특정 URL을 사용하여 브라우저에 노출합니다.다음 예시는 이러한 개념을 나타내고 있습니다.

@루트("헬로월드') // http://localhost:8080/hello-world를 통해 뷰를 표시합니다. 일반의 학급 메인뷰 확장 Vertical Layout(수직 배치) { // 기존 UI 컴포넌트 확장      일반의 메인뷰() {         // 텍스트 필드를 만듭니다.         텍스트 필드 텍스트 필드 = 신규 텍스트 필드("이름 입력");          // 버튼을 만듭니다.         단추 단추 = 신규 단추("보내다");                  // 클릭 이벤트를 사용하여 버튼에 동작을 추가합니다.         단추.add Click Listener(이벤트 ->                 더하다(신규 단락("안녕하세요" + 텍스트 필드.가치의 취득()))         );          // UI 컴포넌트를 뷰에 추가합니다(VerticalLayout).         더하다(텍스트 필드, 단추);     } } 

다음은 이전 예의 스크린샷입니다.

Vaadin-flow-hello-world-screenshot.png

Hilla(TypeScript API)

Hilla(이전의 Vaadin Fusion)는 Spring Boot Java 백엔드와 TypeScript에 구현된 반응형 프런트 엔드를 통합하는 웹 프레임워크입니다.이 조합은 서버측 비즈니스 로직(Java)과 클라이언트측 타입세이프티(TypeScript)를 조합하여 TypeScript 프로그래밍 언어를 사용함으로써 완전한 타입세이프 개발 플랫폼을 제공합니다.보기는 웹 구성요소를 작성하기 위한 경량 라이브러리인 Lit을 사용하여 구현됩니다.다음은 Hilla를 사용하여 구현된 기본 뷰의 예입니다.

@custom Element(커스텀 요소)('hello-world-view') 수출. 학급 Hello World View(Hello World View) 확장 LitElement (LitElement {   표현하다() {     돌아가다 html` <div> <vaadin-text-field label="이름"> </vaadin-text-field> <vaadin 버튼 @click="${이것..안부 전해주세요.}">안녕하세요 </vaadin-button> </div> `;   }    안부 전해주세요.() {     show Notification(알림)("여보세요!");   } } 

Vaadin의 UI 컴포넌트

Vaadin에는 웹 컴포넌트로 구현된 사용자 인터페이스(UI) 컴포넌트 세트가 포함되어 있습니다.이러한 컴포넌트는 서버측 Java API(Vaadin Flow)를 포함하지만 HTML 문서에서도 직접 사용할 수 있습니다.Vaadin의 UI 컴포넌트는 마우스 및 터치 이벤트, CSS와 함께 커스터마이즈할 수 있으며 WAI-ARIA와 호환되며 키보드 및 화면 리더 지원 및 오른쪽에서 왼쪽으로의 언어를 지원합니다.

다음 표에는 Vaadin에 포함된 UI 구성 요소 목록이 나와 있습니다.

Vaadin 컴포넌트
자바 클래스 HTML 요소 이름 묘사 면허증.
Accordion vaadin-accordion 수직으로 스택된 확장 가능한 패널 세트 아파치 2.0
Anchor a 지정된 URL로의 네비게이션을 허용합니다. 아파치 2.0
AppLayout vaadin-app-layout 공통 애플리케이션 레이아웃 구조 아파치 2.0
Avatar vaadin-avatar 인물의 그래픽 표현 아파치 2.0
(사용 불가) vaadin-badge 내용 라벨 표시를 위한 컬러 텍스트 요소 아파치 2.0
Board vaadin-board-row 응답형 뷰를 구축하기 위한 레이아웃 구성요소 상업의
Button vaadin-button 사용자가 작업을 수행할 수 있습니다. 아파치 2.0
Crud vaadin-crud 생성, 읽기, 업데이트 및 삭제 작업을 관리하는 구성 요소 상업의
Chart vaadin-chart 막대, 파이, 꺽은선형 등 다른 유형의 대화형 차트 상업의
Checkbox vaadin-checkbox 이진 선택을 나타내는 입력 필드 아파치 2.0
Combo box vaadin-combo-box 필터링할 수 있는 항목 목록을 표시합니다. 아파치 2.0
ConfirmDialog vaadin-confirm-dialog 사용자 작업을 확인하는 데 사용되는 모달 대화 상자 상업의
ContextMenu vaadin-context-menu 마우스 오른쪽 버튼 또는 길게 누르면 나타나는 메뉴 아파치 2.0
CookieConsent vaadin-cookie-consent GPRCCPA 등의 프라이버시법에 준거하는 배너 상업의
CustomField vaadin-custom-field 여러 컴포넌트를 하나의 필드로 정리하는 컴포넌트 아파치 2.0
DatePicker vaadin-date-picker 날짜를 입력하거나 달력 오버레이에서 선택하여 입력할 수 있습니다. 아파치 2.0
DateTimePicker vaadin-date-time-picker 날짜와 시간을 모두 선택하기 위한 입력 아파치 2.0
Details vaadin-details 내용 표시 및 숨기기를 위한 확장 가능한 패널 아파치 2.0
Dialogvaadin-dialog 오버레이에 다른 구성요소를 표시하는 팝업 창 아파치 2.0
EmailField vaadin-email-field 전자 메일 주소만 입력으로 받아들이는 텍스트 필드 아파치 2.0
Form layout vaadin-form-layout 여러 개의 열이 있는 응답 양식을 작성하기 위한 레이아웃 아파치 2.0
Grid vaadin-grid 표 형식의 데이터를 위한 데이터 그리드 또는 데이터 테이블 구성 요소 아파치 2.0
GridPro vaadin-grid-pro 풀 키보드 네비게이션으로 인라인 편집 가능 상업의
HorizontalLayout vaadin-horizontal-layout 구성 요소를 한 줄로 나란히 배치합니다. 아파치 2.0
Icon iron-icon 커스텀 아이콘을 표시하거나 600개 이상의 아이콘을 표시합니다(VaadinIcons열거형) 아파치 2.0
Image img 리소스 파일 또는 런타임에 생성된 이진 데이터에서 이미지를 표시합니다. 아파치 2.0
ListBox vaadin-list-box 스크롤 가능한 항목 목록에서 하나 이상의 값을 선택할 수 있습니다. 아파치 2.0
LoginForm vaadin-login-form 로그인 양식을 포함하는 구성 요소 아파치 2.0
LoginOverlay vaadin-login-overlay 모달 또는 전체 화면 로그인 양식 아파치 2.0
MenuBar vaadin-menu-bar 계층 드롭다운 메뉴가 있는 수평 단추 표시줄 아파치 2.0
MessageList vaadin-message-list 메시지를 표시하고 채팅 및 주석 섹션을 작성하는 구성요소 아파치 2.0
Notificationvaadin-notification사용자에게 피드백을 제공하는 데 사용되는 오버레이 구성 요소아파치 2.0
NumberField vaadin-number-field 숫자 입력(10진수, 적분 또는 빅 10진수)만 받아들이는 텍스트) 아파치 2.0
PasswordField vaadin-password-field 기본적으로 마스킹된 비밀번호를 입력하기 위한 입력 필드 아파치 2.0
ProgressBar vaadin-progress-bar 태스크 또는 프로세스의 완료 상태를 표시합니다. 아파치 2.0
Radio button vaadin-radio-button 관련이 있지만 상호 배타적인 옵션 목록에서 정확히 하나의 값을 선택할 수 있습니다. 아파치 2.0
RichTextEditor vaadin-rich-text-editor 리치 텍스트를 입력하기 위한 입력 필드 상업의
Scroller vaadin-scroller UI에서 스크롤 가능한 영역을 만들기 위한 구성 요소 컨테이너 아파치 2.0
Select vaadin-select 옵션 집합에서 단일 값을 선택하기 위한 입력 필드 구성 요소 아파치 2.0
SplitLayout vaadin-split-layout 두 개의 콘텐츠 영역과 그 사이에 끌 수 있는 분할 핸들이 있는 구성 요소 아파치 2.0
Tabs vaadin-tabs 콘텐츠를 섹션으로 정리 및 그룹화 아파치 2.0
TextArea vaadin-text-area 여러 줄 텍스트 입력을 위한 입력 필드 구성 요소 아파치 2.0
TextField vaadin-text-field 텍스트를 소개하고 편집하기 위한 구성 요소 아파치 2.0
TimePicker vaadin-time-picker 특정 시간을 입력하거나 선택하기 위한 입력 필드 아파치 2.0
TreeGrid vaadin-grid 확장 가능한 노드와 축소 가능한 노드로 그룹화된 계층형 표 형식의 데이터를 표시하는 구성 요소 아파치 2.0
Uploadvaadin-upload업로드 진행률 및 상태가 있는 하나 이상의 파일을 업로드하기 위한 구성 요소아파치 2.0
VerticalLayout vaadin-vertical-layout 열에서 위에서 아래로 구성요소를 배치합니다. 아파치 2.0

인증

Vaadin은 개발자가 Vaadin [11]Flow에 능숙하다는 것을 증명하기 위해 두 가지 인증 트랙을 제공합니다.

  • 인정받은 Vaadin 14 개발자
  • 인정 Vaadin 14 Professional

인정에 합격하려면 , 개발자는 메뉴얼을 참조해, 트레이닝 비디오를 참조해, 온라인 테스트를 실시할 필요가 있습니다.

이전(현재 사용할 수 없음) 인증은 다음과 같습니다.

  • Vaadin 7 인정 개발자용 Vaadin 온라인 시험
  • Vaadin 8 인정 개발자용 Vaadin 온라인 시험

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Release Vaadin 22.0.20 · vaadin/platform · GitHub". GitHub. Retrieved 2022-08-09.
  2. ^ "Release Vaadin 23.1.3 · vaadin/platform · GitHub". GitHub. Retrieved 2022-06-28.
  3. ^ "Release Vaadin 14.8.15 · vaadin/platform · GitHub". GitHub. Retrieved 2022-08-09.
  4. ^ "Release Vaadin 8.14.1 · vaadin/framework · GitHub". GitHub. Retrieved 2021-10-06.
  5. ^ "Michael "Monty" Widenius investing in Finnish IT Mill". Invest in Finland. Archived from the original on 2011-07-20. Retrieved 2009-01-31.
  6. ^ Asay, Matt. "Monty Widenius invests in Act II: IT Mill". CNET News. Archived from the original on 2016-03-11. Retrieved 2009-01-31.
  7. ^ "Vaadin Directory Opens its Doors". vaadin.com. Retrieved 2021-09-07.
  8. ^ Vaadin. "Vaadin releases Vaadin Framework 8". www.prnewswire.com.
  9. ^ Vaadin. "Vaadin modernizes Java development with its biggest release to date: Vaadin 10". www.businessinsider.com.
  10. ^ "Vaadin 14.0.0 release on GitHub". GitHub.
  11. ^ "Training". Vaadin. Retrieved 2021-09-08.

추가 정보

외부 링크