Chào mọi người, hôm nay tôi sẽ chia sẻ một chút kinh nghiệm thực tế của mình khi so sánh giữa Ajax và Valencia. Hai cái tên này nghe có vẻ “kêu” đấy, nhưng thực ra nó cũng chỉ là mấy công cụ để chúng ta làm web thôi.
Bắt Đầu Từ Đâu?
Ban đầu, tôi cũng như nhiều bạn, cứ nghe đến Ajax là auto nghĩ ngay đến việc tải dữ liệu mà không cần tải lại trang. Kiểu như đang lướt Facebook, kéo xuống là tin mới hiện ra ầm ầm ấy. Đấy, cái kiểu đấy là dùng Ajax.
Thực Hành Thử Với Ajax
Tôi bắt đầu thử nghiệm với Ajax. Đầu tiên, tôi tạo một file HTML đơn giản, có một cái nút bấm. Mục tiêu là khi bấm vào nút đó, nó sẽ gọi một file PHP ở server, lấy dữ liệu về rồi hiển thị lên trang mà không cần tải lại trang.
Để làm được việc đó, tôi dùng JavaScript. Tôi viết một hàm, trong đó sử dụng đối tượng XMLHttpRequest. Đại khái là thế này:
- Tạo đối tượng XMLHttpRequest.
- Mở kết nối đến file PHP (dùng phương thức GET hoặc POST).
- Gửi yêu cầu đi.
- Khi nhận được phản hồi từ server, kiểm tra xem có lỗi không.
- Nếu không lỗi, lấy dữ liệu ra rồi hiển thị lên trang.
Nghe thì có vẻ phức tạp, nhưng thực ra code cũng không quá dài. Quan trọng là bạn phải hiểu được luồng hoạt động của nó.
Gặp Valencia
Sau khi “vọc” Ajax một thời gian, tôi bắt đầu tìm hiểu thêm và thấy có cái gọi là Valencia. Nghe nói nó cũng là một thư viện JavaScript, giúp làm mấy việc liên quan đến Ajax dễ dàng hơn.
Tôi tải Valencia về, đọc tài liệu của nó. Thấy nó cung cấp sẵn mấy hàm để gửi yêu cầu, nhận phản hồi, xử lý lỗi… Nói chung là nó “bao” hết mấy cái việc lằng nhằng mà khi dùng Ajax thuần, mình phải tự code.
So Sánh Nhanh
Thế là tôi quyết định thử nghiệm Valencia luôn. Cũng với bài toán ban đầu, tôi viết lại code, nhưng lần này dùng các hàm của Valencia.
Kết quả là code ngắn gọn hơn hẳn. Mấy cái việc như tạo đối tượng XMLHttpRequest, kiểm tra trạng thái phản hồi… Valencia nó lo hết rồi. Mình chỉ cần gọi hàm của nó, truyền vào các tham số cần thiết là xong.
Kết Luận Của Tôi
Vậy là sau một hồi “vật lộn” với cả Ajax và Valencia, tôi rút ra được vài điều:
- Ajax: Nếu bạn muốn hiểu rõ bản chất, muốn tự tay “nhào nặn” từng dòng code, thì Ajax là lựa chọn tốt.
- Valencia: Còn nếu bạn muốn làm nhanh, gọn, không muốn mất thời gian vào mấy việc lặp đi lặp lại, thì Valencia là một công cụ hữu ích.
Tóm lại, tùy vào mục đích và sở thích của bạn mà chọn cái nào cho phù hợp. Với tôi, tôi thích dùng Valencia hơn vì nó giúp tôi tiết kiệm được khá nhiều thời gian. Nhưng thỉnh thoảng, tôi vẫn quay lại “vọc” Ajax để ôn lại kiến thức.
Đấy, kinh nghiệm của tôi chỉ có thế thôi. Hy vọng nó giúp ích được cho các bạn. Chúc các bạn code vui vẻ!