Jooby framework làm đơn giản hóa quá trình xây dựng ứng dụng web bằng Java

Ngoc Huynh

Jooby framework mang đến lập trình stateless (tức là: sau khi client gửi dữ liệu lên server, server thực thi xong, trả kết quả thì “quan hệ” giữa client và server bị “cắt đứt” – server không lưu bất cứ dữ liệu gì của client) và theo mô đun để mà dễ dàng mở rộng, và đặc biệt là rất đơn giản.

Khi nhắc đến lập trình Web, thì chúng ta đều biết rằng Ruby có Sinatra framework, Node.js có Express.js. Và bây giờ Java có Jooby framework.

Được tạo ra bởi nhà phát triển Edgar Espina, Jooby mang đến lập trình theo mô đun và stateless có trên các máy chủ NIO (non-blocking IO) bao gồm Netty, Jetty, hay Undertow.

Mục đích chính của Jooby là tính đơn giản. “Mặc dù Java là một ngôn ngữ lập trình dễ học và đơn giản, nhưng việc xây dựng các ứng dụng Web bằng Java thì luôn là một thách thức,” ông Espina cho hay. “Cộng đồng Java đã có nhiều nỗ lực để làm đơn giản quá trình lập trình các ứng dụng Web…Mặc dù vậy, nỗ lực xây dựng một ứng dụng Web bằng Java thì cấp thiết hơn so với Ruby hay Node. Jooby được tạo ra để lấp đầy khoảng cách đó và làm đơn giản hóa lập trình Web trong Java bằng cách cung cấp một web framework siêu nhỏ, dễ học và đơn giản.”

Đặc điểm quan trọng của Jooby là các mô đun, được xây dựng nhằm mục đích trưng ra (expose) chức năng của một thư viện bên ngoài (external library). “Chúng ta phải thực hiện nhiều bước để khởi động (bootstrap) và thiết lập cấu hình cho external library, nhưng chúng không mang tới một level mới của abstraction (trừu tượng hóa) cũng như cung cấp một API tùy chỉnh để truy cập chức năng trong thư viện đó. Thay vào đó chúng trưng ra các library component (thành phần của thư viện),” Espina cho biết. “Đây là một sự khác biệt lớn so với các web framework khác của Java.”

Jooby mang đến tính mặc định dành cho các khía cạnh riêng của các ứng dụng chẳng hạn như truy cập cơ sở dữ liệu (database access), sự xác nhận, các session, template engine, và email. Điều này sẽ làm cho các lập trình viên dễ dàng sử dụng. Người dùng có thể phối hợp các mô đun khi cần thiết và thậm chí là có thể viết mô hình tích hợp của riêng mình.

Việc phát triển ứng dụng theo stateless bằng Jooby sẽ cho phép mở rộng ứng dụng mà không cần phải tốn nhiều công sức, đặc biệt nếu các lập trình viên xây dựng REST APIs với xác nhận header/JWT (JSON Web Token). Tuy nhiên đối với một số trường hợp cần lưu lại thông tin người dùng, thì các nhà phát triển có thể sử dụng HTTP Session.

Jooby nhấn mạnh HTTP session trên bộ nhớ, nhưng các lập trình viên có thể lựa chọn các back end khác, chẳng hạn như Redis, HazelCast và MongoDB. HTTP session được thiết kế nhỏ và buộc các lập trình viên phải suy nghĩ cẩn thận về những gì sử dụng, do chỉ cho phép kiểu dữ liệu primitives và strings (chuỗi).

Framework này có hai kiểu lập trình. Một là kiểu lập trình kịch bản (script programming), trong đó các lập trình viên định rõ và viết một ứng dụng vào một single file. Đối với các ứng dụng phức tạp và lớn, thì Jooby hỗ trợ MVC. “Tại đây, bạn có thể chia ứng dụng của bạn thành các lớp (layer) và tạo ra một hay nhiều controller class (lớp điều khiển),” ông Espina nói.

Phiên bản 1.0.0 của Jooby sẽ được tung ra vào đầu năm nay. Sẽ hướng đến Java 8 hoặc cao hơn, Jooby cũng sẽ làm việc với Project Nashorn để mà mở rộng Jooby sang JavaScript.

Chia sẻ bài viết ngay

Nguồn bài viết : http://www.infoworld.com/