Frameworks nào sẽ thay thế Struts

Apache Struts là một Java web application framework được đánh giá là dùng nhiều nhất( cho đến nay). Tuy nhiên, sự phát triển đến hôm nay thì nó đã quá lỗi thời. Có một vài lựa chọn cho sự thay đổi, nhưng cuộc tranh chấp này vẫn chưa ngả ngũ! Bạn thì cho rằng cái nào xứng đáng? Bạn sẽ dùng framework nào nếu bạn làm một Java web application?

Rich interfaces, AJAX hay RIA, cái nào sẽ chiến thắng và trở thành công nghệ web được dùng nhiều nhất. Dĩ nhiên, Java là sự lựa chọn ở mặt server. Một số kết hợp giữa AJAX với Java Server Faces (JSF), một generation web framework mới của Java. Một số thì dùng thư viện Java remoting, nguồn mở và thương mại, để gọi JavaScript và ActionScript từ server xuống.



Ta có thể dùng một trong các frameworks như Apache Shale kết hợp với JSF. Hay ta sẽ dùng JavaScript gọi đến Servlets ở tầng web application. Hay dùng một framework cho tất cả - như JBoss Seam.



Về phía Sun thì có giới thiệu 3 công nghệ, và họ cũng chẳng có một lời khuyên nào cho ta. . Hãy xem với tôi nhé:

1. JSF - server side component dựa trên Servlets và JSF model

2. Swing – Dựa trên giải pháp VM trên web. Đã được dùng hơn 10 năm và giờ thì đã lạc hậu. Như Swing Application Framework được dùng như một vị cứu tinh cho Swing, tôi cũng không nghĩ rằng nó sẽ bị bỏ rơi.

3. JavaFX – Đây là một sự lựa chọn mới. Và có thể là một câu trả lời cho rich web frameworks dùng cho mobile, web hay những interface khác. Thời gian sẽ cho ta biết cái nào sẽ thích hợp với nó. Theo tôi thì Sun thích developers phải làm nhiều điều hơn.

Chúng ta đã có những thông tin cần thiết hay những quan điểm khó hiều từ phía Sun, web application nào sẽ được lựa chọn. Theo tôi thì Swing là cái đầu tiên bị loại (công nghệ có thể tốt, nhưng có quá nhiều đều phải làm khi có sự thay đổi) và JavaFX mới chỉ là một lời hứa về kịch bản và có thể chỉ hiện thực sau một khoảng thời gian dài. Vì vậy, chỉ còn lại JSF. JSF cũng có một số vấn đề, nhưng hữu dụng khi dùng cho với các frameworks như Seam và kể cả các AJAX components như ICEfaces có thể là một sự lựa chọn tốt. Xa hơn, với các frameworks giống như Seam, bạn sẽ không cực khổ khi dùng JSF với các JavaScript applications (như DojoToolkit) hay Adobe Flex cho tầng server side.



Trước khi giải thích vì sao tôi dùng Seam, còn có 2 lựa chọn – là web framework của Spring và Google Web Toolkit. Spring là một sự lựa chọn tốt nếu bạn đã từng dùng, và mọi người trong team của bạn đã biết về spring framework. Tuy nhiên, Spring lệnh so với chuẩn JavaEE và tôi cũng đề nghị là nên gắn thành chuẩn. Tuyệt vời khi Seam có thể làm việc với Spring và Spring beans có thể dùng với Seam components. Google Web Toolkit dịch code sang JavaScript, và phù hợp với sự lựa chọn. Tuy nhiên, nó chưa phải là một web framework hoàn chỉnh, ta cũng có thể kết hợp với Seam. Đó cũng là lý do mà Seam là một framework tốt.

Nhưng đó chỉ là một ý của riêng tôi, còn bạn thì sao? hãy cho tôi biết trong comment.

Cao Trong Hien

,

4 Responses to "Frameworks nào sẽ thay thế Struts"

09:22 1 tháng 7, 2008
Theo a những người mới học framework như em thì nên chọn framework nào!Em đang phân vân giữa 2 framework là struts và jsf!
IDE e đang dùng là NetBeans!

Còn framework nào sẽ thay thế struts ,e cũng chưa biết gì về framework nhiều lắm nhưng em dự đoán chắc là JSF vì nó được support trực tiếp từ Sun!(hihi câu trả lời còn phụ thuộc vào time,mặc dù hiện tại e thấy cộng đồng Struts nhiều hơn)
Em nghĩ kết cục của nó cũng tương tự như NetBeans và Eclipse

Thanks 4 feedback
09:55 2 tháng 7, 2008
Quan trọng nhất là nền tản bạn ạ. Hãy nắm vững jsp/servlet, vì mọi frameworks đều implements từ nó. Khi bạn đã vững, thì việc tìm hiểu các frameworks khác rất dễ dàng, bạn có thể chọn một framework nào đó để học. Tương lai sẽ còn nhiều thứ ra đời lắm.
JavaEasy said :
15:54 3 tháng 9, 2008
Đúng là mọi thứ của framework web dựa Java điều extends từ Servlet. Một Java beginner thì phải nói rằng nắm vững ve khái niệm OOP là một quá trình vừa làm vừa học (Practices). Khi nắm vững được OOP Và MVC đó là điều kiện để bạn có thể thâm nhập vào các framework base on Java. Điều quan trọng nhất là chính bản thân mỗi developer phải tìm cho được con đường của mình.
Do said :
11:18 26 tháng 2, 2009
SEAM có lẽ là framework của tương lai gần, vì nó tích hợp rất nhiều framework vào trong nó ( JSF, Hibernate, EJB3 , ... )

Nhưng việc tích hợp quá nhiều fw vào như thế cũng đưa đến một hệ quả , đó là fw quá lớn, những ai tiếp cận, nghiên cứu nó sẽ không thể trong thời gian ngắn điều khiển được cách hoạt động của SEAM, những ai expert sẽ rất dễ điều khiển SEAM, còn những ai chưa đủ tầm, sẽ bị SEAM điều khiển ( không tận dụng được hết sức mạnh của FW, app nặng nề, thời gian debug để nó chạy được mất nhiều hơn là thời gian viết code xử lý bussiness.

Đấy là những kinh nghiệm của mình khi tiếp cận với SEAM, nhưng càng làm việc với nó, mình càng thấy nó rộng lớn.

Đăng nhận xét