Làm quen với ZK framework

Bài viết được sự cho phép của smartjob.vn

Chào các bạn! Trong bài viết này, chúng tôi giới thiệu một framework xây dựng ứng dụng doanh nghiệp là ZK framework. Điều kiện ban đầu: bạn đã nắm vững Java core, từng xây dựng ứng dụng web sử dụng Servlet, JSP. Có thể bạn đã rất thành thạo Apache Struts phiên bản 1 hoặc 2, có thể bạn đã từng xây dựng ứng dụng Rich Internet Application sử dụng GWT (Google Web Toolkit) hay Vaadin, v.v.. Nếu bạn chưa từng nghe đến hoặc chưa từng sử dụng ZK, bài viết này là dành cho bạn.

  10 Java Web Framework tốt nhất
  .NET core vs ASP.NET core: Phân biệt .NET Framework, .NET Core và Mono

Xem thêm tuyển dụng Product Owner lương cao trên TopDev

Giới thiệu ZK Framework

ZK framework được phát triển bởi Potix Đài Loan cùng với cộng đồng lập trình viên mã nguồn mở. Triết lý của ZK là AJAX without Javascript, tức là lập trình viên Java server-side không cần quá tinh thông Javascript để tạo ra một ứng dụng web Java hoàn tất. Đặc trưng công nghệ của ZK framework là server-centric (các xử lý tập trung ở phía server-side). Điều này khác với triết lý công nghệ của nhóm bộ tam: GWT, Vaadin và ExtJS là client-centric (các xử lý tập trung ở phía client).

ZK có vài phiên bản khác nhau miễn phí và có trả phí. Mã nguồn của ZK là mã nguồn mở, bạn có thể xem, thậm chí là đóng góp (commit) vào mã nguồn của ZK thông qua GitHub. Phiên bản mới nhất hiện nay là ZK framework 8.x, với nhiều cải tiến về giao diện (bóng bẩy hơn), hiệu suất (performance) cao hơn. Có nhiều tiện ích hỗ trợ các component (hợp phần, mô đun) tiêu chuẩn như ZK Spreadsheet: bảng tính, ZK charts: Hỗ trợ rất nhiều loại biểu đồ trực quan. Ngoài ra các componet rất hay được sử dụng là ZK Calendar giúp xây dựng bảng chấm công, lịch trình, thời gian biểu. Có ZK Pivottable giúp hiển thị tập dữ liệu phức tạp, kích thước lớn.

Nói về tài liệu tra cứu, các ví dụ minh họa trực quan kèm mã nguồn rất phong phú. ZK giúp lập trình viên Java server-side xây dựng ứng dụng doanh nghiệp nhanh dạng Rich Internet Application. Bạn có thể xây dựng ứng dụng theo design pattern là MVVM hoặc MVC đều được.

Chúng ta bắt đầu:

1. Bạn cài đặt JDK, Maven (xem hướng dẫn cài đặt: https://maven.apache.org/install.html ). Tôi kiểm tra môi trường như sau: Nếu gõ

ra kết quả, nghĩa là đã cài đặt môi trường phát triển và thiết lập biến môi trường Java đúng.
Nếu gõ

ra kết quả, nghĩa là đã cài đặt Maven và thiết lập biến môi trường thành công.

Kiểm tra biến môi trường Java, Maven

Kiểm tra biến môi trường Java, Maven

2. Khởi tạo project

Truy cập https://github.com/zkoss/zkessentials để tải về project khung (source base) do chính đội phát triển ZK xây dựng. (Đây là nguồn chính thống). Bấm tải về dạng zip, hoặc đơn giản, bạn dán đường link sau vào thanh địa chỉ trình duyệt web để tải về: https://github.com/zkoss/zkessentials/archive/master.zip

Giải nén tập tin zip. Giả sử trên ZK source base được giải nén tại

3. Lập trình với ZK framework

Tìm tập tin main.zul . Ví dụ đường dẫn trên máy tôi là:

Sửa lại nội dung file main.zul . Mục đích: Bạn sẽ thay thế hình ảnh sẵn có bằng 1 label, Chèn thêm 1 nút bấm, khi bấm vào nút này, ZK gọi sự kiện (event), rồi hiện ra một thông báo dạng Message box.

Gọi tiện ích cmd, gõ

để chuyển đến thư mục chứa mã nguồn ZK (Lệnh cd: change directory)

zk_framework_change_directory

Chờ 1-2 phút để maven tải về toàn bộ dependencies (thư viện) cần thiết, máy chủ (nhúng) Jetty khởi chạy. Mở trình duyệt web, gõ

Gõ vào đường link dài trong web page để gọi ứng dụng:

zk_framework_jetty

Kết quả là:

zk_framework_run_success

Done! Bạn không phải là một nhà khoa học tên lửa, nhưng ứng dụng ZK đầu tiên đã hoạt động. It works like a charm!

zk_successful_like_a_charm

Việc làm tiếp theo:

4. Tải về và cài đặt ZK studio tại https://www.zkoss.org/product/zkstudio

5. Import project trên vào ZK Studio (ZK studio là phiên bản customize từ Eclipse IDE).

chọn menu File\Import project, chọn Loại import từ existing Maven project bạn nhé.

zk_framework_import

6. Tra cứu tài liệu Hướng dẫn sử dụng, thực hành theo các ví dụ mẫu
https://www.zkoss.org/zkdemo/grid?zkn=1 để khám phá ZK.

Đỗ Như Vý – developer tại SmartJob

Bài viết gốc được đăng tải tại smartjob.vn

Có thể bạn quan tâm:

Xem thêm tuyển dụng CNTT hấp dẫn trên TopDev