giới thiệu zk framework
TRANSCRIPT
![Page 1: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/1.jpg)
GiỚI THIỆU ZK FRAMEWORK
RIKKEISOFT
05/31/2016TichNV
© Copyright 2016 Rikkeisoft
![Page 2: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/2.jpg)
Outline1. Giới thiệu về ZK FrameWork2. Mô hình kiến trúc ZK FrameWork3. Tại sao nên dùng ZK FrameWork4. Cài đặt môi trường phát triển ZK FrameWork5. Cấu trúc 1 project ZK6. Tạo Demo sử dụng ZK framework
© Copyright 2016 Rikkeisoft
![Page 3: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/3.jpg)
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
![Page 4: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/4.jpg)
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
![Page 5: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/5.jpg)
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
![Page 6: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/6.jpg)
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
![Page 7: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/7.jpg)
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_Your_First_ZK_Application_with_Eclipse_and_Maven
© Copyright 2016 Rikkeisoft
![Page 8: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/8.jpg)
Cấu trúc 1 project ZK
© Copyright 2016 Rikkeisoft
![Page 9: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/9.jpg)
Tạo Demo sử dụng ZK framework
© Copyright 2016 Rikkeisoft
1. Tạo project DemoZK2. 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.java5. Tạo CarService.java và CarServiceImpl.java6. Tạo SearchCarController.java
![Page 10: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/10.jpg)
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_Project/Create_a_New_ZK_Maven_Project
• Sau khi tạo xong project có cấu trúc sau.
© Copyright 2016 Rikkeisoft
![Page 11: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/11.jpg)
Tạo layout cho DemoZK carLayout.zull
• Cấu trúc một layout của ZK
© Copyright 2016 Rikkeisoft
![Page 12: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/12.jpg)
Tạo layout(tt)• Tạo trang index.zul
© Copyright 2016 Rikkeisoft
![Page 13: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/13.jpg)
Tạo layout(tt)• Tạo trang banner.zul
© Copyright 2016 Rikkeisoft
![Page 14: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/14.jpg)
Tạo layout(tt)• Tạo trang sidebar.zul
© Copyright 2016 Rikkeisoft
![Page 15: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/15.jpg)
Tạo layout(tt)• Tạo trang footer.zul
© Copyright 2016 Rikkeisoft
![Page 16: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/16.jpg)
Tạo layout(tt)• index.zul
© Copyright 2016 Rikkeisoft
![Page 17: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/17.jpg)
Tạo trang tìm kiếm searchCar.zul
© Copyright 2016 Rikkeisoft
![Page 18: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/18.jpg)
• 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
![Page 19: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/19.jpg)
Ai cũng biết khỏi nói nhỉ ,xem code vậy.
Tạo Entity ,Service,ServiceImpl
© Copyright 2016 Rikkeisoft
![Page 20: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/20.jpg)
• 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
![Page 21: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/21.jpg)
• 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
![Page 22: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/22.jpg)
• Sơ đồ hoạt động theo mô hình MVC
Tạo SearchCarController.java
© Copyright 2016 Rikkeisoft
![Page 23: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/23.jpg)
Demo source
© Copyright 2016 Rikkeisoft
![Page 24: Giới thiệu zk framework](https://reader031.vdocuments.pub/reader031/viewer/2022021502/5885e88a1a28ab906d8b7841/html5/thumbnails/24.jpg)
Thank you
RIKKEISOFT
© Copyright 2016 Rikkeisoft