SlideShare a Scribd company logo
GiỚI THIỆU ZK FRAMEWORK
RIKKEISOFT
05/31/2016
TichNV
© Copyright 2016 Rikkeisoft
Outline
1. Giới thiệu về ZK FrameWork
2. Mô hình kiến trúc ZK FrameWork
3. Tại sao nên dùng ZK FrameWork
4. Cài đặt môi trường phát triển ZK FrameWork
5. Cấu trúc 1 project ZK
6. Tạo Demo sử dụng ZK framework
© Copyright 2016 Rikkeisoft
Giới thiệu về ZK FrameWork
• ZK là một event-driven, component-based framework Hỗ
trợ tạo nhiều giao diện cho ứng dụng Web. ZK bao gồm
AJAX-based và event-driven engine(điều khiển sự kiện),
là sự thiết lập của một bộ các thành phần XUL, XHTML, và
một ngôn ngữ ZUML (ZK User Interface Markup
Language).
© Copyright 2016 Rikkeisoft
Mô hình kiến trúc ZK FrameWork
• Khi truy cập một trang ứng dụng ZK ,ZK sẽ tạo ra các
components trong ZUL và hiển thị trên trình duyệt.
• Khi thao tác với các components thì sẽ được gọi đến các
xử lý của controller được khai báo trong ZUL sau đó tất cả
những thay đổi sẽ được trả về trình duyệt .
© Copyright 2016 Rikkeisoft
Mô hình kiến trúc ZK FrameWork
• ZK không đòi hỏi hay yêu cầu bất kỳ kĩ thuật nào là nền
tảng(back-end) cả. Nó có thể được sử dụng chung với các
midleware JDBC, Hibernate, EJB or JMS.
© Copyright 2016 Rikkeisoft
Tại sao nên dùng ZK FrameWork
• Với ZK bạn có thể trình bày những ứng dụng sử dụng những
chức năng của các thành phần XUL và XHTML. Hỗ trợ tạo một
giao diện như một desktop application, sự vận dụng này giúp
tránh lỗi cho người sử dụng.
• ZK hỗ trợ ngôn ngữ markup languages là ZUML, ZUML giống
như XHTML cho phép người phát triển thiết kế giao diện người
dùng mà không cần biết nhiều kiến thức về lập trình giao diện.
• ZK framework là một framework mã nguồn mở Java mạnh mẽ
chuyên dùng để phát triển các ứng dụng web và ứng dụng
mobile. Java Web Framework này rất thích hợp để phát triển
các ứng dụng web hiện đại cần xử lý Ajax nhiều, hỗ trợ công
nghệ responsive và hỗ trợ cả nền tảng mobile. Ngoài Java, ZK
Framework còn được xây dựng trên các công nghệ mở khác
như jQuery và Bootstrap rất quen thuộc với giới lập trình viên.
© Copyright 2016 Rikkeisoft
Môi trường phát triển ZK FrameWork cần có
• JDK
• Eclipse IDE for Java EE Developer
• Web Server Apache Tomcat
• Cài đặt ZK Studio
• Tham khảo tại cài đặt môi trường và tạo project sử
dụng ZK framework tại :
https://www.zkoss.org/wiki/ZK_Installation_Guide/Quick_Start/Create_and_Run_Y
our_First_ZK_Application_with_Eclipse_and_Maven
© Copyright 2016 Rikkeisoft
Cấu trúc 1 project ZK
© Copyright 2016 Rikkeisoft
Tạo Demo sử dụng ZK framework
© Copyright 2016 Rikkeisoft
1. Tạo project DemoZK
2. Tạo layout cho DemoZK carLayout.zull”
3. Tạo trang tìm kiếm và hiển thị danh sách “searchCar.zul”
4. Tạo Entity Car.java
5. Tạo CarService.java và CarServiceImpl.java
6. Tạo SearchCarController.java
Tạo project DemoZK
• Tham khảo cách tạo project tại
https://www.zkoss.org/wiki/ZK_Studio_Essentials/Begin_Your_First_ZK_Projec
t/Create_a_New_ZK_Maven_Project
• Sau khi tạo xong project có cấu trúc sau.
© Copyright 2016 Rikkeisoft
Tạo layout cho DemoZK carLayout.zull
• Cấu trúc một layout của ZK
© Copyright 2016 Rikkeisoft
Tạo layout(tt)
• Tạo trang index.zul
© Copyright 2016 Rikkeisoft
Tạo layout(tt)
• Tạo trang banner.zul
© Copyright 2016 Rikkeisoft
Tạo layout(tt)
• Tạo trang sidebar.zul
© Copyright 2016 Rikkeisoft
Tạo layout(tt)
• Tạo trang footer.zul
© Copyright 2016 Rikkeisoft
Tạo layout(tt)
• index.zul
© Copyright 2016 Rikkeisoft
Tạo trang tìm kiếm searchCar.zul
© Copyright 2016 Rikkeisoft
• Xác định controller xử lý
• <window title="Search" width="1000px" border="normal"
apply="demo.controller.SearchCarController">
• Textbox
• Listbox
• Button
• Label
Tạo trang tìm kiếm searchCar.zul(tt)
© Copyright 2016 Rikkeisoft
Ai cũng biết khỏi nói nhỉ ,xem code vậy.
Tạo Entity ,Service,ServiceImpl
© Copyright 2016 Rikkeisoft
• Tạo class SearchCarController kế thừa
SelectorComposer<Component>
public class SearchCarController extends
SelectorComposer<Component> {…}
• Wire Components:
• @Wire
• private Textbox keywordBox;
• @Wire
• private Listbox carListbox;
• @Wire
• private Label modelLabel;
Tạo SearchCarController.java
© Copyright 2016 Rikkeisoft
• Listen to Component Events:
@Listen("onClick = #searchButton")
public void search(){
...
}
@Listen("onSelect = #carListbox")
public void showDetail(){
…
}
• Cú pháp chung:
@Listen( [EVENT_NAME] = #[COMPONENT_ID])
public void hamXuLY(){ … }
Tạo SearchCarController.java(tt)
© Copyright 2016 Rikkeisoft
• Sơ đồ hoạt động theo mô hình MVC
Tạo SearchCarController.java
© Copyright 2016 Rikkeisoft
Demo source
© Copyright 2016 Rikkeisoft
Thank you
RIKKEISOFT
© Copyright 2016 Rikkeisoft

More Related Content

What's hot

What's hot (20)

CSS Dasar #10 : Specificity
CSS Dasar #10 : SpecificityCSS Dasar #10 : Specificity
CSS Dasar #10 : Specificity
 
CSS Layouting #3 : Box Model
CSS Layouting #3 : Box ModelCSS Layouting #3 : Box Model
CSS Layouting #3 : Box Model
 
MongoDB - Aggregation Pipeline
MongoDB - Aggregation PipelineMongoDB - Aggregation Pipeline
MongoDB - Aggregation Pipeline
 
Bootstrap 5 ppt
Bootstrap 5 pptBootstrap 5 ppt
Bootstrap 5 ppt
 
Spring Boot Persistence Best Practices - How to effectively shape the @OneToM...
Spring Boot Persistence Best Practices - How to effectively shape the @OneToM...Spring Boot Persistence Best Practices - How to effectively shape the @OneToM...
Spring Boot Persistence Best Practices - How to effectively shape the @OneToM...
 
jQuery
jQueryjQuery
jQuery
 
Cascading Style Sheets(CSS)
Cascading Style Sheets(CSS)Cascading Style Sheets(CSS)
Cascading Style Sheets(CSS)
 
Spring boot - an introduction
Spring boot - an introductionSpring boot - an introduction
Spring boot - an introduction
 
Introduction to web programming with JavaScript
Introduction to web programming with JavaScriptIntroduction to web programming with JavaScript
Introduction to web programming with JavaScript
 
HTML CSS and Web Development
HTML CSS and Web DevelopmentHTML CSS and Web Development
HTML CSS and Web Development
 
Introduction to Angularjs
Introduction to AngularjsIntroduction to Angularjs
Introduction to Angularjs
 
Konsep View dan Blade dalam Laravel (Pemrograman Web II)
Konsep View dan Blade dalam Laravel (Pemrograman Web II)Konsep View dan Blade dalam Laravel (Pemrograman Web II)
Konsep View dan Blade dalam Laravel (Pemrograman Web II)
 
13 Java Script - Validação de formulário
13 Java Script  - Validação de formulário13 Java Script  - Validação de formulário
13 Java Script - Validação de formulário
 
java Servlet technology
java Servlet technologyjava Servlet technology
java Servlet technology
 
React js - The Core Concepts
React js - The Core ConceptsReact js - The Core Concepts
React js - The Core Concepts
 
Loops PHP 04
Loops PHP 04Loops PHP 04
Loops PHP 04
 
Basic Details of HTML and CSS.pdf
Basic Details of HTML and CSS.pdfBasic Details of HTML and CSS.pdf
Basic Details of HTML and CSS.pdf
 
An introduction to React.js
An introduction to React.jsAn introduction to React.js
An introduction to React.js
 
Webinar: Front End Web Development - Trendy Web Designs Using HTML5
Webinar: Front End Web Development - Trendy Web Designs Using HTML5Webinar: Front End Web Development - Trendy Web Designs Using HTML5
Webinar: Front End Web Development - Trendy Web Designs Using HTML5
 
Java Script ppt
Java Script pptJava Script ppt
Java Script ppt
 

Viewers also liked (12)

ZK framework
ZK frameworkZK framework
ZK framework
 
Huong dan dung index_oracle
Huong dan dung index_oracleHuong dan dung index_oracle
Huong dan dung index_oracle
 
Tema 2 implementar el demo zk
Tema 2   implementar el demo zkTema 2   implementar el demo zk
Tema 2 implementar el demo zk
 
Tema 1 mi primera aplicacion zk con netbeans y rem
Tema 1   mi primera aplicacion zk con netbeans y remTema 1   mi primera aplicacion zk con netbeans y rem
Tema 1 mi primera aplicacion zk con netbeans y rem
 
Design Patterns in ZK: Java MVVM as Model-View-Binder
Design Patterns in ZK: Java MVVM as Model-View-BinderDesign Patterns in ZK: Java MVVM as Model-View-Binder
Design Patterns in ZK: Java MVVM as Model-View-Binder
 
Errors, Error Detection, and Error Control
Errors, Error Detection, and Error ControlErrors, Error Detection, and Error Control
Errors, Error Detection, and Error Control
 
jQuery Presentation
jQuery PresentationjQuery Presentation
jQuery Presentation
 
Java Server Faces (JSF) - Basics
Java Server Faces (JSF) - BasicsJava Server Faces (JSF) - Basics
Java Server Faces (JSF) - Basics
 
ZK MVVM, Spring & JPA On Two PaaS Clouds
ZK MVVM, Spring & JPA On Two PaaS CloudsZK MVVM, Spring & JPA On Two PaaS Clouds
ZK MVVM, Spring & JPA On Two PaaS Clouds
 
Bootstrap ppt
Bootstrap pptBootstrap ppt
Bootstrap ppt
 
Evaluación de ZK
Evaluación de ZKEvaluación de ZK
Evaluación de ZK
 
Introduction to Bootstrap
Introduction to BootstrapIntroduction to Bootstrap
Introduction to Bootstrap
 

Similar to Giới thiệu zk framework

SEOWAP - Tài liệu SEO cho Mobile - Tuấn Hà
SEOWAP - Tài liệu SEO cho Mobile - Tuấn HàSEOWAP - Tài liệu SEO cho Mobile - Tuấn Hà
SEOWAP - Tài liệu SEO cho Mobile - Tuấn Hà
Nguyễn Duy Nhân
 

Similar to Giới thiệu zk framework (20)

Thuyet trinh java fx
Thuyet trinh java fxThuyet trinh java fx
Thuyet trinh java fx
 
Java fx
Java fxJava fx
Java fx
 
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
Ứng dụng từ điển cho SmartPhone từ Framework PhoneGap trên nền tảng Android
 
Silverlight chapter 1
Silverlight chapter 1Silverlight chapter 1
Silverlight chapter 1
 
Tìm đường trên di động (PhoneGap)
Tìm đường trên di động (PhoneGap)Tìm đường trên di động (PhoneGap)
Tìm đường trên di động (PhoneGap)
 
Bai08 10 java_fx
Bai08 10 java_fxBai08 10 java_fx
Bai08 10 java_fx
 
Seowap
SeowapSeowap
Seowap
 
Gioi thieu ve_java
Gioi thieu ve_javaGioi thieu ve_java
Gioi thieu ve_java
 
gioi thieu ve java
gioi thieu ve javagioi thieu ve java
gioi thieu ve java
 
Sof301 slide1
Sof301   slide1Sof301   slide1
Sof301 slide1
 
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015
 
jquery.pdf
jquery.pdfjquery.pdf
jquery.pdf
 
J query
J queryJ query
J query
 
Arrowjs.io
Arrowjs.ioArrowjs.io
Arrowjs.io
 
Giao Trinh Jquery
Giao Trinh JqueryGiao Trinh Jquery
Giao Trinh Jquery
 
Giới thiệu Nuxt.js
Giới thiệu Nuxt.jsGiới thiệu Nuxt.js
Giới thiệu Nuxt.js
 
Giới thiệu Overview về AngularJS, Yeoman
Giới thiệu Overview về AngularJS, YeomanGiới thiệu Overview về AngularJS, Yeoman
Giới thiệu Overview về AngularJS, Yeoman
 
Nodejs Introduction
Nodejs IntroductionNodejs Introduction
Nodejs Introduction
 
Sử dụng dịch vụ điện toán đám mây
Sử dụng dịch vụ điện toán đám mâySử dụng dịch vụ điện toán đám mây
Sử dụng dịch vụ điện toán đám mây
 
SEOWAP - Tài liệu SEO cho Mobile - Tuấn Hà
SEOWAP - Tài liệu SEO cho Mobile - Tuấn HàSEOWAP - Tài liệu SEO cho Mobile - Tuấn Hà
SEOWAP - Tài liệu SEO cho Mobile - Tuấn Hà
 

Recently uploaded

BOSCH FBX-1000 Bộ chống hú Bosch FBX-1000
BOSCH FBX-1000 Bộ chống hú Bosch FBX-1000BOSCH FBX-1000 Bộ chống hú Bosch FBX-1000
BOSCH FBX-1000 Bộ chống hú Bosch FBX-1000
support03
 

Recently uploaded (8)

Khoá luận tốt nghiệp Công nghệ sinh học Nghiên cứu tuyển chọn chủng vi sinh v...
Khoá luận tốt nghiệp Công nghệ sinh học Nghiên cứu tuyển chọn chủng vi sinh v...Khoá luận tốt nghiệp Công nghệ sinh học Nghiên cứu tuyển chọn chủng vi sinh v...
Khoá luận tốt nghiệp Công nghệ sinh học Nghiên cứu tuyển chọn chủng vi sinh v...
 
Khóa luận tốt nghiệp Công nghệ kỹ thuật hóa học Xây dựng phương pháp định lượ...
Khóa luận tốt nghiệp Công nghệ kỹ thuật hóa học Xây dựng phương pháp định lượ...Khóa luận tốt nghiệp Công nghệ kỹ thuật hóa học Xây dựng phương pháp định lượ...
Khóa luận tốt nghiệp Công nghệ kỹ thuật hóa học Xây dựng phương pháp định lượ...
 
Khóa luận tốt nghiệp Công tác Quản trị Văn phòng tại Công ty than Khe Chàm
Khóa luận tốt nghiệp Công tác Quản trị Văn phòng tại Công ty than Khe ChàmKhóa luận tốt nghiệp Công tác Quản trị Văn phòng tại Công ty than Khe Chàm
Khóa luận tốt nghiệp Công tác Quản trị Văn phòng tại Công ty than Khe Chàm
 
Tín hiệu xếp hạng trên Google là những gì.pdf
Tín hiệu xếp hạng trên Google là những gì.pdfTín hiệu xếp hạng trên Google là những gì.pdf
Tín hiệu xếp hạng trên Google là những gì.pdf
 
BT quy hoạch tuyến tính (có lời giải chi tiết)
BT quy hoạch tuyến tính (có lời giải chi tiết)BT quy hoạch tuyến tính (có lời giải chi tiết)
BT quy hoạch tuyến tính (có lời giải chi tiết)
 
BOSCH FBX-1000 Bộ chống hú Bosch FBX-1000
BOSCH FBX-1000 Bộ chống hú Bosch FBX-1000BOSCH FBX-1000 Bộ chống hú Bosch FBX-1000
BOSCH FBX-1000 Bộ chống hú Bosch FBX-1000
 
Google E-E-A-T là gì? Yếu tố giúp Google đánh giá website của bạn
Google E-E-A-T là gì? Yếu tố giúp Google đánh giá website của bạnGoogle E-E-A-T là gì? Yếu tố giúp Google đánh giá website của bạn
Google E-E-A-T là gì? Yếu tố giúp Google đánh giá website của bạn
 
Checklist SEO để tối ưu website mà bạn cần biết.pdf
Checklist SEO để tối ưu website mà bạn cần biết.pdfChecklist SEO để tối ưu website mà bạn cần biết.pdf
Checklist SEO để tối ưu website mà bạn cần biết.pdf
 

Giới thiệu zk framework

  • 1. GiỚI THIỆU ZK FRAMEWORK RIKKEISOFT 05/31/2016 TichNV © Copyright 2016 Rikkeisoft
  • 2. Outline 1. Giới thiệu về ZK FrameWork 2. Mô hình kiến trúc ZK FrameWork 3. Tại sao nên dùng ZK FrameWork 4. Cài đặt môi trường phát triển ZK FrameWork 5. Cấu trúc 1 project ZK 6. Tạo Demo sử dụng ZK framework © Copyright 2016 Rikkeisoft
  • 3. Giới thiệu về ZK FrameWork • ZK là một event-driven, component-based framework Hỗ trợ tạo nhiều giao diện cho ứng dụng Web. ZK bao gồm AJAX-based và event-driven engine(điều khiển sự kiện), là sự thiết lập của một bộ các thành phần XUL, XHTML, và một ngôn ngữ ZUML (ZK User Interface Markup Language). © Copyright 2016 Rikkeisoft
  • 4. Mô hình kiến trúc ZK FrameWork • Khi truy cập một trang ứng dụng ZK ,ZK sẽ tạo ra các components trong ZUL và hiển thị trên trình duyệt. • Khi thao tác với các components thì sẽ được gọi đến các xử lý của controller được khai báo trong ZUL sau đó tất cả những thay đổi sẽ được trả về trình duyệt . © Copyright 2016 Rikkeisoft
  • 5. Mô hình kiến trúc ZK FrameWork • ZK không đòi hỏi hay yêu cầu bất kỳ kĩ thuật nào là nền tảng(back-end) cả. Nó có thể được sử dụng chung với các midleware JDBC, Hibernate, EJB or JMS. © Copyright 2016 Rikkeisoft
  • 6. Tại sao nên dùng ZK FrameWork • Với ZK bạn có thể trình bày những ứng dụng sử dụng những chức năng của các thành phần XUL và XHTML. Hỗ trợ tạo một giao diện như một desktop application, sự vận dụng này giúp tránh lỗi cho người sử dụng. • ZK hỗ trợ ngôn ngữ markup languages là ZUML, ZUML giống như XHTML cho phép người phát triển thiết kế giao diện người dùng mà không cần biết nhiều kiến thức về lập trình giao diện. • ZK framework là một framework mã nguồn mở Java mạnh mẽ chuyên dùng để phát triển các ứng dụng web và ứng dụng mobile. Java Web Framework này rất thích hợp để phát triển các ứng dụng web hiện đại cần xử lý Ajax nhiều, hỗ trợ công nghệ responsive và hỗ trợ cả nền tảng mobile. Ngoài Java, ZK Framework còn được xây dựng trên các công nghệ mở khác như jQuery và Bootstrap rất quen thuộc với giới lập trình viên. © Copyright 2016 Rikkeisoft
  • 7. Môi trường phát triển ZK FrameWork cần có • JDK • Eclipse IDE for Java EE Developer • Web Server Apache Tomcat • Cài đặt ZK Studio • Tham khảo tại cài đặt môi trường và tạo project sử dụng ZK framework tại : https://www.zkoss.org/wiki/ZK_Installation_Guide/Quick_Start/Create_and_Run_Y our_First_ZK_Application_with_Eclipse_and_Maven © Copyright 2016 Rikkeisoft
  • 8. Cấu trúc 1 project ZK © Copyright 2016 Rikkeisoft
  • 9. Tạo Demo sử dụng ZK framework © Copyright 2016 Rikkeisoft 1. Tạo project DemoZK 2. Tạo layout cho DemoZK carLayout.zull” 3. Tạo trang tìm kiếm và hiển thị danh sách “searchCar.zul” 4. Tạo Entity Car.java 5. Tạo CarService.java và CarServiceImpl.java 6. Tạo SearchCarController.java
  • 10. Tạo project DemoZK • Tham khảo cách tạo project tại https://www.zkoss.org/wiki/ZK_Studio_Essentials/Begin_Your_First_ZK_Projec t/Create_a_New_ZK_Maven_Project • Sau khi tạo xong project có cấu trúc sau. © Copyright 2016 Rikkeisoft
  • 11. Tạo layout cho DemoZK carLayout.zull • Cấu trúc một layout của ZK © Copyright 2016 Rikkeisoft
  • 12. Tạo layout(tt) • Tạo trang index.zul © Copyright 2016 Rikkeisoft
  • 13. Tạo layout(tt) • Tạo trang banner.zul © Copyright 2016 Rikkeisoft
  • 14. Tạo layout(tt) • Tạo trang sidebar.zul © Copyright 2016 Rikkeisoft
  • 15. Tạo layout(tt) • Tạo trang footer.zul © Copyright 2016 Rikkeisoft
  • 16. Tạo layout(tt) • index.zul © Copyright 2016 Rikkeisoft
  • 17. Tạo trang tìm kiếm searchCar.zul © Copyright 2016 Rikkeisoft
  • 18. • Xác định controller xử lý • <window title="Search" width="1000px" border="normal" apply="demo.controller.SearchCarController"> • Textbox • Listbox • Button • Label Tạo trang tìm kiếm searchCar.zul(tt) © Copyright 2016 Rikkeisoft
  • 19. Ai cũng biết khỏi nói nhỉ ,xem code vậy. Tạo Entity ,Service,ServiceImpl © Copyright 2016 Rikkeisoft
  • 20. • Tạo class SearchCarController kế thừa SelectorComposer<Component> public class SearchCarController extends SelectorComposer<Component> {…} • Wire Components: • @Wire • private Textbox keywordBox; • @Wire • private Listbox carListbox; • @Wire • private Label modelLabel; Tạo SearchCarController.java © Copyright 2016 Rikkeisoft
  • 21. • Listen to Component Events: @Listen("onClick = #searchButton") public void search(){ ... } @Listen("onSelect = #carListbox") public void showDetail(){ … } • Cú pháp chung: @Listen( [EVENT_NAME] = #[COMPONENT_ID]) public void hamXuLY(){ … } Tạo SearchCarController.java(tt) © Copyright 2016 Rikkeisoft
  • 22. • Sơ đồ hoạt động theo mô hình MVC Tạo SearchCarController.java © Copyright 2016 Rikkeisoft
  • 23. Demo source © Copyright 2016 Rikkeisoft