상위 질문
타임라인
채팅
관점
ZK (프레임워크)
위키백과, 무료 백과사전
Remove ads
ZK는 자바로 작성된[3][4][5] 오픈 소스 Ajax 웹 애플리케이션 프레임워크로, 거의 프로그래밍 지식이 필요 없이 웹 애플리케이션용 그래픽 사용자 인터페이스를 생성할 수 있다.
ZK의 핵심은 Ajax 기반 사건 기반 메커니즘, 123개 이상의 XUL 및 83개 XHTML 기반 구성 요소,[6] 그리고 사용자 인터페이스 설계를 위한 마크업 언어로 구성된다. 프로그래머는 기능이 풍부한 XUL/XHTML 구성 요소로 애플리케이션 페이지를 설계하고, 최종 사용자 활동에 의해 트리거된 이벤트에 따라 이를 조작한다. 이는 데스크톱 GUI 기반 애플리케이션에서 발견되는 프로그래밍 모델과 유사하다.
ZK는 구성 요소의 콘텐츠 동기화와 클라이언트 및 서버 간의 이벤트 파이프라인 처리가 엔진에 의해 자동으로 수행되고, Ajax 배관 코드가 웹 애플리케이션 개발자에게 완전히 투명한 서버 중심 접근 방식을 사용한다. 따라서 최종 사용자는 데스크톱 애플리케이션과 유사한 상호 작용 및 응답성을 얻는 동시에, 프로그래머의 개발은 데스크톱 애플리케이션과 유사한 단순성을 유지한다.
ZK는 표준 웹 요청-응답 메커니즘을 사용하지 않으며 쿼리 매개 변수가 있는 GET 요청 또는 POST 요청을 통해 서버로 폼 필드를 전송하지 않는다. 대신, 각 화면 위젯의 내부 상태를 업데이트하기 위해 AJAX 요청이 서버로 전송된다. 브라우저에서 ZK는 웹 페이지의 JSON 설명만 다운로드하고 클라이언트 렌더러를 사용하여 이를 UI로 변환한다. 이는 매우 효율적이며 면밀히 검사하면 모든 것을 한 번에 다운로드하지 않는다. 클라이언트와 서버 간의 트래픽을 보면 페이지 렌더링이 최종적으로 완료될 때까지 클라이언트와 브라우저 간에 여러 요청이 오가는 것을 알 수 있다.
선택적 클라이언트 측 사용자 지정은 개발자가 소위 서버+클라이언트 퓨전을 통해 클라이언트 측 리소스를 활용하여 사용자 지정 및 Ajax 트래픽을 줄일 수 있게 한다.
스윙과 유사한 방식의 구성 요소 기반 프로그래밍 외에도, ZK는 ZUML이라는 풍부한 사용자 인터페이스 정의를 위한 마크업 언어를 지원한다.
Remove ads
기능
- 단순한 자바. ZK는 "자바스크립트 없는 Ajax" 접근 방식으로 유명하며, 개발자가 Ajax와 자바스크립트에 대한 지식 없이도 풍부한 웹 애플리케이션을 투명하게 구축할 수 있도록 한다.
- 부트스트랩 지원과 함께 반응형 디자인 테마
- HTML 5 및 CSS 3 지원
- 100개 이상의 Ajax 구성 요소는 UI 디자이너에게 엔터프라이즈 Ajax 애플리케이션의 요구 사항을 충족하는 다양한 풍부한 기능 구성 요소를 제공한다.
- ZUML은 풍부한 사용자 인터페이스 디자인을 HTML 페이지 작성과 유사하게 만든다. ZUML은 XML에 사용 가능한 모든 기능을 상속하는 XUL의 변형이며, UI 정의를 런타임 논리에서 분리한다.
- 다중 사건 기반 GUI 디자인 패턴을 지원하는 사건 기반 구성 요소 모델(데스크톱 프로그래밍 모델과 유사).[7]
- 모델-뷰-컨트롤러 (MVC),[8] 모델-뷰-프레젠터[9] 및 모델-뷰-뷰모델 (MVVM)[10] 디자인 패턴 지원
- UI 뷰와 데이터 및 POJO 간의 CRUD 및 상태 동기화를 자동화하는 ZUML 페이지 내 주석을 통한 데이터 바인딩 기능.
- 스프레드시트, 피벗 테이블 및 달력과 같은 애플리케이션 구성 요소.
- 자바 (Beanshell[11])를 통한 스크립팅 내장 지원. 이는 사용자 인터페이스 및 백엔드 프로그래밍 모두에 통합된 프로그래밍 언어를 사용할 수 있다는 점에서 중요한 이점이다. 자바스크립트 (라이노[12]), 루비 (JRuby[13]), 파이썬 (자이썬[14]) 및 그루비[15]와 같은 다른 언어의 서버측 자바 스크립팅에 대한 선택적 지원.
- JSP 사용자 지정 태그 라이브러리, JSF 지원, 포틀릿 및 서블릿 필터를 통해 기존 웹 프레임워크와 통합을 지원한다. 스프링 및 하이버네이트를 지원한다.
- 프로그래머가 새로운 사용자 지정 UI 컨트롤을 만들 수 있도록 확장 가능하다. 컨트롤 그룹은 매크로 구성 요소로 재사용할 수 있다.
- ZK 차트를 사용한 광범위한 차트 작성
Remove ads
XUL과의 차이점
- ZK는 HTML을 생성하는 서버측 프레임워크이므로 클라이언트측에 게코의 존재 여부에 의존하지 않아 어떤 브라우저에서도 이식 가능하다. ZK는 ZUML (xul 및 xhtml) 서버측 페이지를 입력으로 받아 브라우저용 dhtml을 출력한다.
- ZK는 서버에서 자바로 사용자 인터페이스 논리를 처리한다. 이는 논리를 생성하는 데 사용할 수 있는 스크립팅 엔진 및 애플리케이션 라이브러리 선택의 폭을 넓힌다. dhtml 효과에 대한 서버 로드를 줄이기 위해 클라이언트 측 액션 기능을 사용하여 프레젠테이션 효과를 브라우저에 위임할 수 있다. 단일 애플리케이션 컨테이너에서 서버의 애플리케이션 논리를 실행하면 브라우저에서 DOM을 광범위하게 프로그래밍하는 경우에 비해 교차 브라우저 및 브라우저 버전 테스트 양이 줄어든다.
- ZK와 XUL은 구성 요소의 중복되는 부분 집합을 가지고 있지만, ZK는 자체적인 고유한 구성 요소 집합을 가지고 있다. 구성 요소 라이브러리는 사용자 지정 구성 요소로 확장될 수 있다. 매크로 구성 요소는 구성 요소의 복합체로 정의될 수 있다.
- ZK는 서버측 데이터 바인딩 주석을 제공하여 UI 구성 요소를 서버측 데이터에 선언적으로 바인딩한다.
- 룩 앤드 필 차이.
Remove ads
시스템 요구 사항
프로그래밍 기술의 전제 조건
필수
선택 사항
ZUML
ZUML (ZK 사용자 인터페이스 마크업 언어)은 풍부한 사용자 인터페이스 정의를 위한 마크업 언어이다.
클라이언트 측 기술
ZK는 서버 중심 프레임워크이다. 기술적으로 클라이언트 측 구현에 대해 알 필요가 없다. 이는 자바 모바일 VM에서 ZK 모바일이 실행되는 방식이다.
ZK 5.0부터 소위 서버+클라이언트 퓨전[16] 아키텍처가 도입되었다. 개발자는 원하는 경우 클라이언트 측 위젯에 직접 액세스할 수 있다. ZK 클라이언트 엔진은 jQuery를 기반으로 한다.[17] 기술적으로 jQuery 호환 라이브러리 및 위젯을 사용할 수 있다.
추가 기능
같이 보기
- 리치 웹 애플리케이션 프레임워크 목록
- 자바스크립트 프레임워크 비교
- Ajax 프레임워크 목록
- 자바스크립트 기반 위젯 툴킷 목록
각주
외부 링크
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads