Bài viết này sẽ giới thiệu với các bạn về Javalin, một framework Java cực kỳ gọn nhẹ, một giải pháp tối ưu cho các website nhỏ.

Chính xác là bạn không nghe nhầm, một Web Framework Java gọn nhẹ.

Từ trước tới giờ Java vẫn bị mang định kiến là chỉ dành cho những ứng dụng đao to búa lớn hay kiểu kiểu tầm cỡ doanh nghiệp abc, xyz, đòi hỏi, bảo mật, vân vân và mây mây. Còn với những ứng dụng web nhỏ dạng blog, tin tức, hay web siêu nhỏ thì đa phần vẫn sử dụng PHP hay NodeJs.

Nhưng đến thời điểm hiện tại với sự xuất hiện thầm lặng không ồn ào của Javalin, mình thật sự ấn tượng và phải thay đổi suy nghĩ về sự ứng dụng của Java cho việc làm web kích cỡ nhỏ. Các bạn tham khảo thêm tại: https://javalin.io

1. Javalin có những ưu điểm gì ?

Đơn giản - Gọn nhẹ:

Không giống như những Web Framework Java khác như: Struts, Spring, EJB, ... vốn đòi hỏi lập trình viên phải nhớ hàng tá thứ khái niệm của Framework đó mới có thể vận dụng được chính xác, đồng thời bản thân những Framework đó cũng không hề nhẹ nhàng chút nào, bạn phải download hàng tá gói Jar thư viện import vào môi trường local, tuy nhiên nhờ sự hỗ trợ của các trình hỗ trợ build như Gradle, Maven thì công việc cũng nhẹ nhàng đi phần nào. Nhưng khi đến giai đoạn deploy thì mới thấy được ác mộng thật sự, bạn đóng gói ứng dụng của mình thành gói War và phải cài đặt 1 Application Server (trừ Spring Boot có sẵn embedded server) như Apache Tomcat, GlassFish, JBoss Wild Fly, ...

Javalin thật sự gọn nhẹ từ thư viện development tốn ít bộ nhớ, cho đến việc đóng gói ra gói Jar không cần cài đặt  Application Server nào cả, vì bản thân Javalin đã có bên trong nó 1 embedded Jety Server, 1 Application Server nổi tiếng với hiệu suất cao và chiếm dụng ít bộ nhớ khi hoạt động.

Những ai đang sử dụng Javalin:

Javalin không hề được giấu kín kẽ mà trái lại còn được biết đến và ứng dụng bởi rất nhiều ông lớn trong ngành Công Nghệ, có thể kể ra những cái tên sau đây: Microsoft, RedHat, Datawire, Virgil Security, ...

2. Khi nào thì nên ứng dụng Javalin:

Nhìn chung những ứng dụng của Javalin có những đặc điểm sau:

  • Làm Server Rest API.
  • Ứng dụng có kích cỡ dưới 1k line of code
  • Khoảng dưới 1k user hàng ngày
  • Nhân lực dự án từ 1 - 2 người.

Tham khảo thêm bản khảo sát  được đăng tải trên website chính thức của Javalin: https://javalin.io/blog/javalin-user-survey-2018

Vậy nhìn chung có thể thấy rằng Javalin thích hợp cho những ứng dụng có kích thước nhỏ, có số lượt truy cập người dùng ít, dùng nhiều trên môi trường Testing. Javalin sẽ phù hợp với bạn nếu bạn cần một nền tảng có thể triển khai nhanh ý tưởng mới hoặc làm thử nghiệm sản phẩm, bạn sẽ không tốn nhiều chi phí cho Server, nhân lực, hoặc đơn giản bạn cần 1 ứng dụng chỉ xử lý những business cực kỳ đơn giản, như cổng tiếp nhận thông tin và đăng thông báo chẳng hạn.

2. Sample Code

Để bắt đầu 1 ứng dụng Javalin, bạn chỉ cần import thư viện của Javalin vào:

Maven:

<dependency>
  <groupId>io.javalin</groupId>
  <artifactId>javalin</artifactId>
  <version>2.8.0</version>
</dependency>

Gradle:

// https://mvnrepository.com/artifact/javelin/javelin
compile group: 'javelin', name: 'javelin', version: '3.8.1'
import io.javalin.Javalin;

public class HelloWorld {
    public static void main(String[] args) {
        Javalin app = Javalin.create().start(7000);
        app.get("/", ctx -> ctx.result("Hello World"));
    }
}

Start ứng dụng Javalin cũng đơn giản như start 1 gói Jar Java Application bình thường, ngay lập tức chúng ta sẽ có ngay 1 web app server. Đoạn code khai báo trên đơn giản trả về cho chúng ta dòng text "Hello World" khi truy cập vào đường dẫn root "/". Trong các bài viết tiếp theo, thecoderoot sẽ hướng dẫn các bạn làm 1 số ứng dụng thực tiễn với Javalin.

3. Tổng kết

Bản thân là một lập trình viên Java, tôi cảm thấy vui mừng khi được hỗ trợ thêm 1 công cụ để phục vụ đắc lực cho công việc, tuy nhiên Java có thể thay thế được PHP, NodeJs, hay những ngôn ngữ web khác hay không thì thời gian và chính những lập trình viên sẽ cho ra được câu trả lời thông qua những công việc hàng ngày.

 

Quy luật sinh tồn đã chỉ ra rất rõ ràng, không có gì bền vững mãi với thời gian, điều đó lại càng đúng với thế giới phần mềm khắc nghiệt nơi mà mọi thứ thay đổi với tốc độ chóng mặt. Vậy nên bản thân là những lập trình viên chúng ta nên mỗi ngày tiếp thu cho mình những kiến thức mới hữu ích, liên tục cập nhật và củng cố kiến thức chuyên môn nhưng cũng đồng thời xác định được cho mình 1 hướng đi cụ thể, rõ ràng cho riêng mình để không bị cuốn vào vòng xoáy vô tận của những Framework, công nghệ mới. Quan trọng nhất vẫn là những sản phẩm chúng ta phải thật sự là những sản phẩm chất lượng, hữu ích, mang lại được giá trị thật sự cho người dùng.

Chúc các bạn thành công.

AutoCode.VN

minhnhatict@gmail.com Javalin